微服务
微服务的4个设计原则和19个解决方案
一篇文章快速理解微服务架构
灰度发布
蓝绿部署
滚动发布
金丝雀部署
A/B测试
服务注册发现
DNS
产品
Zookeeper
Nacos
Eureka
服务发现粒度
-
接口粒度
-
应用粒度
主流微服务模型
SpringCloud
-
通过注册中心只同步了应用与实例地址
-
优点:部署结构清晰、地址推送量小
-
缺点:地址订阅需要指定应用名, provider 应用变更(拆分)需消费端感知;RPC 调用无法全自动同步
Dubbo
-
通过注册中心同时同步了实例地址和 RPC 方法
-
缺点:地址推送数量变大,和 RPC 方法成正比
-
优点:能实现 RPC 过程的自动同步,面向 RPC 编程、面向 RPC 治理,对后端应用的拆分消费端无感知
Dubbo + Kubernetes
-
服务注册由平台接管,provider 不再需要关心服务注册
-
通过对接平台层的 API-Server、DNS 等,Dubbo client 可以通过一个 Service Name(通常对应到 Application Name)查询到一组 Endpoints(一组运行 provider 的 pod),通过将 Endpoints 映射到 Dubbo 内部地址列表,以驱动 Dubbo 内置的负载均衡机制工作