微服务架构痛点
业务关注服务之间通信
会导致业务迭代速度变慢
微服务架构1.0
基础设施升级困难
影响基础设施团队的交付能力和交付速度 因为应用程序通过jar包方式引入通信组件 通信组件升级需要应用程序配合jar包版本升级
多编程语言之间'通信'问题
业务每种语言一套基础设施 成本大
微服务架构演进
开源框架
最早版本linkerd
应用程序和sidecar之间通讯用tcp或http1.1以上都可以;两者需要保持长连接
istio
- Pilot
控制中心 1、控制proxy之间通讯 2、负载均衡
- Mixer
数据收集服务: proxy之间通讯完之后 要上报一些mertics信息 (耗时、请求次数) 全部同步上报 集中式 不靠谱 它的性能影响proxy本身的性能
- Citadel
做鉴权安全相关的 proxy之间权限鉴权比如TLS、SSL
sofa mesh
蚂蚁金服开源
架构
1、将istio中的proxy重写 isotio proxy是用c++写的 sofa用go重写 2、istio数据收集节点是集中式的 sofa是分布式的即每个proxy中都有一个mixer 3、目前还没有公司大规模在用 社区不活跃 建议使用istio