蚂蚁金服 API Gateway Mesh 思考与实践Service Mesh4/21 API Gateway Service Mesh vs 南北流量(内外) API Gateway vs Service Mesh A infrastructure to decouple the application network from your service code Exposes your services as managed APIs 概念 Sidecar Motorcycle (MOSN/Envoy) Service Mesh is Patterns SofaRPC API Gateway MQ Client Service Code6/21 LB\Ingress API Gateway Sidecar App POD Sidecar App POD Traffic Control Plane Cluster0 码力 | 22 页 | 1.72 MB | 6 月前3
严选 ServiceMesh 实践Mesh 架构试点 严选业务快速增长 服务化 技术团队规模:200+ Service Mesh 架构全面落地 基础架构三问: 1. 服务治理:RPC 框架 vs 服务治理平台 2. 多语言 vs Java 3. 开源 vs 自研2/24 /01 /02 /03 严选 Service Mesh 演进 混合云架构落地实践 规划与展望3/24 严选ServiceMesh演进 /014/24 访问控制:RBAC vs Mixer √ 治理控制 熔断降级 √ 限流 √ 中间件 资源隔离 √ 故障注入 √ 超时控制、重试、重写、重定向等 √ 监控/故障诊断 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM 遥感数据:主要依靠中间件 APM APM 访问日志:主要依靠日志平台 日志平台 日志平台11/24 性能视角 – cNginx vs Envoy(优化前) 8C16G) • cNginx 的 RT overhead 在0.4ms左右 • Envoy(client模式)的 RT overhead 是0.6ms左右12/24 性能视角 – cNginx vs Envoy(优化后) • 优化方案 • 采用 sriov 容器网络 • Envoy:将1.13版本中 connection loadbalancer 特性移植到 1.10.x 版本 • Envoy0 码力 | 25 页 | 2.07 MB | 6 月前3
Service Mesh 高可用在企业级生产中的实践& 高可用 • 微服务高可用设计手段:Istio vs Hystrix Istio Hystrix 运作方式 黑盒方式 白盒方式 熔断粒度 实例级别 实例级别+方法级别 半开状态 不支持 支持 最大熔断比例 支持 不支持 fallback 不支持 支持31/总页数 治理策略 & 高可用 • 微服务高可用设计手段:Istio vs Hystrix Istio Hystrix 运作方式 半开状态 不支持 支持 最大熔断比例 支持 不支持 fallback 不支持 支持32/总页数 治理策略 & 高可用 • 微服务高可用设计手段 - 熔断 • 自动熔断 vs 手动熔断 • Fail-fast vs Fallback 常用熔 断用法33/总页数 治理策略 & 高可用 • 微服务高可用设计手段 • 负载均衡 • 随机 (Random) • 轮询 (RoundRobin) Service Mesh 概述 • Consul作为注册中心在云环境的实践与应用 • 有了这三个锦囊,再也不用担心微服务治理了 • 一文理解微服务高可用的常用手段 • 微服务断路器模式实现:Istio vs Hystrix 参考 & 扩展阅读感谢聆听 欢迎关注,获取最新分布式架构内容 关注服务网格,关注 ServiceMesher0 码力 | 38 页 | 1.38 MB | 6 月前3
Service Mesh的实践分享尽量减少外部组件依赖。业务/运维总会有各种特殊的需求,依赖外部组 件会给自定义需求带来障碍。 • 保持客户端选择proxy的自由度和灵活性,在我们的实践中好处大 于坏处胖客户端 vs. service mesh vs. cluster 胖客户端 Sidecar(物理机) Daemonset(云) Cluster(HTTP) 接入难度 容易。打入依赖包即可 容易。需依赖SDK 容易。需依赖SDK 资源以应对客户端增多的情况。容量超标 则临时转移到remote proxy 承接临时流量和非主要流量, 基本无动态扩容需求。上云之 后(目前物理机)可以支持动 态扩容Sidecar(in Pod) vs. Daemonset + remote proxy Sidecar(in Pod) Daemonset 对容器的影响 影响大。Pod中增加sidecar容器,加大整个Pod的资源需 求,对K8 临时排查Local Proxy问题,可立马切走流量而不影响业务代码埋点 vs. Mixer • 性能考虑 • 调用链埋点的影响必须足够小 • 鉴权需要同步进行,调用Mixer代 价大 • Mixer的中央节点问题 • 传统基于日志收集的tracing方 案足够成熟 • 内部实现一套可插拔的鉴权框 架也能接受混合部署 vs. 绑定K8s • 历史原因导致长期都会物理机 和容器并存,内部需求必须要0 码力 | 30 页 | 4.80 MB | 6 月前3
微博Service Mesh实践4-节省资源Service Mesh Meetup · BeiJing Weibo Mesh在业务应⽤用中的效果 �35 微博Service Mesh实践 - WeiboMesh Mesh VS HTTP Backup Request 效果图 20%~40% 平均耗时 15%~50% SLA999Service Mesh Meetup · BeiJing Meetup · BeiJing 和Istio在Discovery上的区别 �38 微博Service Mesh实践 - WeiboMesh Istio:Pilot适配云平台 WM:注册中⼼心 云 VS ⾮非云 WM Consul、ZK、Vintage WM Envoy Pilot Envoy K8s、Mesos、Eureka Register Register Envoy API API AdapterService Mesh Meetup · BeiJing 和Istio在业务感知上的区别 �39 微博Service Mesh实践 - WeiboMesh 服务透明 VS 模块耦合 Istio:对服务透明 • 云原⽣生 • IPtables流量量拦截 • 服务⽆无感知 WM:模块化耦合 • 耦合度可选 • 定制化开发Service Mesh Meetup0 码力 | 43 页 | 1007.85 KB | 6 月前3
Service Mesh 在『路口』的产品思考与实践落地有 gap 图片来源:https://istio.io/docs/concepts/what-is-istio/11/39 Part 2: 在当下『路口』的思考 Greenfield vs Brownfield Greenfield • 绿地,未开发过的土地 • 全新的项目/新系统 图片来源:https://faasandfurious.com/90 Brownfield lake/15/39 Part 2: 在当下『路口』的思考 但是当下『路口』我们该怎么走? 图片来源: https://www.inc.com/joel-trammell/people-vs-results-you-dont-have-to-choose.html16/39 Part 2: 在当下『路口』的思考 当下『路口』我们该怎么走? 务 wù shí 实17/390 码力 | 40 页 | 15.86 MB | 6 月前3
Apache SkyWalking 在 Service Mesh 中的可观察性应用架构图 12/28挑战1:技术路线多变 基于 Log 成熟、但性能低 Mixer 基于 Metric 高效、但技术门槛高 Mixerless 13/28挑战2:无 Tracing VS 14/28挑战3:维度匹配-Mixer Instance Service Endpoint 15/28挑战3:维度匹配-Telemetry2 Instance Service Endpoint0 码力 | 29 页 | 1.38 MB | 6 月前3
蚂蚁金服双十一 Service Mesh 超大规模落地揭秘With MOSN 扩容 缩容 资源 Buffer Pod APP:4C8G Pod APP:4C8G MOSN:4C2G Operator 注入 传统接入 VS 原地接入 4C2G? Elastic Heap CPU超卖17 方案落地-MOSN 升级策略-有感升级 MOSN V1 APP MOSN V1 APP MOSN V2 APP0 码力 | 26 页 | 2.71 MB | 6 月前3
陌陌Service Mesh架构实践研发人员:升级SDK版本 • SRE:发布系统配置发布项 sidecar模式部署17/24 数据平面升级方式 – 平滑升级机制 平滑要求 • 业务进程不重启 • 流量保持不变 方案选择 • FD迁移 vs 哨兵集群 原理 • sendmsg / recvmsg接口发送FD • 步骤:listener、存量连接、存量数据 Java实现 • 借助JNI与Netty Java实现FD迁移18/240 码力 | 25 页 | 1.25 MB | 6 月前3
Service Mesh Meetup #3 深圳站的开发; • 3. 开发并自测后,提交 merge request(MR)请求合并到 develop 分 支;(执行单元测试,测试状态呈现 MR 中) • 4. Reviewer 对 MR 进行 code review ,批准合并之后, feature/new_branch 会合并到 develop; • 5. 部署负责人将 develop 分支代码部署到测试环境,然后再通知 QA 测试;(脚本或者人工)有什么问题? issue 以 comments 的方式写到 Gitlab MR 中; • 6. Developer 对 MR 进行反复修复直至通过 Sonar 的分析; • 7. Reviewer 对 MR 进行 code review ,批准合并之后,feature/new_branch 会合并到 develop; • 8. Merge 触发 Jenkins/Drone 自动构建; • 9. 构建成功就执行你定义的工作流:打包镜像,触发 Gitea 等)。 • 它的特点: • 一个 .drone.yml 搞定(简单) • 原生 Docker 支持: 任何步骤都是在 Docker 内执行的(环境隔离) • Pipeline as code • 丰富的插件支持 • 极简的Web管理界面 • 其他: • Control PR build through comments(#2056) —> bradrydzewski removed0 码力 | 45 页 | 18.62 MB | 6 月前3
共 14 条
- 1
- 2













