微服务场景下的数据一致性解决方案 - 殷湘和平统一 微服务场景下的数据一致性解决方案 殷湘 华为PaaS微服务架构师 开源能力中心 大纲 •离 数据一致性的起因 •合 数据一致性的解决方案 •断 方案选择建议 离 数据一致性的起因 单体应用 • 单体应用由于所有模块(A/B/C)使用同一个数据库 • 数据一致性通过数据库事务保证 A B C commit rollback 微服务场景 MySQL MongoDB MongoDB Cassandra 数据一致性无法完全通过数据库保证 离 独立进程 独立部署 独立技术 独立团队 合 数据一致性的解决方案 T1 T2 T3 C2 C1 • 1987年Hector & Kenneth 发表论文 Sagas • Saga = Long Live Transaction (LLT) • LLT = T1 + T2 + T3 + ... + Tn • 每个本地事务Tx 有对应的补偿 Saga transact transact transact B C A Saga compensate compensate 和平统一 减少业务代码集成/运维难度 剥离业务与数据一致性复杂度 和平:低侵入 让运维监控更加简单 可视化事务、调用链 统一:集中式 无状态、可集群、可分片 Event Sourcing架构 高可用 系统架构 – 基于图形 requests0 码力 | 31 页 | 4.28 MB | 1 年前3
Apache ServiceComb 开源微服务社区有代码库读写 权限 决策子项目需 求和方向 负责整体孵化项目决 策及投票 提议Committer候选 人及孵化器候选项目 管理与监督基金会商 务与日常事务 IPMC Apache软件基金会 LC3大会 正式开源 2017.06 2017.11 2018.10 捐赠给Apache 进入孵化器 成为Apache 顶级项目 首个Apache微服务顶级项目 提供一站式的微服务开源解决方案,致力于帮助企业、用户和开发 微服务开发框架 TCC&Saga 分布式事务框架 认证框架 配置中心 多语言方案 Rest(OpenAPI) / RPC 云原生 接入 流行 生态 Apache ServiceComb 融合开源生态的一站式微服务解决方案 融合开源生态的一站式微服务解决方案 • 团队协作困难 • 问题定位困难 • 资源利用率低 • 对现有系统改动小 • 提升性能和硬件 利用率 • 提升定位问题效率 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 微服务鉴权 分布式系统配置中心 微服务契约工具 19 年Apache ServiceComb新品发布0 码力 | 15 页 | 2.86 MB | 1 年前3
Service Mesh在华为公
有云的实践和落地,Go语⾔言微服务框架被华为5G核⼼心⺴⽹网络采⽤用,Service Mesh服务商⽤用上 线公有云 • 简介 • 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • Service Mesh在华为内部的技术演进 我们在构建微服务,⽽而构建微服务是困难 的 微服务架构模式引⼊入的问题 路由规则 • 引流 • ⽀支持权重 • 根据消费者信息或请求特征进⾏行引流 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • Service Mesh在华为内部的技术演进 第⼀一代:基于Nginx的微服务代理 • 2013年,微服务开发平台中的组 件,公司内部某电信业务 • 400多个微服务,800左右实例, 200多个数据中⼼心 Sidecar模式 • 基于容器的分布式系统设计模式 • 容器可以共享存储与⺴⽹网络的能⼒力 • ⽀支持多种部署⽅方式 • 占⽤用资源⼩小(闲置10多M,并发运⾏行时30多M) • 简介 • 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • 与PaaS平台结合 • Service Mesh在华为内部的技术演进 整体架构 Mesher Service Mesher Service Mesher Service0 码力 | 52 页 | 4.37 MB | 1 年前3
华为企业级PaaS 微服务应用微服务架构模式 ServiceComb实践 案例 Agenda servicecomb.apache.org github.com/apache?q=servicecomb 面向开发者的数据中心演进 数据中心服务器虚拟化: Google,亚马逊等公司 以资源为中心: • AWS EC2,S3,Route53 • OpenStack • CloudStack • 混合云 以应用为中心: 微服务治理 负载均衡 限流/降级 熔断/容错 错误注入 黑白名单 微服务管理 注册中心 配置中心 治理中心 全局事务 契约管理 监控大屏 智能分析 环境管理 开发环境 测试环境 预验证环境 灰度环境 生产环境 商业生态(aPaaS/SaaS) 行业 (政府、教育、医疗、零售、……) 伙伴 (软通、中软、幸宜、博思、医 信、……) 工具(CPE) 设计和开发 Eclipse等 扩展插件: 静态检查等 扩展插件: 三方部署系 统 扩展插件: 客户测试系 统 扩展插件: 客户自有仓 库 扩展插件: 客户自有监 控 开发者生态 开源社区 案例 开发者 API 产品 生态 通用微服务工具市场 行业微服务组件市场 虚机(ECS) servicecomb.apache.org github.com/apache?q=servicecomb0 码力 | 17 页 | 3.42 MB | 1 年前3
Apache ServiceComb 微服务创新项目解读使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 微服务鉴权 分布式系统配置中心 微服务契约工具 Apache ServiceComb [Website] 务代码实现微服务化改造,与流行微服务框架治理互通 • 项目地址 https://github.com/apache/servicecomb-mesher • 开发计划 - 网关能力 - 融合生态 Istio/Promethues/Skywalking/… - 兼容异构基础设施 K8S/BareMetal/docker/VM/… [Website] http://servicecomb.apache 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件提供商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同实现基于契约(API)的数据、服务标准化管控 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 微服务 运行环 境 验收微服务 基于OpenAPI规范 全新微服务开发 遗留应用微服务化改造 Maven0 码力 | 13 页 | 1.24 MB | 1 年前3
微服务创新新品发布使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 分布式系统配置中心 服务中心异构通信 多语言运行环境 微服务鉴权 微服务契约工具 Apache ServiceComb 面对用户痛点持续创新 (正在迁移到Apache ServiceComb) 使用服务网格Mesher接入多语言,和编程框架统一治理 关键组件 - Control panel - Registry - Protocol - 监控 - 安全 拥抱生态 - ServiceComb - Istio - Promethues - Zipkin - 华为云 异构基础设施 - CCE - Kubernetes - Docker - VM - Bare metal ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同企业遗留系统微服务化快速改造,实现基于契约的数据、服务标准化管控 微服务契约工具 https://github.com/apache/servicecomb-toolkit ServiceComb toolkit 提供契约、代码、文档相互转换和0 码力 | 12 页 | 2.96 MB | 1 年前3
张波-虎牙直播在微服务改造中的实践虎牙基础保障部中间件团队负责人 2019.8.11 Service Mesh Meetup #6 广州站 微服务改造事项 DNS-F在数据 库场景的落地 名字服务在负 载均衡场景的 落地 DNS-F在微服 务场景的落地 应用层探活 数据库故障 恢复时间长 服务故障牵 引慢,流量 接入生效时 间长 DNS生效慢 内部服务无 就近接入能 力 服务性能下 降流量不摘 除 实 接 入 能 力 异 常 摘 除 能 力 dmx dns-f app nacos M S write read DNS-F在数据库场景的落地 背景 在数据库服务切换时效率低,依赖 业务方修改配置,时效不确定,通 常需要10分钟以上; 目标 数据库切换秒级生效; 技术特点-DNS-F M S S S M1.mysql S1.mysql S2.mysql S3.mysql 近接入能力,内部服务调用无法实现就近访问。 目标 DNS解析成功率 100% 公共DNS分钟级生效 内部DNS秒级生效 基于IP+CMDB实现就近访问能力 11 dns当前现状 1、依赖公共localDNS,解析不稳定,延迟大 落地效果 12 平均解析时间 之前200ms+ 现在1ms以下 缓存命中率 之前92% 现在99.8%+ 解析失败率 之前0.1% 现在0% 应用探活场景下的落地 1、web专区的nginx有健康检查的功能,0 码力 | 27 页 | 1.03 MB | 1 年前3
开源开发者的一天 - Apache ServiceComb50+ 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 Apache软件基金会 涉猎领域 • 人工智能AI • IoT • 大数据 • 金融管理 • 区块链 • …… 未涉猎领域 • 机器人 • 自动驾驶 • 星际探索 • 也有可能是你的项目 [社区网站] http://servicecomb.apache.org 选择一个开源项目从最基础的贡献开始 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb LC3大会 正式开源 2017.11 捐赠给Apache 进入孵化器 成为Apache 顶级项目 华为开始实践 微服务 获中国信通信院 开源创新项目奖 尖峰开源人物奖 首个行业微服务标准 的核心参考框架 中国优秀开源项目 一等奖 2012 2017.6 2018.10 2018.3 2019.1 信通院《开源产业白皮书》: 安全合规业界领先, 成国内三成企业首选 2019.7 2019.8 发布5大 创新项目 2019.10 2019.4 首次接受企业 捐赠的项目 招贤纳士 未来 成为国际化标准、 权威评测认证… 遵循Apache Way,中立、开发、标准、无商业Lock-in、社区健康发展0 码力 | 31 页 | 2.02 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊微服务的设计原则 与⽣生态系统 王磊磊 华为公司技术专家 ThoughtWorks⾸首席咨询师 Sybase Tech Leader • 《微服务架构与实践》作者 • 《DevOps Handbook》中⽂文译者之⼀一 • 国内较早倡导和实践微服务的先⾏行行者 • 对于⾃自动化测试、持续交付、DevOps有丰富的实践经验 • ⻄西安DevOps Meetup 联合发起⼈人 联合发起⼈人 关于我 议题 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统 Are you using microservices? Are you using microservices? https://www.nginx.com/resources/library/app-dev-survey/ 什什么是微服务架构? • 微服务架构是⼀一种架构模式, Conference 2017.4 https://www.continuousdelivery.com/ • 缩短交付周期 • 降低发布⻛风险 • 质量量内嵌 组织协同 环境管理理 数据管理理 松耦合架构 反馈验证 持续集成/部署 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication ● Automation0 码力 | 62 页 | 6.65 MB | 1 年前3
ServiceComb在Service Mesh的
探索与思考Mesh理论的实现 - 基于go语言开发 - 接入ServiceComb等开源生态 - 高性能,11mb常驻内存,1毫秒延迟 Huawei Confidential Mesher架构总览 7 关键组件 - Control panel - Registry - Protocol - 监控 - 安全 拥抱生态 - ServiceComb - Istio - Promethues - Zipkin Cache Management Service center Huawei Confidential 9 基于微服务元数据的路由管理 • 匹配请求者header • 匹配请求者元数据信息 • 按权重引流 • Router使用统一配置模型,支持插件对接不同生态 请求特征: • Service Name • Headers • Consumer metadata Resolve 以定义Header带有device- os=android就将95%流量转 移版本为1.0的实例中,5% 转移到1.1版本 • 请求者的元数据中带有 env=production,那么要将 路由到元数据中带有 env=production的实例中 基于元数据的路由管理十分灵 活,可以满足用户大部分场景 Router Resolver Target Service Infos: Service0 码力 | 21 页 | 8.48 MB | 1 年前3
共 42 条
- 1
- 2
- 3
- 4
- 5













