1.传统基于LB模式
有个独立的LB,利用软件nginx,或者硬件f5来实现。客户端通过lb根据域名来解析,转发请求
优点:成本比较低,维护迭代成本比较低
缺点:需要个集中式LB,单点问题,上线需要依赖运维来配置,多了一层网络调用
2.进程内sdk LB模式
有个注册服务
服务注册自己的ip和port到注册服务
客户端内集中服务注册sdk,去注册服务拿去lb
优点:少一层网络调用,性能比较好,无单点问题。
缺点:可能需要每个语言实现一种sdk,另外lb的维护,迭代比较麻烦。需要各个客户端的使用方,更新版本,上线。
3.类似于sidecar,是个独立的进程,每个机器独立部署个LB,通过本地的访问调用LB,做负载均衡,服务发现。
优点:性能,迭代比较好
缺点:运维成本比较高。
https://blog.csdn.net/qq_28119741/article/details/96774056 之前的文章,介绍的就是这种模式。