 严选 ServiceMesh 实践Latency、QPS 等 04.服务监控 • 借助APM的能力 • 发现异常调用链 • 分析请求来源及去向 06.问题定位与诊断 • 服务元数据定义:服务等级、服务集群、服 务器规格及环境 • 服务地图:可视化的服务关系,如业务拓扑、 服务依赖拓扑,集群视图 01.服务定义 • 限流、资源隔离、熔断、降级等配置 • 负载均衡:流量调配、分流、切流量等 • 服务路由 • 访问控制配置 030 码力 | 25 页 | 2.07 MB | 6 月前3 严选 ServiceMesh 实践Latency、QPS 等 04.服务监控 • 借助APM的能力 • 发现异常调用链 • 分析请求来源及去向 06.问题定位与诊断 • 服务元数据定义:服务等级、服务集群、服 务器规格及环境 • 服务地图:可视化的服务关系,如业务拓扑、 服务依赖拓扑,集群视图 01.服务定义 • 限流、资源隔离、熔断、降级等配置 • 负载均衡:流量调配、分流、切流量等 • 服务路由 • 访问控制配置 030 码力 | 25 页 | 2.07 MB | 6 月前3
 Service Mesh的实践分享Service Config Center 服务发现 服务注册 服务元数据下发 OSP client 服务路由 网络传输 服务元数据上报缺点 • 语言单一 • 升级困难 • 复杂代码嵌入对客户端进程影响大服务化体系2.0 - Service Mesh雏形 • 物理机、sidecar • Local & Remote,主与备 • 轻量级客户端、本地调用 • Local Proxy负责服务治理与 侵入性大。复杂客户端会给 应用造成负担,包括资源占 用、依赖冲突等等 侵入性小。SDK只有简单的寻址和序列化/ 反序列化的功能 无侵入性。应用自行调用 运维难度 难度大。客户端的问题会对 应用直接产生影响,耦合太 重 难度小。Sidecar故障可以将流量临时切到 remote proxy解决 难度小。集群通过LVS接入,单 台机故障可以下线 升级难度 难度极大。需要客户端修改 代码、发布、上线。 Sidecar(in Pod) Daemonset 对容器的影响 影响大。Pod中增加sidecar容器,加大整个Pod的资源需 求,对K8s的调度形成压力,特别是在资源紧张的情况下; 而且还容器导致资源浪费(sidecar的使用率问题) 影响小。宿主机预留部分资源启动daemonset 即可 运维难度 难度大。Sidecar故障会影响同一个pod的业务容器,同 生共死 难度小。Sidecar故障可以将流量临时切到0 码力 | 30 页 | 4.80 MB | 6 月前3 Service Mesh的实践分享Service Config Center 服务发现 服务注册 服务元数据下发 OSP client 服务路由 网络传输 服务元数据上报缺点 • 语言单一 • 升级困难 • 复杂代码嵌入对客户端进程影响大服务化体系2.0 - Service Mesh雏形 • 物理机、sidecar • Local & Remote,主与备 • 轻量级客户端、本地调用 • Local Proxy负责服务治理与 侵入性大。复杂客户端会给 应用造成负担,包括资源占 用、依赖冲突等等 侵入性小。SDK只有简单的寻址和序列化/ 反序列化的功能 无侵入性。应用自行调用 运维难度 难度大。客户端的问题会对 应用直接产生影响,耦合太 重 难度小。Sidecar故障可以将流量临时切到 remote proxy解决 难度小。集群通过LVS接入,单 台机故障可以下线 升级难度 难度极大。需要客户端修改 代码、发布、上线。 Sidecar(in Pod) Daemonset 对容器的影响 影响大。Pod中增加sidecar容器,加大整个Pod的资源需 求,对K8s的调度形成压力,特别是在资源紧张的情况下; 而且还容器导致资源浪费(sidecar的使用率问题) 影响小。宿主机预留部分资源启动daemonset 即可 运维难度 难度大。Sidecar故障会影响同一个pod的业务容器,同 生共死 难度小。Sidecar故障可以将流量临时切到0 码力 | 30 页 | 4.80 MB | 6 月前3
 Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?Infrastructure Backend Proxy 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Proxy无需和Adapter耦合 • 读取配置 -> 连接k8s/Galley • Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 Kubernete v1的优点不应该成为Mixer v2的缺点 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Proxy无需和Adapter耦合 • 读取配置 -> 连接k8s/Galley • Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 • 集中式服务: 落地,落地,落地 灵 魂 拷 问 性能有了, 架构 怎么办? 要不要 支持 虚拟机? 说好的 供应商 不锁定呢? 优化,创新 落地,创新 标准化,生态共建 每一个问题和答案, 都会深刻影响未来几 年Servicemesh的 走向,请密切关注关注 ServiceMesher 微信公众号 获取社区最新信息 关注 金融级分布式架构 微信公众号 获取 SOFAStack 最新信息 ServiceMesher0 码力 | 43 页 | 2.90 MB | 6 月前3 Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?Infrastructure Backend Proxy 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Proxy无需和Adapter耦合 • 读取配置 -> 连接k8s/Galley • Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 Kubernete v1的优点不应该成为Mixer v2的缺点 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Proxy无需和Adapter耦合 • 读取配置 -> 连接k8s/Galley • Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 • 集中式服务: 落地,落地,落地 灵 魂 拷 问 性能有了, 架构 怎么办? 要不要 支持 虚拟机? 说好的 供应商 不锁定呢? 优化,创新 落地,创新 标准化,生态共建 每一个问题和答案, 都会深刻影响未来几 年Servicemesh的 走向,请密切关注关注 ServiceMesher 微信公众号 获取社区最新信息 关注 金融级分布式架构 微信公众号 获取 SOFAStack 最新信息 ServiceMesher0 码力 | 43 页 | 2.90 MB | 6 月前3
 大规模微服务架构下的Service Mesh探索之路但我们非常认可Istio的理念和方向 Conduit • 只支持k8s,而蚂蚁尚未普及k8s • 数据平面由Rust编写,过于小众,难于 从社区借力。 • 同样存在技术栈问题 • 公司和产品在社区知名度和影响力有限国内公司的选择之一:自研 华为:CES Mesher • 使用Golang编写 • 由go chassis演进而来 • 走的是已有类库->加proxy->再加 控制平面的路线 • 部分对接Istio 合并Check和Quota ü Report暂时保留在Mixer中 list rbac quota Check和Quota 的Adapter Report的AdapterMixer反省之一:对性能的影响 ü 按照Istio的设计,每次请求Envoy都 要执行对Mixer的两次远程调用: • 转发前执行Check(包含Quota) • 转发后执行Report ü 我们的观点: • 需要请求同步阻塞等待的功能都应该在 Backend 交换机 应用 Backend 交换机 应用直连基础设施后端: Sidecar连接基础设施后端: Mixer连接基础设施后端: Localhost不影响 两倍吞吐量 ü 决策: • 暂时不确认是否会造成 直接影响,先不动 • 等待实际验证后再决定 是否合并report部分 ü 参考 • Conduit已经在新版本 中将report类的功能合 并到Sidecar • 国内的华为/新浪微博0 码力 | 37 页 | 7.99 MB | 6 月前3 大规模微服务架构下的Service Mesh探索之路但我们非常认可Istio的理念和方向 Conduit • 只支持k8s,而蚂蚁尚未普及k8s • 数据平面由Rust编写,过于小众,难于 从社区借力。 • 同样存在技术栈问题 • 公司和产品在社区知名度和影响力有限国内公司的选择之一:自研 华为:CES Mesher • 使用Golang编写 • 由go chassis演进而来 • 走的是已有类库->加proxy->再加 控制平面的路线 • 部分对接Istio 合并Check和Quota ü Report暂时保留在Mixer中 list rbac quota Check和Quota 的Adapter Report的AdapterMixer反省之一:对性能的影响 ü 按照Istio的设计,每次请求Envoy都 要执行对Mixer的两次远程调用: • 转发前执行Check(包含Quota) • 转发后执行Report ü 我们的观点: • 需要请求同步阻塞等待的功能都应该在 Backend 交换机 应用 Backend 交换机 应用直连基础设施后端: Sidecar连接基础设施后端: Mixer连接基础设施后端: Localhost不影响 两倍吞吐量 ü 决策: • 暂时不确认是否会造成 直接影响,先不动 • 等待实际验证后再决定 是否合并report部分 ü 参考 • Conduit已经在新版本 中将report类的功能合 并到Sidecar • 国内的华为/新浪微博0 码力 | 37 页 | 7.99 MB | 6 月前3
 蚂蚁金服网络代理演进之路Iptables 透明劫持和加速大规模问题 10万+实例 动态服务发现 运维 § 对控制平面性能,稳定性带来巨 大挑战 § 单实例数万路由节点,数千路由 规则,不仅占用内存,对路由匹 配性能也有较大影响 § SOFAMosn发布业务无感知,平 滑升级 § 海量,高频的发布订阅动作 § 发布分组策略,间隔策略平滑升级 l 支持新老 mosn 容器间链接、metrics 无损迁移,升级全程无重新建联 reclaim问题 磁盘 • Sidecar与业务容器共享磁盘,并且不受容器启动顺序对磁盘分配的影响,单独mount配置文件 • 不同业务不同资源占用的精细化调配性能问题 GOMAXPROCS :Cpu消耗与RT的tradeoff 优化GC策略升级1.12版本,MADV_FREE,MADV_DONTNEED带来的 影响 Chan的吞吐极限,减少主业务数据的传递 CGO对于TLS 签名计算有83%的性能衰退,AES对称加密 签名计算有83%的性能衰退,AES对称加密 使用tmpfs 或者 mmap MAP_LOCKED 优化IO负载较高对共享内存刷page cache的影响 Unix Domain socket较TCP socket 提升8%性能TLS性能 ü go在RSA上没有太多优化,go-boring(CGO)的能力是 go的1倍。 ü p256在go上有汇编优化,ECDSA优于go-boring ü 在AES-GCM0 码力 | 46 页 | 19.93 MB | 6 月前3 蚂蚁金服网络代理演进之路Iptables 透明劫持和加速大规模问题 10万+实例 动态服务发现 运维 § 对控制平面性能,稳定性带来巨 大挑战 § 单实例数万路由节点,数千路由 规则,不仅占用内存,对路由匹 配性能也有较大影响 § SOFAMosn发布业务无感知,平 滑升级 § 海量,高频的发布订阅动作 § 发布分组策略,间隔策略平滑升级 l 支持新老 mosn 容器间链接、metrics 无损迁移,升级全程无重新建联 reclaim问题 磁盘 • Sidecar与业务容器共享磁盘,并且不受容器启动顺序对磁盘分配的影响,单独mount配置文件 • 不同业务不同资源占用的精细化调配性能问题 GOMAXPROCS :Cpu消耗与RT的tradeoff 优化GC策略升级1.12版本,MADV_FREE,MADV_DONTNEED带来的 影响 Chan的吞吐极限,减少主业务数据的传递 CGO对于TLS 签名计算有83%的性能衰退,AES对称加密 签名计算有83%的性能衰退,AES对称加密 使用tmpfs 或者 mmap MAP_LOCKED 优化IO负载较高对共享内存刷page cache的影响 Unix Domain socket较TCP socket 提升8%性能TLS性能 ü go在RSA上没有太多优化,go-boring(CGO)的能力是 go的1倍。 ü p256在go上有汇编优化,ECDSA优于go-boring ü 在AES-GCM0 码力 | 46 页 | 19.93 MB | 6 月前3
 网易云Service Mesh的产品架构与实现Kaola163yun.com 开发独立: 代码耦合度比较高,修改代码通常会对多个模块产生影响,操控难度大,风险高 上线独立: 单次上线需求列表多,上线时间长,影响面大 简化扩容: 由于业务多,每一次扩容需要增加的配置比较杂。一些不起眼的小业务虽然不是扩容的主要目 的,也需要慎重考虑 容灾降级:核心业务与非核心业务耦合,在关键时候互相影响 微服务拆分微服务架构要点 微服务架构 要点 服务发 现 负载均0 码力 | 35 页 | 6.33 MB | 6 月前3 网易云Service Mesh的产品架构与实现Kaola163yun.com 开发独立: 代码耦合度比较高,修改代码通常会对多个模块产生影响,操控难度大,风险高 上线独立: 单次上线需求列表多,上线时间长,影响面大 简化扩容: 由于业务多,每一次扩容需要增加的配置比较杂。一些不起眼的小业务虽然不是扩容的主要目 的,也需要慎重考虑 容灾降级:核心业务与非核心业务耦合,在关键时候互相影响 微服务拆分微服务架构要点 微服务架构 要点 服务发 现 负载均0 码力 | 35 页 | 6.33 MB | 6 月前3
 Service Mesh的延伸 — 论道Database Mesh无 无 实现补偿接口 实现TCC接口 回滚 支持 不支持 支持 支持 一致性 强一致 最终一致 最终一致 最终一致 隔离性 原生支持 不支持 不支持 Try接口支持 并发性能 严重衰退 无影响 无影响 略微衰退 适合场景 短事务 并发较低 事务最终成功 高并发 长事务 应用方控制并发 高并发 长事务 高并发分布式事务:柔性事务自动化 快照记录 • INSERT • 解析0 码力 | 35 页 | 4.56 MB | 6 月前3 Service Mesh的延伸 — 论道Database Mesh无 无 实现补偿接口 实现TCC接口 回滚 支持 不支持 支持 支持 一致性 强一致 最终一致 最终一致 最终一致 隔离性 原生支持 不支持 不支持 Try接口支持 并发性能 严重衰退 无影响 无影响 略微衰退 适合场景 短事务 并发较低 事务最终成功 高并发 长事务 应用方控制并发 高并发 长事务 高并发分布式事务:柔性事务自动化 快照记录 • INSERT • 解析0 码力 | 35 页 | 4.56 MB | 6 月前3
 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展负载均衡 • 重试,断路器 • 故障注入 • 分布式调用跟踪 • Metrics 收集产品化增强-支持多网络平面 电信系统一般会有多个网络平面的,主要原因包括:避免不同功能的网络之间的 相互影响; 网络设计冗余,增强系统网络的健壮性; 为不同的网络提供不同的 SLA ;通过网络隔离提高安全性;通过叠加多个网络增加系统带宽 上图中的Kubernets集群使用了Knitter网络插件,部署了四个网络平面产品化增强-支持多网络平面 Mesh管控? l 收益 Ø TCP Service可以享受流量管理,可见性,策略控制等Istio承诺的益处 l 成本 Ø Istio不理解TCP上的应用层协议,其对TCP Service的缺省处理会影响应用层逻 辑 -例子:Envoy的LB算法不能处理应用后端集群的Sharding Ø Istio中和HTTP Service 端口冲突会的TCP Service请求会被Envoy直接丢弃 -0 码力 | 27 页 | 11.99 MB | 6 月前3 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展负载均衡 • 重试,断路器 • 故障注入 • 分布式调用跟踪 • Metrics 收集产品化增强-支持多网络平面 电信系统一般会有多个网络平面的,主要原因包括:避免不同功能的网络之间的 相互影响; 网络设计冗余,增强系统网络的健壮性; 为不同的网络提供不同的 SLA ;通过网络隔离提高安全性;通过叠加多个网络增加系统带宽 上图中的Kubernets集群使用了Knitter网络插件,部署了四个网络平面产品化增强-支持多网络平面 Mesh管控? l 收益 Ø TCP Service可以享受流量管理,可见性,策略控制等Istio承诺的益处 l 成本 Ø Istio不理解TCP上的应用层协议,其对TCP Service的缺省处理会影响应用层逻 辑 -例子:Envoy的LB算法不能处理应用后端集群的Sharding Ø Istio中和HTTP Service 端口冲突会的TCP Service请求会被Envoy直接丢弃 -0 码力 | 27 页 | 11.99 MB | 6 月前3
 阿里巴巴核心应用洛地 Service Mesh 的挑战与机过•带来的变化和发展机遇 •核心应用落地所克服的挑战 主题#1 现状及行业态度•时隔两月 Istio 发布了 1.4,迭代迅速 •国内 Service Mesh 相关书籍出版三本以上 •各大厂积极部署推进,蚂蚁金服影响力最大 •阿里巴巴实现对核心应用于双十一上验证 •云计算平台推出商业产品,但仍未普适 行业现状行业态度 普遍看好,仍存疑惑。 1. Service Mesh 增加成本调用及部署成本,高于所获得0 码力 | 22 页 | 6.61 MB | 6 月前3 阿里巴巴核心应用洛地 Service Mesh 的挑战与机过•带来的变化和发展机遇 •核心应用落地所克服的挑战 主题#1 现状及行业态度•时隔两月 Istio 发布了 1.4,迭代迅速 •国内 Service Mesh 相关书籍出版三本以上 •各大厂积极部署推进,蚂蚁金服影响力最大 •阿里巴巴实现对核心应用于双十一上验证 •云计算平台推出商业产品,但仍未普适 行业现状行业态度 普遍看好,仍存疑惑。 1. Service Mesh 增加成本调用及部署成本,高于所获得0 码力 | 22 页 | 6.61 MB | 6 月前3
 深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统Kubernetes 实践 • CRD 在定义时需要明确未来的最大数量,大量CR 业务最好采用 aggregate-apiserver 进行扩展 • CRD 必须 Namespaced scope,以控制影响范围 • MutatingWebhook + 资源 Update 操作会给运行时环境带来不可控破坏,尽量避免使用这种组合 • 任何 controllers 都应该使用 informers,并且对写操作配置合理限流0 码力 | 19 页 | 2.18 MB | 6 月前3 深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统Kubernetes 实践 • CRD 在定义时需要明确未来的最大数量,大量CR 业务最好采用 aggregate-apiserver 进行扩展 • CRD 必须 Namespaced scope,以控制影响范围 • MutatingWebhook + 资源 Update 操作会给运行时环境带来不可控破坏,尽量避免使用这种组合 • 任何 controllers 都应该使用 informers,并且对写操作配置合理限流0 码力 | 19 页 | 2.18 MB | 6 月前3
共 14 条
- 1
- 2













