微服务环境下的系统治理与容错微服务环境下的系统治理与容错 王新栋 • 《架构修炼之道》作者,《决战618:探秘京东技术取胜之道》联合作者; • 对分布式、微服务系统有多年实战经验,所设计和研发的系统经历了多次百亿流量的验证; • 热爱分享,维护技术公众号 [程序架道],对高并发、高可用系统有持续不懈的追求; 个人微信号 技术公众号 • 微服务架构 • 容错 • 总结 • 治理 微服务架构 架构 架构 解耦合 独立开发部署 架构、组织、流程 微服务架构定义“三步法” 微服务拆分方法 微服务拆分-指导原则 拆服务-单体重构的节奏 服务分解的四大障碍 1、网络延迟 2、同步通信降低了可用性 3、跨服务的数据一致性 4、上帝类 微服务的忠告 n 第一,要记住微服务不是解决所有问题的万能 “银弹”。 n 第二,编写整洁的代码和使用自动化测试至关重要,因为这是现代软件开发的基础。 器和其他工具。 n 第四,确保你的服务松耦合,并且可以独立开发、测试和部署,不要搞成分布式单体,那将会是巨大的灾难。 n 第五,也是最重要的,不能只是在技术上采用微服务架构。拥抱DevOps的原则和实践,在组织结构上实现跨 职能的自治团队,这必不可少。 还必须记住:实现微服务架构并不是你的目标。你的目标是加速大型复杂应用程序的开发。 --Chris Richardson 容错 故障和问题0 码力 | 45 页 | 16.09 MB | 1 年前3
ServiceComb设计揭秘:标准与开发1 ServiceComb设计揭秘:标准与开发 华为CloudBU PaaS微服务引擎开发团队 代码阅读 • 一、系统架构解读 • 二、系统模块解读 • 三、框架的启劢不停止 • 四、框架运行时请求发送不处理过程 ServiceComb 开发框架 通信模型 (restful、 highway) 编程模型0 码力 | 9 页 | 831.77 KB | 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 年前3
Experience on Fast Microservice Programming - 亲自动手,体验微服务开源开发-快速微服务化编程体验0 码力 | 12 页 | 2.56 MB | 1 年前3
华为企业级PaaS 微服务应用10年软件⾏业经验,2012年进⼊云计算领域,对PaaS, DevOps, APM等有深⼊的研究和实践经验。 负责华为公司微服务框架的设计,开发和落地,微服务引擎云服务商⽤ 上线公有云,开发国内首个Go语言微服务框架与Service mesh商用方案, 并助力企业在生产环境中使用。 现任公有云PaaS服务ServiceStage首席工程师 3 github.com/apache?q=servicecomb 从主机为中心到应用为中心 微服务架构模式 ServiceComb实践 案例 Agenda servicecomb.apache.org github.com/apache?q=servicecomb 面向开发者的数据中心演进 数据中心服务器虚拟化: Google,亚马逊等公司 以资源为中心: • AWS EC2,S3,Route53 • OpenStack • CloudStack • 混合云 注册中心 配置中心 治理中心 全局事务 契约管理 监控大屏 智能分析 环境管理 开发环境 测试环境 预验证环境 灰度环境 生产环境 商业生态(aPaaS/SaaS) 行业 (政府、教育、医疗、零售、……) 伙伴 (软通、中软、幸宜、博思、医 信、……) 工具(CPE) 设计和开发 构建 测试 发布上线 监控运维 部署 流 水 线 ( 持 续 集 成0 码力 | 17 页 | 3.42 MB | 1 年前3
ServiceComb 的前世今生1 ServiceComb 的前世今生 华为CloudBU PaaS 微服务引擎开发团队 我们一直在很认真地做微服务 华为CloudBU PaaS 微服务引擎开发团队 议题 • 企业应用微服务化的趋势和动机 • 面临的问题 • 解决思路和设计方案 • 从软件到服务 3 企业IT技术应用曲线 • 微服务在2016年成为仅次于 物联网和认知计算的第三热 2014 MSA By Simon Wardley http://enterpriseitadoption.com/ 传统企业应用开发模式 开发 产品发布计划 开发 集成开发 运维人员替换 部 署 旧 版 本 开发 开发 测试/发布 • 技术实现单一,需要想办法用一种技术解决所有问题 • 只能按大颗粒系统发布版本,响应周期长 (小特性版本3-6个月,每年1个大版本) 产品发布计划 开发 部署到生成 环境 部署到生成 环境 开发 开发 部署到生成 环境 部署到生成 环境 部署到生成 环境 开发 开发 bugs 旧版本持续运行 Speed & Safety 面临的问题 • 企业应用和互联网应用的不同? • 如何做到不同ISV的应用互联互通统一管理? • 怎么才能加快微服务的开发? • 微服务化后如何保证性能?0 码力 | 16 页 | 1.45 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊• 每个服务运⾏行行在其独⽴立的进程中,服务间采⽤用轻量量级的通信机制协作(通常是基于RESTful API) • 每个服务都围绕着具体业务进⾏行行构建,并且能够被独⽴立的部署到⽣生产环境、类⽣生产环境等 Microservices – the new architectural style. Martin Fowler,Mar 2014 ...... Micro (u)Services Architecture Conference 2017.4 https://www.continuousdelivery.com/ • 缩短交付周期 • 降低发布⻛风险 • 质量量内嵌 组织协同 环境管理理 数据管理理 松耦合架构 反馈验证 持续集成/部署 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication ● Automation 通⽤用语⾔言(Ubiquitous language) • 界限上下⽂文(Bundle context) 围绕业务-构建团队 围绕业务-构建团队 VS 服务A 开发 测试 DBA UI/UX 运维 服务B 开发 测试 DBA UI/UX 运维 康威定律律:组织产⽣生的设计成果等同于组织内的协作结构 微服务架构的设计原则 • 竞争能⼒力力平衡 • 围绕业务构建 •0 码力 | 62 页 | 6.65 MB | 1 年前3
Apache ServiceComb 开源微服务社区2017.06 2017.11 2018.10 捐赠给Apache 进入孵化器 成为Apache 顶级项目 首个Apache微服务顶级项目 提供一站式的微服务开源解决方案,致力于帮助企业、用户和开发 者将应用轻松微服务化上云,实现对微服务应用的高效运维管理 华为开始实践 微服务 2012年 2019 • 2018 OSCAR尖峰开源技术创新奖 • 2018 COSCL首届中国优秀开源项目一等奖 com/apache/servicecomb-pack 集中式事务协调器: https://github.com/apache/servicecomb-saga-actuator 微服务契约开发工具:https://github.com/apache/servicecomb-toolkit 案例集:https://github.com/apache/servicecomb-samples ServiceMesh 服务通信规范 配置 流行微服务框架 可视化监控 分布式追踪 遗留应用转型 全新微服务开发 开发工具 代码自 动生成 契约自 动提取 契约校验 文档自 动生成 微服务脚手架 快速入门 案例代码库 用户手册 社区网站 开源异构微服务兼容 内核 服务中心 微服务开发框架 TCC&Saga 分布式事务框架 认证框架 配置中心 多语言方案 Rest(OpenAPI)0 码力 | 15 页 | 2.86 MB | 1 年前3
共 46 条
- 1
- 2
- 3
- 4
- 5













