序列化(Kryo):调用方和被调用法需要采用相同的序列化方式
注册中心(zookeeper):协调和同步多服务器之间的状态
远程通信(netty):基于NIO,里面的编解码器可以解决粘包问题





1. 为什么要用Kryo?

协议体的内容需要进行序列化才能在网络中进行传输;
序列化分为文本格式序列化(fastJson) 和 二进制格式序列化(kyro)
好处:
  1. 提升性能,简化数据包
  2. 分块编码
  3. 自动生成深和浅的对象副本
  4. 可以解决循环引用的问题

2. 负载均衡算法有哪些?

(1)随机
(2)平滑的加权轮询算法:根据机器的性能对轮询进行加权
(3)一致性hash负载均衡算法:可以增加虚拟节点来保证hash算法的平衡性
(4)加权随机法:根据权重划分对应的区域,落在哪个区域就用这个区域所属的服务节点
(5)最少活跃数加权算法:选择活跃调用数小的服务节点

3、容错机制

(1)熔断机制:下游的服务调用慢或者出现大量超时,上游服务为了保护整个系统的可用性,可以暂时切断对下游的服务调用。
(2)服务降级策略:下游的服务响应过慢时,下游服务关闭一些不重要的业务来释放服务器系统资源。
(3)限流模式:设置一些阈值,比如QPS阈值,响应时间。
(4)服务隔离模式:让不同类型的请求互不干扰

4. 路由策略

路由起到了 URL 到函数的映射的作用