作者回复: 在实际生产过程中,很多情况是需要这样处理的。避免阻塞IO线程。
作者回复: 先把课后思考题完成了
作者回复: 准确的说,应该是实现定义好接口,服务端和客户端都需要使用这个接口;
作者回复: 大致的要求就是:
可用性:不能因为某个节点故障导致注册中心不可以;
数据一致性:能保证顺序一致性一般就可以满足需求了。
性能:server节点状态变更后,能尽快更新。
另外,大规模集群情况下,需要考虑业务系统上下线时,注册中心的性能问题。比如:一个几千个节点的微服务上线,会重启几千个Server节点,这时候注册中心需要更新大量的数据。
作者回复: 这个问题在我们的demo中并没有解决。实际在生产环境中,有些注册中心会定期检查服务端的状态,但是即使这样也不能保证注册中心中维护的状态和服务端实际的状态实时同步。
解决这个问题,更多的是依靠rpc框架客户端的自动重试策略,比如,请求某个服务端实例超时后,立即换一个实例自动重试。
作者回复: 交作业的都是好同学,👍!
一个建议:使用PreparedStatement,不要用字符出拼SQL,会有SQL注入漏洞。
作者回复: JVM对反射的优化已经很好了,这部分的性能损耗并不是很大,所以一般不用特别的优化。