 Service Mesh的实践分享• 接入简单 • 保证性能 • 节省资源 Java App Local Proxy OSP Server Remote Proxy Cluster Thrift over TCP PHP App C/C++/Node JS App Thrift over TCP Thrift over TCP JSON over HTTP JSON over HTTP多语言服务端接入 通知上游 • 环境无关,物理机、云、测试机 器、本机都能跑实践中踩过的坑 我是作者名称ZooKeeper的强耦合 • 初始设计没有抽象服务注册发现和服务配 置的接口,直接操作ZK并且依赖了ZK的特 性和原语 • ZK弊端显现 • 跨机房多活问题 • 性能问题 • 宠物对待 • API不友好问题 • 不能unwatch • 需要花费很大力气进行迁移和替换PHP Thrift效率低 Thrift效率低 • 数量众多PHP应用,开发php-sdk over thrift • 在客户端进行序列化,减少一次协议转 换的消耗 • 与Java应用在架构上呼应,保持架构的一 致性 • 然而,实际上PHP Thrift效率低比内置 的HTTP模块慢得多 • 性能消耗比JSON转Thrift还要大 • 最终废弃了PHP Thrift模块,直接使用 自带的c写的http模块 + +D0 码力 | 30 页 | 4.80 MB | 6 月前3 Service Mesh的实践分享• 接入简单 • 保证性能 • 节省资源 Java App Local Proxy OSP Server Remote Proxy Cluster Thrift over TCP PHP App C/C++/Node JS App Thrift over TCP Thrift over TCP JSON over HTTP JSON over HTTP多语言服务端接入 通知上游 • 环境无关,物理机、云、测试机 器、本机都能跑实践中踩过的坑 我是作者名称ZooKeeper的强耦合 • 初始设计没有抽象服务注册发现和服务配 置的接口,直接操作ZK并且依赖了ZK的特 性和原语 • ZK弊端显现 • 跨机房多活问题 • 性能问题 • 宠物对待 • API不友好问题 • 不能unwatch • 需要花费很大力气进行迁移和替换PHP Thrift效率低 Thrift效率低 • 数量众多PHP应用,开发php-sdk over thrift • 在客户端进行序列化,减少一次协议转 换的消耗 • 与Java应用在架构上呼应,保持架构的一 致性 • 然而,实际上PHP Thrift效率低比内置 的HTTP模块慢得多 • 性能消耗比JSON转Thrift还要大 • 最终废弃了PHP Thrift模块,直接使用 自带的c写的http模块 + +D0 码力 | 30 页 | 4.80 MB | 6 月前3
 Service Mesh结合容器云平台的思考和实践OtherPilot-Agent主要功能分析-生产Envoy配置 registry值 role.IPAddress role.ID role.Domain Kubernetes 环境变量INSTANCE_IP 环境变量POD_NAME.环境变量POD _NAMESPACE 环境变量POD_NAMESPACE.svc. cluster.local Consul private IP,默认127.0. 0.1 IPAddress0 码力 | 28 页 | 3.09 MB | 6 月前3 Service Mesh结合容器云平台的思考和实践OtherPilot-Agent主要功能分析-生产Envoy配置 registry值 role.IPAddress role.ID role.Domain Kubernetes 环境变量INSTANCE_IP 环境变量POD_NAME.环境变量POD _NAMESPACE 环境变量POD_NAMESPACE.svc. cluster.local Consul private IP,默认127.0. 0.1 IPAddress0 码力 | 28 页 | 3.09 MB | 6 月前3
 深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统1:蚂蚁金服的Kubernetes现状 平台研发 灰度验证 云化落地 规模化落地 2018年下半年开始投 入 Kubernetes 及其配 套系统研发 2019年初于生产环境 开始灰度验证,对部分 应用做平台迁移 2019年4月完成云化环境 适配,蚂蚁金服云上基础 设施全部采用 Kubernetes 支撑618 2019年7月到双十一前完成 全站 Kubernetes 落地,超过 90% 的资源通过 业务最好采用 aggregate-apiserver 进行扩展 • CRD 必须 Namespaced scope,以控制影响范围 • MutatingWebhook + 资源 Update 操作会给运行时环境带来不可控破坏,尽量避免使用这种组合 • 任何 controllers 都应该使用 informers,并且对写操作配置合理限流 • DaemonSet 非常高阶,尽量不要采用这类设计,如果必需请在0 码力 | 19 页 | 2.18 MB | 6 月前3 深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统1:蚂蚁金服的Kubernetes现状 平台研发 灰度验证 云化落地 规模化落地 2018年下半年开始投 入 Kubernetes 及其配 套系统研发 2019年初于生产环境 开始灰度验证,对部分 应用做平台迁移 2019年4月完成云化环境 适配,蚂蚁金服云上基础 设施全部采用 Kubernetes 支撑618 2019年7月到双十一前完成 全站 Kubernetes 落地,超过 90% 的资源通过 业务最好采用 aggregate-apiserver 进行扩展 • CRD 必须 Namespaced scope,以控制影响范围 • MutatingWebhook + 资源 Update 操作会给运行时环境带来不可控破坏,尽量避免使用这种组合 • 任何 controllers 都应该使用 informers,并且对写操作配置合理限流 • DaemonSet 非常高阶,尽量不要采用这类设计,如果必需请在0 码力 | 19 页 | 2.18 MB | 6 月前3
 Service Mesh Meetup #3 深圳站Reviewer 对 MR 进行 code review ,批准合并之后, feature/new_branch 会合并到 develop; • 5. 部署负责人将 develop 分支代码部署到测试环境,然后再通知 QA 测试;(脚本或者人工)有什么问题? • 效率低 • 没有代码检查; • 没有自动化测试(包括单元测试); • 沟通成本高 • 开发需要通知负责人、测试、产品等;(而且是每次构建/部署 Gitlab,Bitbucket,Gogs,Gitea 等)。 • 它的特点: • 一个 .drone.yml 搞定(简单) • 原生 Docker 支持: 任何步骤都是在 Docker 内执行的(环境隔离) • Pipeline as code • 丰富的插件支持 • 极简的Web管理界面 • 其他: • Control PR build through comments(#2056) —> Istio • Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有 负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任 何改动。 • 想要让服务支持 Istio,只需要在您的环境中部署一个特殊的 sidecar 代理,使用 Istio 控制平面功能配置和管理代理,拦截微服务之间的 所有网络通信。Istio 的特点 • HTTP、gRPC、WebSocket 和 TCP0 码力 | 45 页 | 18.62 MB | 6 月前3 Service Mesh Meetup #3 深圳站Reviewer 对 MR 进行 code review ,批准合并之后, feature/new_branch 会合并到 develop; • 5. 部署负责人将 develop 分支代码部署到测试环境,然后再通知 QA 测试;(脚本或者人工)有什么问题? • 效率低 • 没有代码检查; • 没有自动化测试(包括单元测试); • 沟通成本高 • 开发需要通知负责人、测试、产品等;(而且是每次构建/部署 Gitlab,Bitbucket,Gogs,Gitea 等)。 • 它的特点: • 一个 .drone.yml 搞定(简单) • 原生 Docker 支持: 任何步骤都是在 Docker 内执行的(环境隔离) • Pipeline as code • 丰富的插件支持 • 极简的Web管理界面 • 其他: • Control PR build through comments(#2056) —> Istio • Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有 负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任 何改动。 • 想要让服务支持 Istio,只需要在您的环境中部署一个特殊的 sidecar 代理,使用 Istio 控制平面功能配置和管理代理,拦截微服务之间的 所有网络通信。Istio 的特点 • HTTP、gRPC、WebSocket 和 TCP0 码力 | 45 页 | 18.62 MB | 6 月前3
 SOFAMOSN持续演进路径及实践分享fork x/net/http2 代码 ü 新增mosn_http2.go文件,复用原生结构体和方法,暴露mosn框架 所需方法和结构 ü 原则不修改原生文件技术案例 – http2性能优化 Ø 压测环境 p Intel(R) Xeon(R) CPU E5620 @ 2.40GHz p kernel:2.6.32-220.23.2.el6.x86_64 p 单核模式:1 core; 多核模式: 4 core 长连接网关RawEpoll模式 场景 QPS MEM(K) CPU(%) goroutine 原生IO模式 1000 3.3 60 200028 Raw Epoll模式 1000 2.5 18 28 Ø 压测环境 p Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz p kernel:3.10.0 p 压测版本: 0.2.1 – 2018.08版本 p 部署模式: Client 能力上,经过多轮演进,0.4.0版本已经初步具备了生产所需的大部分功能点,支持 云原生场景下的多协议、路由&LB、后端管理、TLS、遥感监测、XDS对接等功能, 并充分优化了性能,目前已经在蚂蚁、UC生产环境进行了验证。落地实践案例蚂蚁落地 – 应用接入 ü 适用于蚂蚁当前的服务发现 体系 ü 通过中间件通道对应用推送 MOSN调用地址 ü 通过扩展cluster类型的方式 动态获取配置中心后端0 码力 | 29 页 | 7.03 MB | 6 月前3 SOFAMOSN持续演进路径及实践分享fork x/net/http2 代码 ü 新增mosn_http2.go文件,复用原生结构体和方法,暴露mosn框架 所需方法和结构 ü 原则不修改原生文件技术案例 – http2性能优化 Ø 压测环境 p Intel(R) Xeon(R) CPU E5620 @ 2.40GHz p kernel:2.6.32-220.23.2.el6.x86_64 p 单核模式:1 core; 多核模式: 4 core 长连接网关RawEpoll模式 场景 QPS MEM(K) CPU(%) goroutine 原生IO模式 1000 3.3 60 200028 Raw Epoll模式 1000 2.5 18 28 Ø 压测环境 p Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz p kernel:3.10.0 p 压测版本: 0.2.1 – 2018.08版本 p 部署模式: Client 能力上,经过多轮演进,0.4.0版本已经初步具备了生产所需的大部分功能点,支持 云原生场景下的多协议、路由&LB、后端管理、TLS、遥感监测、XDS对接等功能, 并充分优化了性能,目前已经在蚂蚁、UC生产环境进行了验证。落地实践案例蚂蚁落地 – 应用接入 ü 适用于蚂蚁当前的服务发现 体系 ü 通过中间件通道对应用推送 MOSN调用地址 ü 通过扩展cluster类型的方式 动态获取配置中心后端0 码力 | 29 页 | 7.03 MB | 6 月前3
 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘runtime 调度成本IO Bad Case 5调度均衡 6 Ø池化:避免 runtime.morestack 连续栈扩容性能损耗 Ø单核:避免G饥饿 Ø多核:避免P饥饿单核TCP转发 7 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz X 1 üOS: 3.10.0-327.ali2008.alios7.x86_64 068ms RT(P99) 16ms 7ms RT(P98) 13ms 7ms RT(P95) 11ms 6ms MEM 56m 24m CPU 100% 95%单核SOFARPC转发 10 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz X 16 X 1 üOS: 2.6.32-431.17.1.el6.FASTSOCKET SOFAMosn Envoy QPS峰值 18000 N/A RT(avg) 12.354ms N/A MEM 100m N/A CPU 100% N/AGolang TLS单核性能测试 12 Ø环境 ü CPU: Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz ü 内存: 1.5G Ø软件 ü Nginx-1.13.8 with OpenSSL ü Caddy0 码力 | 44 页 | 4.51 MB | 6 月前3 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘runtime 调度成本IO Bad Case 5调度均衡 6 Ø池化:避免 runtime.morestack 连续栈扩容性能损耗 Ø单核:避免G饥饿 Ø多核:避免P饥饿单核TCP转发 7 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz X 1 üOS: 3.10.0-327.ali2008.alios7.x86_64 068ms RT(P99) 16ms 7ms RT(P98) 13ms 7ms RT(P95) 11ms 6ms MEM 56m 24m CPU 100% 95%单核SOFARPC转发 10 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz X 16 X 1 üOS: 2.6.32-431.17.1.el6.FASTSOCKET SOFAMosn Envoy QPS峰值 18000 N/A RT(avg) 12.354ms N/A MEM 100m N/A CPU 100% N/AGolang TLS单核性能测试 12 Ø环境 ü CPU: Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz ü 内存: 1.5G Ø软件 ü Nginx-1.13.8 with OpenSSL ü Caddy0 码力 | 44 页 | 4.51 MB | 6 月前3
 阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践(有状态、无状态、多语言) • 基础环境复杂 • 大规模 在线、离线 混部 (运维打通) • 装机模板、OS版本、内核版本多;内核补丁、参数不同;其他如网卡中断打散 • 稳定性要求高 • 性能、宕机、夯机、抖动系统架构 • 基础监控 • 秒级、分钟级监控 • 内核性能指标采集 • 监控大盘 • 在线率 • 宕机率 • 抖动率 • 基线系统 • 基础环境一致性故障自愈 (1-5-10)0 码力 | 21 页 | 7.81 MB | 6 月前3 阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践(有状态、无状态、多语言) • 基础环境复杂 • 大规模 在线、离线 混部 (运维打通) • 装机模板、OS版本、内核版本多;内核补丁、参数不同;其他如网卡中断打散 • 稳定性要求高 • 性能、宕机、夯机、抖动系统架构 • 基础监控 • 秒级、分钟级监控 • 内核性能指标采集 • 监控大盘 • 在线率 • 宕机率 • 抖动率 • 基线系统 • 基础环境一致性故障自愈 (1-5-10)0 码力 | 21 页 | 7.81 MB | 6 月前3
 金融级云原生 PaaS 探索与实践大规模下基础设施稳定性 • 业务 Mesh 化  精细化流量控制  基础组件升级 • 业务可复制  业务敏捷  SaaS 面向站点级别输出7/20 PaaS 能力 • 面向多租户多环境; • 基础资源管控; • 应用发布运维体系; • 业务实时监控,日志收集; • 机房级和地域级容灾能力; 业务背景业务背景 CAFÉ API Server Aggregation Layer IP 添加finalizer 发布完成 16/2017/20 安全风险保障 • 审计追踪; • 用户安全 – 基于 RBAC 体系和 PaaS 账号体系打通; • 租户安全 – 租户隔离|环境隔离|集群隔离; • 容器运行时 - 配额|隔离控制(磁盘,CPUSET); 发布运维体系18/20 技术风险保障 业务变更三板斧 发布运维体系 Replica/Partition Allocator0 码力 | 20 页 | 1.71 MB | 6 月前3 金融级云原生 PaaS 探索与实践大规模下基础设施稳定性 • 业务 Mesh 化  精细化流量控制  基础组件升级 • 业务可复制  业务敏捷  SaaS 面向站点级别输出7/20 PaaS 能力 • 面向多租户多环境; • 基础资源管控; • 应用发布运维体系; • 业务实时监控,日志收集; • 机房级和地域级容灾能力; 业务背景业务背景 CAFÉ API Server Aggregation Layer IP 添加finalizer 发布完成 16/2017/20 安全风险保障 • 审计追踪; • 用户安全 – 基于 RBAC 体系和 PaaS 账号体系打通; • 租户安全 – 租户隔离|环境隔离|集群隔离; • 容器运行时 - 配额|隔离控制(磁盘,CPUSET); 发布运维体系18/20 技术风险保障 业务变更三板斧 发布运维体系 Replica/Partition Allocator0 码力 | 20 页 | 1.71 MB | 6 月前3
 Service Mesh 高可用在企业级生产中的实践Spring Cloud & Service Mesh7/总页数 运行时支撑服务 • 服务注册中心 • 服务网关 • 配置中心 混合微服务的互联互通 目标 • 互联互通 • 平滑迁移 • 灵活演进 环境 • 虚拟机 • Kubernetes8/总页数 混合微服务的互联互通 百度智能云 CNAP 混合微服务架构图 • Spring Cloud • Service Mesh9/总页数 注册中心与高可用方案 事物规划为可以公开访问的,因此人们可以修改并分享。 • 也泛指一组概念:开源的方式! • 如何参与开源? • 开源能带来哪些好处?36/总页数 • Service Mesh 概述 • Consul作为注册中心在云环境的实践与应用 • 有了这三个锦囊,再也不用担心微服务治理了 • 一文理解微服务高可用的常用手段 • 微服务断路器模式实现:Istio vs Hystrix 参考 & 扩展阅读感谢聆听 欢迎关注,获取最新分布式架构内容0 码力 | 38 页 | 1.38 MB | 6 月前3 Service Mesh 高可用在企业级生产中的实践Spring Cloud & Service Mesh7/总页数 运行时支撑服务 • 服务注册中心 • 服务网关 • 配置中心 混合微服务的互联互通 目标 • 互联互通 • 平滑迁移 • 灵活演进 环境 • 虚拟机 • Kubernetes8/总页数 混合微服务的互联互通 百度智能云 CNAP 混合微服务架构图 • Spring Cloud • Service Mesh9/总页数 注册中心与高可用方案 事物规划为可以公开访问的,因此人们可以修改并分享。 • 也泛指一组概念:开源的方式! • 如何参与开源? • 开源能带来哪些好处?36/总页数 • Service Mesh 概述 • Consul作为注册中心在云环境的实践与应用 • 有了这三个锦囊,再也不用担心微服务治理了 • 一文理解微服务高可用的常用手段 • 微服务断路器模式实现:Istio vs Hystrix 参考 & 扩展阅读感谢聆听 欢迎关注,获取最新分布式架构内容0 码力 | 38 页 | 1.38 MB | 6 月前3
 严选 ServiceMesh 实践服务元数据定义:服务等级、服务集群、服 务器规格及环境 • 服务地图:可视化的服务关系,如业务拓扑、 服务依赖拓扑,集群视图 01.服务定义 • 限流、资源隔离、熔断、降级等配置 • 负载均衡:流量调配、分流、切流量等 • 服务路由 • 访问控制配置 03.调用控制 • 不可变信息配置 • 动态配置、实时下发 • 支持环境、集群等区分维度 05.配置管理感谢聆听0 码力 | 25 页 | 2.07 MB | 6 月前3 严选 ServiceMesh 实践服务元数据定义:服务等级、服务集群、服 务器规格及环境 • 服务地图:可视化的服务关系,如业务拓扑、 服务依赖拓扑,集群视图 01.服务定义 • 限流、资源隔离、熔断、降级等配置 • 负载均衡:流量调配、分流、切流量等 • 服务路由 • 访问控制配置 03.调用控制 • 不可变信息配置 • 动态配置、实时下发 • 支持环境、集群等区分维度 05.配置管理感谢聆听0 码力 | 25 页 | 2.07 MB | 6 月前3
共 17 条
- 1
- 2













