 Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?递给适配器的数据。 这些包括“metrics”,“logentry”,“tracepan”等。这些抽 象与后端想要消费的数据不匹配,导致运维需要编写一些手动配置, 以便在规范的 Istio 样式和后端特定的样式之间进行映射。原本期望 这种映射可以在适配器中实现很大程度上的自动化,但是最终还是 太复杂并需要手动配置。如果要性能,该怎么做? Part 1:ServiceMesh灵魂拷问一:要架构还是要性能?0 码力 | 43 页 | 2.90 MB | 6 月前3 Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?递给适配器的数据。 这些包括“metrics”,“logentry”,“tracepan”等。这些抽 象与后端想要消费的数据不匹配,导致运维需要编写一些手动配置, 以便在规范的 Istio 样式和后端特定的样式之间进行映射。原本期望 这种映射可以在适配器中实现很大程度上的自动化,但是最终还是 太复杂并需要手动配置。如果要性能,该怎么做? Part 1:ServiceMesh灵魂拷问一:要架构还是要性能?0 码力 | 43 页 | 2.90 MB | 6 月前3
 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘on ADS Ø支持全动态配置启动运行 Ø支持API核心功能点,不断完善中扩展机制 4 • 网络层扩展 • 事件订阅 • 自定义filter • 协议层处理扩展 • 事件订阅 • 自定义filter • TCP层自定义私有协议 • 自定义Codec • 自定义Stream • 其他 • 路由 • 后端管理4 性能单核优化点 1 Ø绑核 ü 更好的 runtime G-P-M data0 码力 | 44 页 | 4.51 MB | 6 月前3 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘on ADS Ø支持全动态配置启动运行 Ø支持API核心功能点,不断完善中扩展机制 4 • 网络层扩展 • 事件订阅 • 自定义filter • 协议层处理扩展 • 事件订阅 • 自定义filter • TCP层自定义私有协议 • 自定义Codec • 自定义Stream • 其他 • 路由 • 后端管理4 性能单核优化点 1 Ø绑核 ü 更好的 runtime G-P-M data0 码力 | 44 页 | 4.51 MB | 6 月前3
 Service Mesh 高可用在企业级生产中的实践(等待时间=0) 常用限 流算法25/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 服务限流 • 基于来源限流(from) • 系统标签 • 自定义标签 • 基于标签匹配(to) • 系统标签 • 自定义标签 常用限 流用法 matchLabels Exclusion matching26/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 熔断27/总页数0 码力 | 38 页 | 1.38 MB | 6 月前3 Service Mesh 高可用在企业级生产中的实践(等待时间=0) 常用限 流算法25/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 服务限流 • 基于来源限流(from) • 系统标签 • 自定义标签 • 基于标签匹配(to) • 系统标签 • 自定义标签 常用限 流用法 matchLabels Exclusion matching26/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 熔断27/总页数0 码力 | 38 页 | 1.38 MB | 6 月前3
 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展方案二:在Envoy中 bypass TCP 流量 -不需要对应用进行改造,但Envoy要具备区分TCP和 HTTP流量的能力,需对Envoy进行改造 改造方案: Ø Envoy侧:通过一个自定义的envoy listener filter区分HTTP 和非HTTP的TCP流量 Ø Pilot侧:修改Pilot下发的LDS配置,将TCP流量转到一个指 定的filter chain 处理,通过tcp_proxy 可在一个TCP请求没有对应的TCP服务,并且端口和HTTP服务没有冲突的情况下, TCP请求会被缺省发送到原始目的地。 遗留问题: 端口冲突的情况下,TCP请求将会被丢弃,导致客户端请求失败。 长期演进方案:通过自定义Envoy Filter扩展Service Mesh对应用层协议的处理能力产品化增强:异步通信的流量管理 Service Mesh Service V1 Service V1 Service0 码力 | 27 页 | 11.99 MB | 6 月前3 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展方案二:在Envoy中 bypass TCP 流量 -不需要对应用进行改造,但Envoy要具备区分TCP和 HTTP流量的能力,需对Envoy进行改造 改造方案: Ø Envoy侧:通过一个自定义的envoy listener filter区分HTTP 和非HTTP的TCP流量 Ø Pilot侧:修改Pilot下发的LDS配置,将TCP流量转到一个指 定的filter chain 处理,通过tcp_proxy 可在一个TCP请求没有对应的TCP服务,并且端口和HTTP服务没有冲突的情况下, TCP请求会被缺省发送到原始目的地。 遗留问题: 端口冲突的情况下,TCP请求将会被丢弃,导致客户端请求失败。 长期演进方案:通过自定义Envoy Filter扩展Service Mesh对应用层协议的处理能力产品化增强:异步通信的流量管理 Service Mesh Service V1 Service V1 Service0 码力 | 27 页 | 11.99 MB | 6 月前3
 金融级云原生 PaaS 探索与实践1st Group 2nd Group InPlaceSet A CafeDeployment partition:1 …… Pod Upgrade 机房A – 单元A • 精准分组,自定义拓扑 • IP不变,无损升级 • 可适配多种工作负载 • InPlaceSet • ReplicaSet • StatefulSet 可灰度: • 应用发布进程可控,允许灰度、 分组和 Beta0 码力 | 20 页 | 1.71 MB | 6 月前3 金融级云原生 PaaS 探索与实践1st Group 2nd Group InPlaceSet A CafeDeployment partition:1 …… Pod Upgrade 机房A – 单元A • 精准分组,自定义拓扑 • IP不变,无损升级 • 可适配多种工作负载 • InPlaceSet • ReplicaSet • StatefulSet 可灰度: • 应用发布进程可控,允许灰度、 分组和 Beta0 码力 | 20 页 | 1.71 MB | 6 月前3
 Service Mesh Meetup #3 深圳站Jenkins(plugins/drone-jenkins) • Gitlab-CI(plugins/drone-gitlab-ci) • Drone(plugins/drone-downstream) • 支持自定义插件(你可以自己实现自己所需的插件) • 本机测试 .drone.yml : drone execAPI 支持我是作者名称.drone.yml代码质量检测 SonarQube 参考资料:https://github0 码力 | 45 页 | 18.62 MB | 6 月前3 Service Mesh Meetup #3 深圳站Jenkins(plugins/drone-jenkins) • Gitlab-CI(plugins/drone-gitlab-ci) • Drone(plugins/drone-downstream) • 支持自定义插件(你可以自己实现自己所需的插件) • 本机测试 .drone.yml : drone execAPI 支持我是作者名称.drone.yml代码质量检测 SonarQube 参考资料:https://github0 码力 | 45 页 | 18.62 MB | 6 月前3
 SOFAMOSN持续演进路径及实践分享日志操作异步化&多次合 并 Ø 基于RCU的高性能配置更 新安全 & 可观察性 0.1.0 0.2.0 0.3.0 0.4.0 Ø mTLS支持 Ø 支持inspector探测 Ø TLS扩展支持,支持自定义 证书获取 Ø RBAC Ø Tracing框架,已支持 SOFA Tracer Ø Metrics扩展,已支持 prometheus Ø 支持Mixer filter Ø 平滑升级迁移支持metrics0 码力 | 29 页 | 7.03 MB | 6 月前3 SOFAMOSN持续演进路径及实践分享日志操作异步化&多次合 并 Ø 基于RCU的高性能配置更 新安全 & 可观察性 0.1.0 0.2.0 0.3.0 0.4.0 Ø mTLS支持 Ø 支持inspector探测 Ø TLS扩展支持,支持自定义 证书获取 Ø RBAC Ø Tracing框架,已支持 SOFA Tracer Ø Metrics扩展,已支持 prometheus Ø 支持Mixer filter Ø 平滑升级迁移支持metrics0 码力 | 29 页 | 7.03 MB | 6 月前3
 Service Mesh的实践分享• IPTable性能不总是足够好 • 任何组件都有不可用的时候。客户端无论如何都要有自切换的能力和可 用的备份 • 尽量减少外部组件依赖。业务/运维总会有各种特殊的需求,依赖外部组 件会给自定义需求带来障碍。 • 保持客户端选择proxy的自由度和灵活性,在我们的实践中好处大 于坏处胖客户端 vs. service mesh vs. cluster 胖客户端 Sidecar(物理机)0 码力 | 30 页 | 4.80 MB | 6 月前3 Service Mesh的实践分享• IPTable性能不总是足够好 • 任何组件都有不可用的时候。客户端无论如何都要有自切换的能力和可 用的备份 • 尽量减少外部组件依赖。业务/运维总会有各种特殊的需求,依赖外部组 件会给自定义需求带来障碍。 • 保持客户端选择proxy的自由度和灵活性,在我们的实践中好处大 于坏处胖客户端 vs. service mesh vs. cluster 胖客户端 Sidecar(物理机)0 码力 | 30 页 | 4.80 MB | 6 月前3
 Service Mesh结合容器云平台的思考和实践standalone proxies acting as L7/L4 routers. 2. IPAddress, ID, Domain 它们都可以通过pilot-agent的proxy命令的对应flag来提供用户自定义值。如果用户不提供,则会在proxy命令执行时,根据istio连接 的服务注册中心(service registry)类型的不同,会采用不同的配置方式。agent当前使用的具体service registry类型保存在0 码力 | 28 页 | 3.09 MB | 6 月前3 Service Mesh结合容器云平台的思考和实践standalone proxies acting as L7/L4 routers. 2. IPAddress, ID, Domain 它们都可以通过pilot-agent的proxy命令的对应flag来提供用户自定义值。如果用户不提供,则会在proxy命令执行时,根据istio连接 的服务注册中心(service registry)类型的不同,会采用不同的配置方式。agent当前使用的具体service registry类型保存在0 码力 | 28 页 | 3.09 MB | 6 月前3
 蚂蚁金服网络代理演进之路轻量级TLS库,小于50k;2) 优化的TLS协议 0-RTT • 减少握手延迟 • 代价:握手前发送的数据不能 保证防重放攻击,因此要求应 用程序自己保证防重放攻击 Small Ticket • 自定义Session Ticket编码格式 • 160 byte -> 76 byte • Session Ticket扩展 用于会话复用,加速握手过程 • Cached-info扩展 缓存证书等服务端信息,避免0 码力 | 46 页 | 19.93 MB | 6 月前3 蚂蚁金服网络代理演进之路轻量级TLS库,小于50k;2) 优化的TLS协议 0-RTT • 减少握手延迟 • 代价:握手前发送的数据不能 保证防重放攻击,因此要求应 用程序自己保证防重放攻击 Small Ticket • 自定义Session Ticket编码格式 • 160 byte -> 76 byte • Session Ticket扩展 用于会话复用,加速握手过程 • Cached-info扩展 缓存证书等服务端信息,避免0 码力 | 46 页 | 19.93 MB | 6 月前3
共 10 条
- 1













