ServiceComb设计揭秘:标准与开发
1 ServiceComb设计揭秘:标准与开发 华为CloudBU PaaS微服务引擎开发团队 代码阅读 • 一、系统架构解读 • 二、系统模块解读 • 三、框架的启劢不停止 • 四、框架运行时请求发送不处理过程 ServiceComb 开发框架 通信模型 (restful、 highway) 编程模型0 码力 | 9 页 | 831.77 KB | 1 年前3微服务场景下的数据一致性解决方案 - 殷湘
和平统一 微服务场景下的数据一致性解决方案 殷湘 华为PaaS微服务架构师 开源能力中心 大纲 •离 数据一致性的起因 •合 数据一致性的解决方案 •断 方案选择建议 离 数据一致性的起因 单体应用 • 单体应用由于所有模块(A/B/C)使用同一个数据库 • 数据一致性通过数据库事务保证 A B C commit rollback 微服务场景 MySQL MongoDB 微服务间:最终一致 如果需要分布式强一致,先考虑设计是否合理而非追求最新技术 合理的设计能大大减少技术复杂度和商业成本 总结 • 起因:离 • 方案:Saga 222 • 选择建议:内刚 外柔 未来的开发计划 • 更易使用的数据一致性方案 • 集成调用链追踪 (Zipkin),定位性能瓶颈 • 可视化事务拓扑,定位异常最多的服务 • 集成熔断功能 (Hystrix) • 实现基于消息队列的通信模式0 码力 | 31 页 | 4.28 MB | 1 年前3开源开发者的一天 - Apache ServiceComb
开源开发者的一天 - Apache ServiceComb [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 议程 • 什么是开源 • 开源开发是什么状态 • 如何加入到开源社区 [社区网站] http://servicecomb.apache.org [Github government by merit 多样化的社区,防止单一公司的控制,鼓励 协同开发 “community over code” 决策透明公开:讨论,决定和存档均基于 mailing list 商业友好的开源许可证, Apache项目使用 permissive license的Apache 2.0许可证 代码是社区合作开发的 投票机制管理社区 代表个人行为不代表企业利益 基于尊重、诚实、专注于技术的社区模 的群组.” 开发者 用户 贡献者 布道师 文档专家 营销 法务 开源社区构成 开源社区⾥⾯没有项⽬经理,只有技术领导 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb • 自底向上构建,通过原型快速迭代验证 • 全方位开放,分布式开发,跨公司沟通协作0 码力 | 31 页 | 2.02 MB | 1 年前3使用微服务架构快速开发万级TPS高可用电商系统
[社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 使用微服务架构快速开发万级TPS高可用电商系统 git clone https://github.com/alec-z/servicecomb-samples cd servicecomb-samples/houserush/script/docker https://github.com/apache?q=servicecomb 什么是微服务架构? 一个既“简单”的又“强大” 的后端架构模式。 简单: • 每个服务相对较小并比较容易开发维护。 • 服务可以独立的部署。 • 更适合小团队(个人)开发管理 • 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb Demo简介 从一个简单的电商Demo开始。 背景:开发商开盘时,让客户“抢购”其当前推售的所有房源,先抢到先得。 客户管理 customer- manage 楼盘管理 realestate 抢购/下订单 house-order 用户中心 user-center0 码力 | 15 页 | 1.46 MB | 1 年前3庖丁解牛:华为云微服务工具解放开发者
庖丁解牛:华为云微服务工具解放开发者 部门:应用平台服务 作者:王启军 日期:20190920 Security Level: 目录 1. 微服务拆分工具 2. 契约管理工具 Huawei Confidential 3 微服务架构的优势 因素 单体架构 微服务架构 交付速度 较慢 较快 故障隔离范围 线程级 进程级 整体可用性 较低 更高 架构持续演进 困难 简单 沟通效率 实现业务复杂性分解难度 困难 容易 产品创新复杂度 困难 容易 一致性实现成本 低 高 时延 低 高 资源成本 低 高 关联查询复杂度 简单 复杂 远程调用 不涉及 涉及 服务治理 不涉及 涉及 对开发人员的要求 低 高 对工具的依赖 较低 较高 运维复杂度 低 高 Huawei Confidential 4 微服务架构的第一大问题——如何拆分微服务? •影响因素 >团队大小 >交付周期 >服务数量爆炸,运维复杂 >服务数量太少,不够灵活 >一个user story影响众多服务 >接口频繁变更 >大量关联查询 >系统架构复杂度提升 Huawei Confidential 6 通过微服务拆分工具解放开发者 支撑活动 方法论 • ThoughtWorks五步十一阶 • DDD聚合 • 事件源Event Sourcing • 命令查询责任分离CQRS 现有做法 业务改造 投入大 +0 码力 | 14 页 | 1.54 MB | 1 年前3Experience on Fast Microservice Programming - 亲自动手,体验微服务开源开发-快速微服务化编程体验
0 码力 | 12 页 | 2.56 MB | 1 年前3Service Mesh在华为公 有云的实践
8年软件⾏行业经验,曾就职于三星,2012年进⼊入云计算领域,对PaaS, DevOps,APM有深⼊入的研究和实践经验。⽅方案⽀支撑近千台VM中应⽤用部署管理监 控 2016年加⼊入华为担任架构师,负责微服务的Go语⾔言开发框架及Service Mesh设计 和落地,Go语⾔言微服务框架被华为5G核⼼心⺴⽹网络采⽤用,Service Mesh服务商⽤用上 线公有云 • 简介 • 实现⼀一个Service Mesh Consumer 0.1 Provider 1.2 Provider 1.3 cookie:version=0.1 cookie:version=0.2 Consumer 0.2 Chassis 语⾔言开发框架 Go-micro Go-kit 还有其他解题思路么? • 多语⾔言SDK⽀支持 • 学习曲线 • 绑定特定技术栈,不容易切换⽅方案 • ⽼老旧单体应⽤用 抽象 L7 SpringMVC Physical Application Transport Network Physical 为什么使⽤用Service Mesh • ⽆无需多种语⾔言的微服务框架开发 • 对业务代码0侵⼊入 • 不适合改造的单体应⽤用 • 开发出开的应⽤用既是云原⽣生的⼜又具有独⽴立性 没有银弹 • 新的故障点 • ⼀一定程度的性能降低 • 侵⼊入式框架有更强的定制和扩展能⼒力 • 部署复杂性0 码力 | 52 页 | 4.37 MB | 1 年前3Apache ServiceComb 微服务创新项目解读
[Github ] https://github.com/apache?q=servicecomb 面对用户痛点持续创新 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 基于Golang实现的高性能服务网格框架,支持零侵入业 务代码实现微服务化改造,与流行微服务框架治理互通 • 项目地址 https://github.com/apache/servicecomb-mesher • 开发计划 - 网关能力 - 融合生态 Istio/Promethues/Skywalking/… - 兼容异构基础设施 K8S/BareMetal/docker/VM/… [Website] http://servicecomb http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb Mesher - 多语言场景下向微服务架构演进 • 快速入门 http://servicecomb.apache.org/cn/docs/mersher-quick-start/ ServiceComb Service Center0 码力 | 13 页 | 1.24 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微服务创新新品发布
2019 2 github.com/apache?q=servicecomb servicecomb.apache.org 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 SpringCloud …… ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同企业遗留系统微服务化快速改造,实现基于契约的数据、服务标准化管控 微服务契约工具 https://github 户快速构建基于流行微服务框架和编程模型 的微服务工程,降低微服务学习成本,使能用户聚焦业务开发,提升遗留系统重构、开发效率。 • 契约生成微服务工程:一键生成基于ServiceComb/SpringCloud的微服务工程。 • 代码提取契约:一键从基于SpringMVC/POJO/JAX-RS编程模型开发代码提取OpenAPI契约。 • 契约校验:一键校验实际代码的实现是否与约定契约一致性。 •0 码力 | 12 页 | 2.96 MB | 1 年前3
共 46 条
- 1
- 2
- 3
- 4
- 5