01
微服务的概念和原理
微服务架构业务解耦的同时带来了极大的复杂度
基于传统微服务SDK的服务治理
基于网格的服务治理
模型:服务发现负载均衡
模型:服务熔断
02
传统微服务框架的问题和基于服务网格的解决方案问题1:微服务SDK的多语言问题???????????????????
只有统一语言的开发框架的服务才能使用统一的治理策略。方案1:服务网格统一数据面上执行统一的流量策略
问题2:基于SDK的微服务在Kubernetes上运行的服务发现延迟和数据不一致问题
方案2:Istio服务网格基于Kubernetes构建,使用平台一致的服务发现
问题3:基于SDK开发的微服务,SDK逻辑升级,所有业务必须重新编译升级
方案3:网格数据面和业务解耦,治理能力升级只需平台升级,用户业务无需升级
问题4:基于SDK进行微服务化时,为了统一服务发现和治理能力,一般要全部一起改造
方案4:基于服务网格渐进微服务化,对老的单体和新的微服务同时服务发现和服务治理
03
传统微服务框架在服务网格中集成的实践详细
总体思路:卸载服务治理能力到平台,SDK保留开发框架能力
Kubernetes平台自有的服务发现替代业务内置的服务发现
在Kubernetes基础上启用服务网格,业务代码无需修改、服务发现无需适配
服务网格直接复用Kubernetes的服务发现服务网格直接复用Kubernetes的服务发现,透明在服务访问链路上插入网格的治理、监控和安全能力,业务代码无需修改。
通过修改配置使得切换Springcloud服务发现为Kubernetes服务发现
通过修改配置使得切换Dubbo服务发现为Kubernetes服务发现
Dubbo服务开放HTTP和Dubbo两种应用协议,可以通过Dubbo和HTTP两种协议访问
Dubbo服务治理配置
filter_chains:
-filters:
-name:envoy.filters.network.dubbo_proxy
typed_config:
"
type":type.googleapis.转载请注明:http://www.0431gb208.com/sjszlfa/888.html