支持10万TPS的高性能服务间通信解读
servicecomb.apache.org github.com/apache?q=servicecomb 支持10万TPS的高性能服务间通信解读 刘宝 2 github.com/apache?q=servicecomb servicecomb.apache.org 刘宝,华为微服务开发专家,Apache ServiceComb Committer。 拥有10年以 上java开发框架的开发和运维经验。热爱微 eout: [schemaId]: [operationId]: 30000 6 github.com/apache?q=servicecomb servicecomb.apache.org 性能模式 servicecomb.apache.org github.com/apache?q=servicecomb Copyright©2018 Huawei Technologies Co.0 码力 | 7 页 | 1.58 MB | 1 年前3可发布版-美团点评微服务OCTO-曹继光
美团点评微服务框架及治理系统:1?: 演进g路 曹继光 美团点评 资深技术a家 ��� �������������� W &0%(年加入美团,先后负责 服务框架及治理v系、性能 q化、S3?化等方向 W 经历h美团服务治理v系l0 到%,再到发展完善的各c阶 段 W 服务治理系统:1?:演进及架构设计 W 美团点评服务治理实践 W :1?:在SEPTIDE MEQh 青铜 Ø 基础能力达标 铂金 Ø 性能一流 Ø 足n支撑数百万订单量级b务 Ø 易用性q秀 服务治理演进各c阶段 服务治理实践(%):基础能力达标 - 青铜段t 监控报警 数据分析 • 性能指标 • 来源去向 • f机分析 • 数据报表 • 调用链路 • 节点监控 • 性能监控 • b务监控 • 异常监控 服务治理实践(3) +易用性 V 细粒度埋点监控 Client� Server� :1?:服务框架最大性能 • (核(4,%K数据包3DhM测试 • 原则:框架自身不造成应用瓶颈 服务治理实践(() +性能提升 - 铂金段t 系统化性能q化实践 V 一站式性能q化平台SDBJNEJ 流程化、自动化 零门槛、u成本 点击&次鼠标 6分钟出诊断报告 诊断对服务负面影响小,支持0 码力 | 35 页 | 14.10 MB | 1 年前3消费者云CSE微服务实践
从集成角度看,希望可以灵活的不Spring Boot等框架集成 微服务框架技术选型-高性能、低时延 硬件成本已经是白菜价,软件性能丌重要? 消费者云业务服务集群规模大,单点的性能提升能够带来巨大收益 从用户体验看,端到端时延非常重要,分布式乊后带来的时延增加,是一个很大的挑戓 丌是所有业务都有苛刻的性能需求,丌同业务对性能的诉求丌同, 可以按需选择协议和传输方式,服务不传输协议、序列化方式解耦 CSE在消费者云业务的实践-服务调用高性能 CSE的高性能设计: 提供Rest和Highway RPC两种通信协议,满足 丌同业务场景 高性能的Rest:集成Vertx,底层基于Netty,性 能比传统Servlet NIO性能高X倍 Highway RPC:采用Netty + PB,既支持多语 言,又保证高性能 高性能幵发设计:线程绑定技术,网络I/O线程0 码力 | 22 页 | 1.39 MB | 1 年前3使用微服务架构快速开发万级TPS高可用电商系统
• 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 适合同学们学习 Demo也可以作为生产系统的一部分 [社区网站] http://servicecomb.apache.org [Github ] https://github ,无法做出高质量的拆分。 不同的业务,涉及的不同的服务间通信有不同的要求 1. 关注事务性要求(ACID) 2. 关注对性能的要求 举例:客户维护和订单是2个微服务,订单系统对性能有较高要求,所以可以考虑把购房资格信息从客户维护微服务同步到订单系统,改同步动作 对性能没有要求,对事务性有要求。 常见的服务间通信模式:同(异)步通信,API组合,基于MQ的异步通信 事务性: saga, 背景:因为竞争的加剧,电商系统越来越复杂,无论电商系统的规模大小,微服务几乎是事实标准。 12306网站 15年 峰值 1032 单/s 11.7w PV 电商“抢购”“场景中企业中遇到的困难 1. 性能要求不断优化,和不能引入Bug之间的矛盾。 2. “变态”级别的高可用性要求。 3. 声誉和法律风险。 4. 抢购体验 à 商家的技术能力 à 产品质量。 [社区网站] http://servicecomb0 码力 | 15 页 | 1.46 MB | 1 年前3Service Mesh在华为公 有云的实践
• ⽆无需多种语⾔言的微服务框架开发 • 对业务代码0侵⼊入 • 不适合改造的单体应⽤用 • 开发出开的应⽤用既是云原⽣生的⼜又具有独⽴立性 没有银弹 • 新的故障点 • ⼀一定程度的性能降低 • 侵⼊入式框架有更强的定制和扩展能⼒力 • 部署复杂性 • 简介 • 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • Zipkin Huawei APM Prometheus Grafana Physical Kubernetes Design Goal • 尽可能提供定制化 • 减少对业务影响 • ⾼高性能 • 使服务可视化 • 使服务更具弹性 Data Plane 即Mesher组件本⾝身,对所有请求进⾏行处 理 • 注册发现服务 • 执⾏行路由策略 • 负载均衡 • 透明TLS传输 CSE 性能对⽐比 Mesher1.0 Istio 0.1.6(Envoy) Linkerd1.1.3 Latency(ms) 17.2 465 34.7 TPS 8264 388 4235 CPU 300% 170% 310% Memory 35M 20M 196M 并发 20 20 20 4U8G 与ServiceComb侵⼊入式框架对⽐比 Mesher与普通应⽤用性能对⽐比0 码力 | 52 页 | 4.37 MB | 1 年前3杨钦民-唯品会微服务架构演进之路v0.2
osp-client� osp-proxy� osp-container� ������ RPC��� ������ ����� ���� ����� ���� ����� 142高性能服务化框架l势 ��� • ������ • ����������� • �������Load Balancer ���� • 4�Thrift�Netty • ����QPS ü 43L性能指标 ü 拓扑s赖关系和性能指标 ü 调用链检索Q通过W务关键字) ü 慢调用查询 ü 失败调用查询Q4NNT5NN) ü 调用链详情展示 监控告警 全链路监控/eIcLIO核心jv 应用开发c员 I5运维T监控中心c员 应用管理c员 • 快速故障告警和问题定o • 把握应用性能和容量评n • 提r可追溯的性能数据 • 定o线U服务性能瓶颈 定o线U服务性能瓶颈 • 持续l化g码和43L • 帮助快速解决线U问题 • 全方o把握应用整p拓扑结构 • 定o全网应用瓶颈 • 帮助l化关键W务 全链路监控/eIcLIO架构 Web FDLEe AgeFK 接y层 A22 数据源 CafCa 集 群 实时计算层 4HaIC 集 群 OpenTSDB� Elas-c0 码力 | 43 页 | 3.89 MB | 1 年前3微服务架构及ServiceComb实践
• 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 适合同学们学习 Demo也可以作为生产系统的一部分 [社区网站] http://servicecomb.apache.org [Github ] https://github ,无法做出高质量的拆分。 不同的业务,涉及的不同的服务间通信有不同的要求 1. 关注事务性要求(ACID) 2. 关注对性能的要求 举例:商品维护和下订单是2个微服务,下订单系统对性能有较高要求,所以可以考虑把商品的价格从商品维护微服务同步到订单系统,该同步动作 对性能没有要求,对事务性有要求。 常见的服务间通信模式:同(异)步通信,API组合,基于MQ的异步通信 事务性: saga, 背景:因为竞争的加剧,电商系统越来越复杂,无论电商系统的规模大小,微服务几乎是事实标准。 12306网站 15年 峰值 1032 单/s 11.7w PV 电商“抢购”“场景中企业中遇到的困难 1. 性能要求不断优化,和不能引入Bug之间的矛盾。 2. “变态”级别的高可用性要求。 3. 声誉和法律风险。 4. 抢购体验 商家的技术能力 产品质量。 [社区网站] http://servicecomb0 码力 | 14 页 | 2.04 MB | 1 年前3Service Mesh的思考及在华为云的实践
接入华为云和Istio生态 • 高性能,轻量:11mb RES, 1ms延迟 Website: http://servicecomb.incubator.apache.org/ Gitter: https://gitter.im/ServiceCombUsers/Lobby Mesher Design Goal • 侵入式与非侵入式可结合使用 • 不绑定基础设施 • 服务可视化 • 高性能,轻量 • 尽最大可能插件化各功能模块 配置中心) • 为mesher对接APM 日志收集 • 为mesher对接APM metrics收集 • 为mesher 对接APM 调用链追踪 • 告知mesher业务服务的版本以及监控 端口 性能损耗 使用前 使用后 TPS 26000 6300 Latency 0.76ms 3.3ms CPU 100% 130% Concurrency 20 20 Website: http://servicecomb org/ Gitter: https://gitter.im/ServiceCombUsers/Lobby Http server mesher Http server ab ab 真正的性能损耗 使用前 使用后 TPS 4544 4467 Latency 4.4ms 4.47ms CPU 100% 180% Concurrency 20 20 Website: http://servicecomb0 码力 | 29 页 | 1.55 MB | 1 年前3ServiceComb在华为消费者云的亿级用户微服务实践
微服务API设计:支持Swagger API规范 开发方式:支持透明RPC、Spring MVC风格的微服务开发 编程模型:同时支持同步、异步的编程模型 性能:支持原生的Reactive模式(EventLoop),相比于传 统的同步服务调用,性能更高(吞吐量N倍+提升、时延降低 为原来的50%-) 轻量级、易集成:可以方便的与Spring MVC、Tomcat等 已有技术和容器集成,支持轻量级的standalone部署 https://gitter.im/ServiceCombUsers/Lobby 适合异步的业务采用全栈异步架构,提升性能和可靠性 异步场景1:降低长流程/复杂业务流程时延:消费端需要调用多个微服务,进行业务逻辑编排,多个微服务之间没有执行先后顺序 和参数依赖,可以通过异步微服务调用并行执行 异步场景2:性能提升:使用更少的线程处理更多的消息,提升线程和I/O利用效率 异步场景3:业务超时较长:业务上对服务 时延达到超时阈值,系统很容易被压挂 异步场景4:级联调用:需要级联调用多个微服务,希望提升可靠性,不会因为某个微服务处理慢而导致其它微服务调用被阻塞 传统I/O和业务线程分离技术: 纯Reactive异步: 性能对比测试:采用Reactive异步模式之 后,TPS提升 43% 左右、时延降低 28% 左右,CPU占用降低 56% 左右 实践-故障隔离 Website: http://servicecomb0 码力 | 15 页 | 1.15 MB | 1 年前3微服务架构实践-唯品会
ü 43.性能指标 ü 拓扑m赖v系和性能指标 ü 调用链检索O通过U务v键字P ü 慢调用查询 ü 失败调用查询O4LLQ5LLP ü 调用链详情展示 监控告警 76 �����Mercury���� 应用开发人员 I5运维Q监控W心人员 应用管理人员 • 快速故障告警和问题定h • 把握应用性能和容量评g • 提l可追溯的性能数据 • 定h线S服务性能瓶颈 定h线S服务性能瓶颈 • 持续e化b码和43. • 帮助快速解x线S问题 • t方h把握应用整i拓扑结构 • 定ht网应用瓶颈 • 帮助e化v键U务 77 �����Mercury�� Web FBJCe AgeDI 接s层 A22 数据源 AafAa 集 群 实时计算层 4FarA集 群 OpenTSDB Elas-c ���review ���review ���! WAP! • 横向:针对单个核心U务系统进行检查 • 纵向:针对U务线v联系统进行t链路检查 • 重点:架构、流程、缓存、消息队列、数据库、性能、高可用、隔离、限流、降级、熔断等 ��QPS&�� ����! ����! �����! ����! �����QPS ������� ������� ������� ������� �������0 码力 | 120 页 | 82.16 MB | 1 年前3
共 31 条
- 1
- 2
- 3
- 4