 微服务的设计原则与⽣态系统 - 王磊Sybase Tech Leader • 《微服务架构与实践》作者 • 《DevOps Handbook》中⽂文译者之⼀一 • 国内较早倡导和实践微服务的先⾏行行者 • 对于⾃自动化测试、持续交付、DevOps有丰富的实践经验 • ⻄西安DevOps Meetup 联合发起⼈人 关于我 议题 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统 Are https://www.continuousdelivery.com/ • 缩短交付周期 • 降低发布⻛风险 • 质量量内嵌 组织协同 环境管理理 数据管理理 松耦合架构 反馈验证 持续集成/部署 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication ● Automation ● Measuring ● Sharing 康威定律律:组织产⽣生的设计成果等同于组织内的协作结构 微服务架构的设计原则 • 竞争能⼒力力平衡 • 围绕业务构建 • “去”中⼼心化 • ⾃自动化“⼀一切” 去“中⼼心化” - ⽤用合适的技术解决问题 数据库作为集成点 去“中⼼心化” - 业务持有数据 ⽤用户会话 Redis 会话服务 上下⽂文 购物⻋车 购物⻋车 产品数据 Mongo 产品服务 上下⽂文 上下⽂文 Redis 去“中⼼心化”0 码力 | 62 页 | 6.65 MB | 1 年前3 微服务的设计原则与⽣态系统 - 王磊Sybase Tech Leader • 《微服务架构与实践》作者 • 《DevOps Handbook》中⽂文译者之⼀一 • 国内较早倡导和实践微服务的先⾏行行者 • 对于⾃自动化测试、持续交付、DevOps有丰富的实践经验 • ⻄西安DevOps Meetup 联合发起⼈人 关于我 议题 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统 Are https://www.continuousdelivery.com/ • 缩短交付周期 • 降低发布⻛风险 • 质量量内嵌 组织协同 环境管理理 数据管理理 松耦合架构 反馈验证 持续集成/部署 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication ● Automation ● Measuring ● Sharing 康威定律律:组织产⽣生的设计成果等同于组织内的协作结构 微服务架构的设计原则 • 竞争能⼒力力平衡 • 围绕业务构建 • “去”中⼼心化 • ⾃自动化“⼀一切” 去“中⼼心化” - ⽤用合适的技术解决问题 数据库作为集成点 去“中⼼心化” - 业务持有数据 ⽤用户会话 Redis 会话服务 上下⽂文 购物⻋车 购物⻋车 产品数据 Mongo 产品服务 上下⽂文 上下⽂文 Redis 去“中⼼心化”0 码力 | 62 页 | 6.65 MB | 1 年前3
 2-4-禚娴静-微服务你玩得起吗独立运行  • 轻量级通信机制  • 独立的部署  • 去中心化 • 要多小?  • 怎么部署?  • 出错怎么办?  • 如何保证一致性 玩得起微服务的条件 持续改进的⾃自组织⽂文 快速响 Tall enough 服 务 ⾃自 演 进 2009年 2012年初探微服务 2014年⿊黑暗时代 2015年服务治理 2016年新的征程 背景介绍 模块C 新的业务系统A 模块D 重复? 领域服务 服务A 服务B 服务C 服务D 业务系统A Librarian 业务系统B 服务E 服务F 微服务架构初步形成 那时的微服务 系统集成消除重复 ful API Restful API ⾃自动 化部署 特性 团队 它给我们带来了哪些好处? 新业务C三个⽉月上线 领域服务 服务A 服务B 服务C 服务D 服务E 测试交付 上线发布 运营 持续交付 持续改进 建⽴立闭环反馈系统 � � � � � � � � � � � � DevOps 这样就⾜足够了吗? 快速响应 ⼀一个具有快速复原能⼒力, ⼀一个具有持续改进⾃自组织⽂文化的团队! Podcast-�� ���� ���� 2014 2012 2015 持续改进的⾃自组织⽂文化 总结 持续改进的⾃自组织⽂文 快速响0 码力 | 51 页 | 8.18 MB | 1 年前3 2-4-禚娴静-微服务你玩得起吗独立运行  • 轻量级通信机制  • 独立的部署  • 去中心化 • 要多小?  • 怎么部署?  • 出错怎么办?  • 如何保证一致性 玩得起微服务的条件 持续改进的⾃自组织⽂文 快速响 Tall enough 服 务 ⾃自 演 进 2009年 2012年初探微服务 2014年⿊黑暗时代 2015年服务治理 2016年新的征程 背景介绍 模块C 新的业务系统A 模块D 重复? 领域服务 服务A 服务B 服务C 服务D 业务系统A Librarian 业务系统B 服务E 服务F 微服务架构初步形成 那时的微服务 系统集成消除重复 ful API Restful API ⾃自动 化部署 特性 团队 它给我们带来了哪些好处? 新业务C三个⽉月上线 领域服务 服务A 服务B 服务C 服务D 服务E 测试交付 上线发布 运营 持续交付 持续改进 建⽴立闭环反馈系统 � � � � � � � � � � � � DevOps 这样就⾜足够了吗? 快速响应 ⼀一个具有快速复原能⼒力, ⼀一个具有持续改进⾃自组织⽂文化的团队! Podcast-�� ���� ���� 2014 2012 2015 持续改进的⾃自组织⽂文化 总结 持续改进的⾃自组织⽂文 快速响0 码力 | 51 页 | 8.18 MB | 1 年前3
 Apache ServiceComb 微服务创新项目解读com/apache?q=servicecomb 面对用户痛点持续创新 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 https://github.com/apache/servicecomb-toolkit • 开发计划 - 支持API生成Spring Cloud微服务工程 - 支持OAI V3 - 支持toolkit plugin集成到Eclipse&Intellij 接口层 API提取 文档制作 API校验 代码解析 微服务开发框架层 ServiceComb SpringCloud …… 实现层 插件 命令行 ServiceComb ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件提供商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同实现基于契约(API)的数据、服务标准化管控 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约0 码力 | 13 页 | 1.24 MB | 1 年前3 Apache ServiceComb 微服务创新项目解读com/apache?q=servicecomb 面对用户痛点持续创新 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 https://github.com/apache/servicecomb-toolkit • 开发计划 - 支持API生成Spring Cloud微服务工程 - 支持OAI V3 - 支持toolkit plugin集成到Eclipse&Intellij 接口层 API提取 文档制作 API校验 代码解析 微服务开发框架层 ServiceComb SpringCloud …… 实现层 插件 命令行 ServiceComb ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件提供商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同实现基于契约(API)的数据、服务标准化管控 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约0 码力 | 13 页 | 1.24 MB | 1 年前3
 Apache ServiceComb 开源微服务社区采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 微服务鉴权 分布式系统配置中心 微服务契约工具 19 年Apache ServiceComb新品发布 面对用户痛点持续创新 财政业务应用 指导 规约 支撑 支撑 云平台 财政业务中台 财政云 统一纵向 层级交换 机制 统一信息 安全体系 软件开发服务 ServiceStage 大数据服务 系统集成服务 IaaS(计算、存储、网络、安全) 中间件服务 标准与规范 应用全微服务化,接口标准由财政厅统一管控, ISV只需聚焦微服务交付,降低依赖性 统一业务模型和数据集成标准,系统无缝对接, 财政数据统一呈现,业务全盘管控 基于先进研发理念,标准化研发环境和工具, 开发效率高,财政需求上线快0 码力 | 15 页 | 2.86 MB | 1 年前3 Apache ServiceComb 开源微服务社区采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 微服务鉴权 分布式系统配置中心 微服务契约工具 19 年Apache ServiceComb新品发布 面对用户痛点持续创新 财政业务应用 指导 规约 支撑 支撑 云平台 财政业务中台 财政云 统一纵向 层级交换 机制 统一信息 安全体系 软件开发服务 ServiceStage 大数据服务 系统集成服务 IaaS(计算、存储、网络、安全) 中间件服务 标准与规范 应用全微服务化,接口标准由财政厅统一管控, ISV只需聚焦微服务交付,降低依赖性 统一业务模型和数据集成标准,系统无缝对接, 财政数据统一呈现,业务全盘管控 基于先进研发理念,标准化研发环境和工具, 开发效率高,财政需求上线快0 码力 | 15 页 | 2.86 MB | 1 年前3
 微服务架构及ServiceComb实践的后端架构模式。 简单: • 每个服务相对较小并比较容易开发维护。 • 服务可以独立的部署。 • 更适合小团队(个人)开发管理 • 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 适合同学们学习 Demo也可以作为生产系统的一部分 -mesher 多语言解决方案 c) 重试 d) 负载均衡 e) 限流 f) 降级(隔离、熔断、容错) g) 分布式跟踪 • 网关 a) 路由 b) 黑白名单 c) 和认证鉴权集成 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 服务间的通信 背景:为什么服务间通信重要?0 码力 | 14 页 | 2.04 MB | 1 年前3 微服务架构及ServiceComb实践的后端架构模式。 简单: • 每个服务相对较小并比较容易开发维护。 • 服务可以独立的部署。 • 更适合小团队(个人)开发管理 • 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 适合同学们学习 Demo也可以作为生产系统的一部分 -mesher 多语言解决方案 c) 重试 d) 负载均衡 e) 限流 f) 降级(隔离、熔断、容错) g) 分布式跟踪 • 网关 a) 路由 b) 黑白名单 c) 和认证鉴权集成 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 服务间的通信 背景:为什么服务间通信重要?0 码力 | 14 页 | 2.04 MB | 1 年前3
 NTTDATA 汽车行业数字营销平台微服务化实践汽车数字营销平台微服务化转型 打造集中化、标准化、智能化、便利化的汽车品牌数字营销平台  支持数字营销快速、多样、变化的业务场景,避免系统分散重复,将技术投资回报最大化。  以智能化,可持续发展思路,打造车企C2B2C用户体验优化闭环。  可配置适应业务生长,帮助企业更快速、灵活地应对不断变化的市场需求,随时调整业务模式快速配置,以最低成本适应弹性的数据需求。 • 主机厂/经销商、线上/线下线索管 工单管理 线索管理 销售助手 权限管理 客服 中台 电话客服 在线客服 业务 分析 主数据管理 …… 用户行为分析 销售转化分析 活动分析 客服分析 …… 业务智能核心,C2B2C闭环持续优化 第三方 媒体 邮件 车联网 微博 渠 道 数据沉淀-分析-驱动 车 7 github.com/apache?q=servicecomb servicecomb.apache.org (SpringBoot + 华为 云CSE) 工单 服务实例#N (SpringBoot + 华 为云CSE) 系统管理 服务实例 #N (SpringBoot + 华 为云CSE) 阿里云集成 服务实例 #N (SpringBoot + 华 为云CSE) 客户和线索 数据库 工单 数据库 系统管理 数据库 CCC + 客服 数据库 更多新业务 服务实例 #N (SpringBoot0 码力 | 11 页 | 2.25 MB | 1 年前3 NTTDATA 汽车行业数字营销平台微服务化实践汽车数字营销平台微服务化转型 打造集中化、标准化、智能化、便利化的汽车品牌数字营销平台  支持数字营销快速、多样、变化的业务场景,避免系统分散重复,将技术投资回报最大化。  以智能化,可持续发展思路,打造车企C2B2C用户体验优化闭环。  可配置适应业务生长,帮助企业更快速、灵活地应对不断变化的市场需求,随时调整业务模式快速配置,以最低成本适应弹性的数据需求。 • 主机厂/经销商、线上/线下线索管 工单管理 线索管理 销售助手 权限管理 客服 中台 电话客服 在线客服 业务 分析 主数据管理 …… 用户行为分析 销售转化分析 活动分析 客服分析 …… 业务智能核心,C2B2C闭环持续优化 第三方 媒体 邮件 车联网 微博 渠 道 数据沉淀-分析-驱动 车 7 github.com/apache?q=servicecomb servicecomb.apache.org (SpringBoot + 华为 云CSE) 工单 服务实例#N (SpringBoot + 华 为云CSE) 系统管理 服务实例 #N (SpringBoot + 华 为云CSE) 阿里云集成 服务实例 #N (SpringBoot + 华 为云CSE) 客户和线索 数据库 工单 数据库 系统管理 数据库 CCC + 客服 数据库 更多新业务 服务实例 #N (SpringBoot0 码力 | 11 页 | 2.25 MB | 1 年前3
 使用微服务架构快速开发万级TPS高可用电商系统的后端架构模式。 简单: • 每个服务相对较小并比较容易开发维护。 • 服务可以独立的部署。 • 更适合小团队(个人)开发管理 • 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 适合同学们学习 Demo也可以作为生产系统的一部分 com/apache/servicecomb-mesher 多语言解决方案 c) 重试 d) 负载均衡 e) 限流 f) 降级(隔离、熔断、容错) • 网关 a) 路由 b) 黑白名单 c) 和认证鉴权集成 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 服务间的通信 背景:为什么服务间通信重要?0 码力 | 15 页 | 1.46 MB | 1 年前3 使用微服务架构快速开发万级TPS高可用电商系统的后端架构模式。 简单: • 每个服务相对较小并比较容易开发维护。 • 服务可以独立的部署。 • 更适合小团队(个人)开发管理 • 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 适合同学们学习 Demo也可以作为生产系统的一部分 com/apache/servicecomb-mesher 多语言解决方案 c) 重试 d) 负载均衡 e) 限流 f) 降级(隔离、熔断、容错) • 网关 a) 路由 b) 黑白名单 c) 和认证鉴权集成 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 服务间的通信 背景:为什么服务间通信重要?0 码力 | 15 页 | 1.46 MB | 1 年前3
 ServiceComb 的前世今生2009 2014 MSA By Simon Wardley http://enterpriseitadoption.com/ 传统企业应用开发模式 开发 产品发布计划 开发 集成开发 运维人员替换 部 署 旧 版 本 开发 开发 测试/发布 • 技术实现单一,需要想办法用一种技术解决所有问题 • 只能按大颗粒系统发布版本,响应周期长 (小特性版本3-6个月,每年1个大版本) 部署到生成 环境 开发 开发 bugs 旧版本持续运行 Speed & Safety 面临的问题 • 企业应用和互联网应用的不同? • 如何做到不同ISV的应用互联互通统一管理? • 怎么才能加快微服务的开发? • 微服务化后如何保证性能? • 如何进行统一的路由控制? 企业应用和集成 Java 注册中心、治理中心 Go 服务 契约0 码力 | 16 页 | 1.45 MB | 1 年前3 ServiceComb 的前世今生2009 2014 MSA By Simon Wardley http://enterpriseitadoption.com/ 传统企业应用开发模式 开发 产品发布计划 开发 集成开发 运维人员替换 部 署 旧 版 本 开发 开发 测试/发布 • 技术实现单一,需要想办法用一种技术解决所有问题 • 只能按大颗粒系统发布版本,响应周期长 (小特性版本3-6个月,每年1个大版本) 部署到生成 环境 开发 开发 bugs 旧版本持续运行 Speed & Safety 面临的问题 • 企业应用和互联网应用的不同? • 如何做到不同ISV的应用互联互通统一管理? • 怎么才能加快微服务的开发? • 微服务化后如何保证性能? • 如何进行统一的路由控制? 企业应用和集成 Java 注册中心、治理中心 Go 服务 契约0 码力 | 16 页 | 1.45 MB | 1 年前3
 Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见apache.org Apache孵化器 • 进入ASF孵化的目的 – 学习Apache做事之道 – 构建健康发展的社区 – 完善软件许可(License) – 与Apache的基础设施集成 – 发布合规版本 12 github.com/apache?q=servicecomb servicecomb.apache.org Apache孵化器 • 进入ASF孵化的步骤 – 提起孵化提案 成立孵化项目管理委员会 PPMC – 没有在邮件列表发生的事情就没有真的发生 – 通过投票的方式进行决议 • 投票规则 voting rule • 赞成 +1, 弃权 0, 反对 -1 • 一般会持续 72小时 • 对于产品发布, 需要大于等于3票+1通过 • 反对票需要提出相应的改进建议 – 共识决策 • 决策之前要充分讨论 • 通过懒式方式达成共识 – 新的Committer或者PPMC成员是通过投票产生的 1.0 支持K8s部署 支持ServiceMesher 服务实例Cache优化支 持黑白名单 Service Center Java Chassis 1.0.0-m1 支持Dev开发模式 集成外部配置中心 Metrics 监控支持 异步编程模型支持 ZipkinV2版本支持 Service Center Java Chassis 1.0.0-m2 提升etcd弹性伸缩 边缘服务网关优化0 码力 | 18 页 | 3.12 MB | 1 年前3 Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见apache.org Apache孵化器 • 进入ASF孵化的目的 – 学习Apache做事之道 – 构建健康发展的社区 – 完善软件许可(License) – 与Apache的基础设施集成 – 发布合规版本 12 github.com/apache?q=servicecomb servicecomb.apache.org Apache孵化器 • 进入ASF孵化的步骤 – 提起孵化提案 成立孵化项目管理委员会 PPMC – 没有在邮件列表发生的事情就没有真的发生 – 通过投票的方式进行决议 • 投票规则 voting rule • 赞成 +1, 弃权 0, 反对 -1 • 一般会持续 72小时 • 对于产品发布, 需要大于等于3票+1通过 • 反对票需要提出相应的改进建议 – 共识决策 • 决策之前要充分讨论 • 通过懒式方式达成共识 – 新的Committer或者PPMC成员是通过投票产生的 1.0 支持K8s部署 支持ServiceMesher 服务实例Cache优化支 持黑白名单 Service Center Java Chassis 1.0.0-m1 支持Dev开发模式 集成外部配置中心 Metrics 监控支持 异步编程模型支持 ZipkinV2版本支持 Service Center Java Chassis 1.0.0-m2 提升etcd弹性伸缩 边缘服务网关优化0 码力 | 18 页 | 3.12 MB | 1 年前3
 微服务创新新品发布采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 分布式系统配置中心 服务中心异构通信 多语言运行环境 微服务鉴权 微服务契约工具 Apache ServiceComb 面对用户痛点持续创新 3 github.com/apache?q=servicecomb servicecomb SpringCloud …… ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同企业遗留系统微服务化快速改造,实现基于契约的数据、服务标准化管控 微服务契约工具 https://github0 码力 | 12 页 | 2.96 MB | 1 年前3 微服务创新新品发布采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 分布式系统配置中心 服务中心异构通信 多语言运行环境 微服务鉴权 微服务契约工具 Apache ServiceComb 面对用户痛点持续创新 3 github.com/apache?q=servicecomb servicecomb SpringCloud …… ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同企业遗留系统微服务化快速改造,实现基于契约的数据、服务标准化管控 微服务契约工具 https://github0 码力 | 12 页 | 2.96 MB | 1 年前3
共 32 条
- 1
- 2
- 3
- 4













