微服务场景下的数据一致性解决方案 - 殷湘和平统一 微服务场景下的数据一致性解决方案 殷湘 华为PaaS微服务架构师 开源能力中心 大纲 •离 数据一致性的起因 •合 数据一致性的解决方案 •断 方案选择建议 离 数据一致性的起因 单体应用 • 单体应用由于所有模块(A/B/C)使用同一个数据库 • 数据一致性通过数据库事务保证 A B C commit rollback 微服务场景 MySQL MongoDB0 码力 | 31 页 | 4.28 MB | 1 年前3
张波-虎牙直播在微服务改造中的实践虎牙直播在微服务改造中的实践 张波 虎牙基础保障部中间件团队负责人 2019.8.11 Service Mesh Meetup #6 广州站 微服务改造事项 DNS-F在数据 库场景的落地 名字服务在负 载均衡场景的 落地 DNS-F在微服 务场景的落地 应用层探活 数据库故障 恢复时间长 服务故障牵 引慢,流量 接入生效时 间长 DNS生效慢 内部服务无 就近接入能 力 服务性能下 降流量不摘 秒 级 流 量 牵 引 能 力 D N S 就 近 接 入 能 力 异 常 摘 除 能 力 dmx dns-f app nacos M S write read DNS-F在数据库场景的落地 背景 在数据库服务切换时效率低,依赖 业务方修改配置,时效不确定,通 常需要10分钟以上; 目标 数据库切换秒级生效; 技术特点-DNS-F M S S S M1.mysql S1 ), i.e: S3 if group is MySQL 5.7: find all slave on S1:S3 change master to M1 done 切换逻辑 名字服务在负载均衡场景的落地 xxx.huya.com 华南IDC 华中IDC 华北IDC Nginx Nginx Nginx Web server 专线 背景 负载均衡变更需要更新配置发布后 才能生效,节点扩缩容,屏蔽操作0 码力 | 27 页 | 1.03 MB | 1 年前3
反应式微服务框架ServiceComb设计思想&mdashhell 实践案例—华为消费者云 异步场景1:降低长流程/复杂业务流程时延 异步场景2:CPU资源使用率低、性能要求高 异步场景3:需要配置较长超时时间的接口 异步场景4:多个微服务级联调用 性能对比测试: 采用Reactive异步模式之后,TPS提升 43% 左右 时延降低 28% 左右,CPU占用降低 56% 左右 总结 n 根据业务场景选择,可同时使用; n 必须关注整个调用链路,不能只关注通信。0 码力 | 33 页 | 5.68 MB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践im/ServiceCombUsers/Lobby 适合异步的业务采用全栈异步架构,提升性能和可靠性 异步场景1:降低长流程/复杂业务流程时延:消费端需要调用多个微服务,进行业务逻辑编排,多个微服务之间没有执行先后顺序 和参数依赖,可以通过异步微服务调用并行执行 异步场景2:性能提升:使用更少的线程处理更多的消息,提升线程和I/O利用效率 异步场景3:业务超时较长:业务上对服务调用时延不敏感(例如1-3S),如果采用同步调用 用 + 大超时时间,在业务高峰期,如果 时延达到超时阈值,系统很容易被压挂 异步场景4:级联调用:需要级联调用多个微服务,希望提升可靠性,不会因为某个微服务处理慢而导致其它微服务调用被阻塞 传统I/O和业务线程分离技术: 纯Reactive异步: 性能对比测试:采用Reactive异步模式之 后,TPS提升 43% 左右、时延降低 28% 左右,CPU占用降低 56% 左右 实践-故障隔离0 码力 | 15 页 | 1.15 MB | 1 年前3
ServiceComb java SDK详解RestTemplate Producer 透明RPC JAX-RS SpringMVC • 传输绑架开发模式 • 传输可能对业务代码产生严重的侵入 • 治理逻辑与业务代码或传输耦合,需要针对各种场景独立开发 治理 治理 治理 治理 设计演进 服务契约 (OpenAPI) Transport Highway Servlet Rest Vertx Rest Consumer 快推送给相关的消费者 服务发现-LoadBalance 1.将从服务中心取得的实例集合,进行过滤,得到 Endpoint集合 • 根据兼容规则,将实例进行分组 只有edge service场景下,对于同一个目 标微服务,存在多个版本分组 • 兼容分组内,新版本功能集合大于旧版本,自动 根据url选择合适的版本组 • AZ亲和性 • 根据传输通道分组 • 根据实际调用统计,隔离暂时不可用的调用目标 default: enabled: true prefix: rest withVersion: true prefixSegmentCount: 3 Edge Service-自动路由2 有的场景下,业务是从传统应用移植过来的,有的URL已经固定,并且不满足自动路由规则,此时必须考虑兼容问题 对于这些不规则的URL,可以追加通过枚举的方式来指定路由规则 servicecomb: http:0 码力 | 21 页 | 1.15 MB | 1 年前3
Service Mesh在华为公
有云的实践Scheduler 调⽤用场景1 • 透明TLS传输能⼒力,⽤用户可托管⾃自⼰己的证书 • 提供者可获得服务端限流能⼒力和处理链功能 ServiceA Mesher Mesher ServiceB https://10.100.2.3:30101 http://127.0.0.1:8080 http://127.0.0.1:30101 调⽤用场景2 • 消费者与Mesher⼀一起部署 消费者与Mesher⼀一起部署 • 提供者为Java或者Go语⾔言微服务框架开发 • 提供者为普通的业务应⽤用 ServiceA Mesher ServiceB ServiceC SDK 调⽤用场景3 • 提供者都与Mesher部署 • 消费者为Java或者Go语⾔言微服务框架开发 • 消费者不使⽤用框架 ServiceA Mesher ServiceB SDK ServiceC 接受本地请求0 码力 | 52 页 | 4.37 MB | 1 年前3
ServiceCenter - 服务注册中心ServiceCenter在一个时间窗内监听到etcd有80%的实例下线事件,会立即 启劢自我保护机制。即使etcd存储的数据全部丢失,这种极端场景下, SDK与ServiceCenter之间可在不影响业务的前提下,做到数据自劢恢复。 虽然这个恢复是有损的,但在这种灾难场景下还能保持业务基本可用。 怎么实现的? 可视化 可监控 华为 PaaS 微服务开源框架 让云原生开发更简单0 码力 | 18 页 | 856.27 KB | 1 年前3
Metrics in ServiceComb 1.0.0-m1去间隔为 5秒,那么Prometheus必定会在三次采样中获取一次重复数据; • 设定存在取舍,不同的场景对周期的需求不同;但可以通过设置多 周期弥补。(例如统计报告中的日报、周报、月报、季报、年报) 优势: • 具备高性能的同时又能保持极低的开销。 使用多周期适应不同的场景需求 支持Health Check • 通过Health Check让微服务支 持检查依赖组件的状态并返0 码力 | 18 页 | 938.89 KB | 1 年前3
康彬-基于微服务的混合云和同城双活实践php 技术栈向 java 技术栈的无缝转 型,从私有云向混合云的进化,及新一代的同城双活技 术架构的研发与落地工作 信用成长成就品质生活 • 大促的痛及混合云实践 • 单元化&双活的应用场景 • 同城双活的探索之路 • 未来的规划 大促的痛及混合云实践 业务服务层 资源层 分期乐 前端业务服务 桔子理财 鼎盛资管 …… mq管理系统 job管理系统 中台服务层 核心交易平台 LB Nginx-Proxy Nginx-Proxy 外网 内网 DNS h5 LB 混合 云 同城 双活 单 元 中 心 云 单 元 native/wex 单元化&多活应用场景 蓝绿发布step1 LB 100 % service1_A SET_A service2_A service3_A service1_B SET_B service2_B service3_B0 码力 | 47 页 | 6.09 MB | 1 年前3
微服务架构及ServiceComb实践https://github.com/apache?q=servicecomb 微服务的“强大”- 以电商“抢购”场景举例 背景:因为竞争的加剧,电商系统越来越复杂,无论电商系统的规模大小,微服务几乎是事实标准。 12306网站 15年 峰值 1032 单/s 11.7w PV 电商“抢购”“场景中企业中遇到的困难 1. 性能要求不断优化,和不能引入Bug之间的矛盾。 2. “变态”级别的高可用性要求。0 码力 | 14 页 | 2.04 MB | 1 年前3
共 19 条
- 1
- 2













