zookeeper注册中心提供消费者与服务者之间的接口暴露,只要通讯过一次后,就算注册中心挂掉消费者和提供者依然可以通过本地缓存进行通讯
负载均衡机制:随机;权重轮训;最少活跃数,一致性哈希
对某些服务接口策略的不处理或换简单方式处理
容错异常
--
RPC原理
INO多路复用
选择器执行感兴趣事件
netty基于NIO模型 读写
NIO的单线程能处理连接的数量比BIO要高出很多,而为什么单线程能处理更多的连接呢?原因就是图二中出现的Selector。
当一个连接建立之后,他有两个步骤要做,第一步是接收完客户端发过来的全部数据,第二步是服务端处理完请求业务之后返回response给客户端。NIO和BIO的区别主要是在第一步。
在BIO中,等待客户端发数据这个过程是阻塞的,这样就造成了一个线程只能处理一个请求的情况,而机器能支持的最大线程数是有限的,这就是为什么BIO不能支持高并发的原因。
而NIO中,当一个Socket建立好之后,Thread并不会阻塞去接受这个Socket,而是将这个请求交给Selector,Selector会不断的去遍历所有的Socket,一旦有一个Socket建立完成,他会通知Thread,然后Thread处理完数据再返回给客户端——这个过程是不阻塞的,这样就能让一个Thread处理更多的请求了。



