 Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见voting rule • 赞成 +1, 弃权 0, 反对 -1 • 一般会持续 72小时 • 对于产品发布, 需要大于等于3票+1通过 • 反对票需要提出相应的改进建议 – 共识决策 • 决策之前要充分讨论 • 通过懒式方式达成共识 – 新的Committer或者PPMC成员是通过投票产生的 https://incubator.apache.org/guides/community.html 14 14 github.com/apache?q=servicecomb servicecomb.apache.org Apache孵化器毕业 • 社区成熟度模型评估 – 代码,发版,共识决策 • Board决议文档撰写 – PMC成员,PMC Chair,项目章程 • 通过投票的方式进行决议 – PPMC投票 – IPMC投票 • 是否构建了有生命力的社区 • 是否能够自主发布合规版本 Service Center Java Chassis 1.0.0 正式稳定版本发布 自动生成脚手架工程 支持Http2协议 自定义ping机制 Saga 0.1.0 分布式Pack原型 Pack 0.3.0 优化后台性能 支持多种分布式协调机制 多语言框架Omega 2017年12月 2018年3月 2018年8月 2018年6月 2018年10月 ServiceComb(Apache之旅)0 码力 | 18 页 | 3.12 MB | 1 年前3 Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见voting rule • 赞成 +1, 弃权 0, 反对 -1 • 一般会持续 72小时 • 对于产品发布, 需要大于等于3票+1通过 • 反对票需要提出相应的改进建议 – 共识决策 • 决策之前要充分讨论 • 通过懒式方式达成共识 – 新的Committer或者PPMC成员是通过投票产生的 https://incubator.apache.org/guides/community.html 14 14 github.com/apache?q=servicecomb servicecomb.apache.org Apache孵化器毕业 • 社区成熟度模型评估 – 代码,发版,共识决策 • Board决议文档撰写 – PMC成员,PMC Chair,项目章程 • 通过投票的方式进行决议 – PPMC投票 – IPMC投票 • 是否构建了有生命力的社区 • 是否能够自主发布合规版本 Service Center Java Chassis 1.0.0 正式稳定版本发布 自动生成脚手架工程 支持Http2协议 自定义ping机制 Saga 0.1.0 分布式Pack原型 Pack 0.3.0 优化后台性能 支持多种分布式协调机制 多语言框架Omega 2017年12月 2018年3月 2018年8月 2018年6月 2018年10月 ServiceComb(Apache之旅)0 码力 | 18 页 | 3.12 MB | 1 年前3
 解读ApacheApache之道 “Apache之道” 核⼼原则 “Apache之道” 核⼼原则 粗略的共识和可以⼯作的代码 ⼩的可逆步骤(进⾏探索) 任何建设性的贡献都可以获得功绩… … ⽽企业从属关系和资 历却没有 功绩不会过期 功绩不给你权威; 它可以让你有⾏使权⼒威信 没有独裁者,没有否决权 - 依赖于建⽴共识 “Apache 之道” AKA “社区胜于代码” ASF依托于Apache之道运作0 码力 | 43 页 | 4.89 MB | 1 年前3 解读ApacheApache之道 “Apache之道” 核⼼原则 “Apache之道” 核⼼原则 粗略的共识和可以⼯作的代码 ⼩的可逆步骤(进⾏探索) 任何建设性的贡献都可以获得功绩… … ⽽企业从属关系和资 历却没有 功绩不会过期 功绩不给你权威; 它可以让你有⾏使权⼒威信 没有独裁者,没有否决权 - 依赖于建⽴共识 “Apache 之道” AKA “社区胜于代码” ASF依托于Apache之道运作0 码力 | 43 页 | 4.89 MB | 1 年前3
 ServiceCenter - 服务注册中心从微服务到服务管理中心 1.实例缓存机制 从微服务到服务管理中心 2.心跳保活机制 从服务管理中心到etcd 1.异步缓存机制 从服务管理中心到etcd 2.异步心跳机制 自我保护机制 前面提到的缓存机制,保证了ServiceCenter在etcd出现网络分区故障时依 然保持可读状态,ServiceCenter的自我保护(Self-preservation)机制保证 了Provid 了Provider端与ServiceCenter在出现网络分区故障时依然保持业务可用。 ServiceCenter在一个时间窗内监听到etcd有80%的实例下线事件,会立即 启劢自我保护机制。即使etcd存储的数据全部丢失,这种极端场景下, SDK与ServiceCenter之间可在不影响业务的前提下,做到数据自劢恢复。 虽然这个恢复是有损的,但在这种灾难场景下还能保持业务基本可用。 怎么实现的? 可视化0 码力 | 18 页 | 856.27 KB | 1 年前3 ServiceCenter - 服务注册中心从微服务到服务管理中心 1.实例缓存机制 从微服务到服务管理中心 2.心跳保活机制 从服务管理中心到etcd 1.异步缓存机制 从服务管理中心到etcd 2.异步心跳机制 自我保护机制 前面提到的缓存机制,保证了ServiceCenter在etcd出现网络分区故障时依 然保持可读状态,ServiceCenter的自我保护(Self-preservation)机制保证 了Provid 了Provider端与ServiceCenter在出现网络分区故障时依然保持业务可用。 ServiceCenter在一个时间窗内监听到etcd有80%的实例下线事件,会立即 启劢自我保护机制。即使etcd存储的数据全部丢失,这种极端场景下, SDK与ServiceCenter之间可在不影响业务的前提下,做到数据自劢恢复。 虽然这个恢复是有损的,但在这种灾难场景下还能保持业务基本可用。 怎么实现的? 可视化0 码力 | 18 页 | 856.27 KB | 1 年前3
 2-4-禚娴静-微服务你玩得起吗微服务架构 微服务架构是⼀一种架构模式,它提倡将单⼀一应⽤用程序划分成⼀一组⼩小的服务,服务 之间互相协调、互相配合,为⽤用户提供最终价值。每个服务运⾏行在其独⽴立的进程 中,服务与服务间采⽤用轻量级的通信机制互相沟通(通常是基于HTTP协议的 RESTful API)。每个服务都围绕着具体业务进⾏行构建,并且能够被独⽴立的部署到 ⽣生产环境、类⽣生产环境等。另外,应当尽量避免统⼀一的、集中式的服务管理机 言、⼯工具对其进 ⾏行构建。 为什么要采⽤用微服务架构? - Rebecca Parsons 让系统尽可能快的响应变化! 初衷 • 服务足够小  • 独立运行  • 轻量级通信机制  • 独立的部署  • 去中心化 • 要多小?  • 怎么部署?  • 出错怎么办?  • 如何保证一致性 玩得起微服务的条件 持续改进的⾃自组织⽂文 快速响 Conway, 1967 康威逆定律 逐渐改进你的团队和组织结构 来促进你所渴望的软件系统架构。 —Sam Newman • 服务足够小  • 独立运行  • 轻量级通信机制  • 独立的部署  • 去中心化 微服务架构特性 API设计指导原则 容错性 新的团队结构 Perf Guild DevOps Guild 交付特性团队 交付特性团队0 码力 | 51 页 | 8.18 MB | 1 年前3 2-4-禚娴静-微服务你玩得起吗微服务架构 微服务架构是⼀一种架构模式,它提倡将单⼀一应⽤用程序划分成⼀一组⼩小的服务,服务 之间互相协调、互相配合,为⽤用户提供最终价值。每个服务运⾏行在其独⽴立的进程 中,服务与服务间采⽤用轻量级的通信机制互相沟通(通常是基于HTTP协议的 RESTful API)。每个服务都围绕着具体业务进⾏行构建,并且能够被独⽴立的部署到 ⽣生产环境、类⽣生产环境等。另外,应当尽量避免统⼀一的、集中式的服务管理机 言、⼯工具对其进 ⾏行构建。 为什么要采⽤用微服务架构? - Rebecca Parsons 让系统尽可能快的响应变化! 初衷 • 服务足够小  • 独立运行  • 轻量级通信机制  • 独立的部署  • 去中心化 • 要多小?  • 怎么部署?  • 出错怎么办?  • 如何保证一致性 玩得起微服务的条件 持续改进的⾃自组织⽂文 快速响 Conway, 1967 康威逆定律 逐渐改进你的团队和组织结构 来促进你所渴望的软件系统架构。 —Sam Newman • 服务足够小  • 独立运行  • 轻量级通信机制  • 独立的部署  • 去中心化 微服务架构特性 API设计指导原则 容错性 新的团队结构 Perf Guild DevOps Guild 交付特性团队 交付特性团队0 码力 | 51 页 | 8.18 MB | 1 年前3
 微服务的设计原则与⽣态系统 - 王磊什什么是微服务架构? • 微服务架构是⼀一种架构模式,将单体应⽤用划分成⼀一组⼩小的服务,服务之间互相协作,为⽤用户提供最终价值 • 每个服务运⾏行行在其独⽴立的进程中,服务间采⽤用轻量量级的通信机制协作(通常是基于RESTful API) • 每个服务都围绕着具体业务进⾏行行构建,并且能够被独⽴立的部署到⽣生产环境、类⽣生产环境等 Microservices – the new architectural continuousdelivery.com/ • 缩短交付周期 • 降低发布⻛风险 • 质量量内嵌 组织协同 环境管理理 数据管理理 松耦合架构 反馈验证 持续集成/部署 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication ● Automation ● Measuring ● Sharing 为什什么基于DevOps? https://www 跟踪 … 运⾏行行模型 编程模型 - 使⽤用OpenAPI的⽅方式定义契约 运⾏行行模型 - 服务发现/熔断/负载均衡/跟踪 通信模型 - ⾼高效的序列列化机制/传输协议 华为ServiceComb 持续交付流⽔水线 端到端⼯工具链 ⼯工程化实践 测 部 运 发 开 •独⽴立代码库 •服务说明⽂文件 •易易于本地运⾏行行 •测试⾦金金字塔0 码力 | 62 页 | 6.65 MB | 1 年前3 微服务的设计原则与⽣态系统 - 王磊什什么是微服务架构? • 微服务架构是⼀一种架构模式,将单体应⽤用划分成⼀一组⼩小的服务,服务之间互相协作,为⽤用户提供最终价值 • 每个服务运⾏行行在其独⽴立的进程中,服务间采⽤用轻量量级的通信机制协作(通常是基于RESTful API) • 每个服务都围绕着具体业务进⾏行行构建,并且能够被独⽴立的部署到⽣生产环境、类⽣生产环境等 Microservices – the new architectural continuousdelivery.com/ • 缩短交付周期 • 降低发布⻛风险 • 质量量内嵌 组织协同 环境管理理 数据管理理 松耦合架构 反馈验证 持续集成/部署 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication ● Automation ● Measuring ● Sharing 为什什么基于DevOps? https://www 跟踪 … 运⾏行行模型 编程模型 - 使⽤用OpenAPI的⽅方式定义契约 运⾏行行模型 - 服务发现/熔断/负载均衡/跟踪 通信模型 - ⾼高效的序列列化机制/传输协议 华为ServiceComb 持续交付流⽔水线 端到端⼯工具链 ⼯工程化实践 测 部 运 发 开 •独⽴立代码库 •服务说明⽂文件 •易易于本地运⾏行行 •测试⾦金金字塔0 码力 | 62 页 | 6.65 MB | 1 年前3
 开源开发者的一天 - Apache ServiceComb[Github ] https://github.com/apache?q=servicecomb Contributor Committer PMC Member Board IPMC 产生机制 签署贡献 者协议 CLA 由PMC提 名并投票选 拔 由PMC提 名并投票选 拔 由PMC提名并投 票选拔 由会员提名并投 票选拔 由会员提名并投票 选拔 拥有权利 提交issues 决策透明公开:讨论,决定和存档均基于 mailing list 商业友好的开源许可证, Apache项目使用 permissive license的Apache 2.0许可证 代码是社区合作开发的 投票机制管理社区 代表个人行为不代表企业利益 基于尊重、诚实、专注于技术的社区模 式交流 Apache Way Apache治理之道 [社区网站] http://servicecomb.apache servicecomb-service-center 高性能、高可用、无状态的分布式服务注册与发现中心,帮助用户管理微服务 Golang servicecomb-pack 分布式事务解决方案,为用户提供Saga和TCC分布式事务协调机制,保证事务最终一致性 Java servicecomb-mesher 生产级的Service Mesh sidecar实现,帮助用户领侵入业务代码实现微服务化 Golang servicecomb-kie0 码力 | 31 页 | 2.02 MB | 1 年前3 开源开发者的一天 - Apache ServiceComb[Github ] https://github.com/apache?q=servicecomb Contributor Committer PMC Member Board IPMC 产生机制 签署贡献 者协议 CLA 由PMC提 名并投票选 拔 由PMC提 名并投票选 拔 由PMC提名并投 票选拔 由会员提名并投 票选拔 由会员提名并投票 选拔 拥有权利 提交issues 决策透明公开:讨论,决定和存档均基于 mailing list 商业友好的开源许可证, Apache项目使用 permissive license的Apache 2.0许可证 代码是社区合作开发的 投票机制管理社区 代表个人行为不代表企业利益 基于尊重、诚实、专注于技术的社区模 式交流 Apache Way Apache治理之道 [社区网站] http://servicecomb.apache servicecomb-service-center 高性能、高可用、无状态的分布式服务注册与发现中心,帮助用户管理微服务 Golang servicecomb-pack 分布式事务解决方案,为用户提供Saga和TCC分布式事务协调机制,保证事务最终一致性 Java servicecomb-mesher 生产级的Service Mesh sidecar实现,帮助用户领侵入业务代码实现微服务化 Golang servicecomb-kie0 码力 | 31 页 | 2.02 MB | 1 年前3
 微服务架构与领域驱动设计 - 王磊微服务架构是⼀一种架构模式,它提倡将单⼀一应⽤用程序划分成⼀一组⼩小的服 务,服务之间互相协调、互相配合,为⽤用户提供最终价值。 每个服务运⾏行行在其独⽴立的进程中,服务与服务间采⽤用轻量量级的通信机制互 相协作(通常是基于HTTP协议的RESTful API)。 每个服务都围绕着具体业务进⾏行行构建,并且能够被独⽴立的部署到⽣生产环 境、类⽣生产环境等。 以持续交付为核⼼心 基于DevOps Services - 业务逻辑 Aggregate - 聚合(根) • ⼀一组实体对象和值对象的集合 • 外部对聚合的访问通过聚合根 Factories - 对象⼯工⼚厂 Repository - 存储机制 Tactical-战术建模 领域驱动设计的架构 �16 Domain Model • 核⼼心的领域模型,包括Entity/ValueObject/Aggregate Domain Services0 码力 | 28 页 | 1.84 MB | 1 年前3 微服务架构与领域驱动设计 - 王磊微服务架构是⼀一种架构模式,它提倡将单⼀一应⽤用程序划分成⼀一组⼩小的服 务,服务之间互相协调、互相配合,为⽤用户提供最终价值。 每个服务运⾏行行在其独⽴立的进程中,服务与服务间采⽤用轻量量级的通信机制互 相协作(通常是基于HTTP协议的RESTful API)。 每个服务都围绕着具体业务进⾏行行构建,并且能够被独⽴立的部署到⽣生产环 境、类⽣生产环境等。 以持续交付为核⼼心 基于DevOps Services - 业务逻辑 Aggregate - 聚合(根) • ⼀一组实体对象和值对象的集合 • 外部对聚合的访问通过聚合根 Factories - 对象⼯工⼚厂 Repository - 存储机制 Tactical-战术建模 领域驱动设计的架构 �16 Domain Model • 核⼼心的领域模型,包括Entity/ValueObject/Aggregate Domain Services0 码力 | 28 页 | 1.84 MB | 1 年前3
 ServiceComb java SDK详解,需要重启Edge Edge Service-自定义路由 如果内置的路由规则无法满足业务需求,比如需要复杂的剪切修改url,或是修改码流 此时可以通过自定义路由进行 内置自动路由规则基于同样的机制实现: • 通过SPI声明VertxHttpDispatcher的扩展 • 通过getOrder声明相对其他dispatcher的执行顺序 • 自己能处理的url,拦截处理 – 根据自定义规则 通过EdgeInvocation转发请求 • 自己不能处理的url,放通给其他dispatcher处理 Metrics-架构 • 基于netflix spectator • Foundation-metrics通过SPI机制加载所有 MetricsInitializer实现,实现者可以通过 MetricsInitializer中的getOrder规划执行顺序, order数字越小,越先执行。 • Metrics-co0 码力 | 21 页 | 1.15 MB | 1 年前3 ServiceComb java SDK详解,需要重启Edge Edge Service-自定义路由 如果内置的路由规则无法满足业务需求,比如需要复杂的剪切修改url,或是修改码流 此时可以通过自定义路由进行 内置自动路由规则基于同样的机制实现: • 通过SPI声明VertxHttpDispatcher的扩展 • 通过getOrder声明相对其他dispatcher的执行顺序 • 自己能处理的url,拦截处理 – 根据自定义规则 通过EdgeInvocation转发请求 • 自己不能处理的url,放通给其他dispatcher处理 Metrics-架构 • 基于netflix spectator • Foundation-metrics通过SPI机制加载所有 MetricsInitializer实现,实现者可以通过 MetricsInitializer中的getOrder规划执行顺序, order数字越小,越先执行。 • Metrics-co0 码力 | 21 页 | 1.15 MB | 1 年前3
 消费者云CSE微服务实践 尽管现在以Java和GO语言为主,但是从架构演进角度考虑,未来 会根据消费者业务自身的特点引入更适合的语言  服务框架丌要绑定具体的语言实现,例如内部通信协议使用某种 语言特定的序列化机制、发布泛型、抽象接口等 微服务框架技术选型-灵活和轻量级架构  当前业务服务端都是非Web应用,所以丌需要运行在Web容器中, 需要类似Main函数可以直接拉起来的Standalone模式  Highway RPC:采用Netty + PB,既支持多语 言,又保证高性能  高性能幵发设计:线程绑定技术,网络I/O线程 绑定后端的服务调度线程,最大限度减少锁竞 争。采用连接池机制,重用已有的连接 CSE在消费者云业务的实践-分布式事务 1、服务化乊前本地事务: 2、服务化乊后引入分布式事务: 解决方案:CSE提供数据最终一致性方案-Saga CSE在消费者云业务的实践-服务治理能力0 码力 | 22 页 | 1.39 MB | 1 年前3 消费者云CSE微服务实践 尽管现在以Java和GO语言为主,但是从架构演进角度考虑,未来 会根据消费者业务自身的特点引入更适合的语言  服务框架丌要绑定具体的语言实现,例如内部通信协议使用某种 语言特定的序列化机制、发布泛型、抽象接口等 微服务框架技术选型-灵活和轻量级架构  当前业务服务端都是非Web应用,所以丌需要运行在Web容器中, 需要类似Main函数可以直接拉起来的Standalone模式  Highway RPC:采用Netty + PB,既支持多语 言,又保证高性能  高性能幵发设计:线程绑定技术,网络I/O线程 绑定后端的服务调度线程,最大限度减少锁竞 争。采用连接池机制,重用已有的连接 CSE在消费者云业务的实践-分布式事务 1、服务化乊前本地事务: 2、服务化乊后引入分布式事务: 解决方案:CSE提供数据最终一致性方案-Saga CSE在消费者云业务的实践-服务治理能力0 码力 | 22 页 | 1.39 MB | 1 年前3
 Apache ServiceComb 开源微服务社区350+ 开源项目, 50+ 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 贡献者 Committer PMC 会员 董事会 产生机制 签署贡献者协 议CLA 由PMC提名并 投票选拔 由PMC提名并 投票选拔 由PMC提名并投票选 拔 由会员提名并投票选 拔 由会员提名并投票选 拔 拥有权利 提交issues 及patch 财政微应用 预算 编制 指标 管理 …… 财务微应用 会计 核算 项目 库 …… 统一基础 数据规范 统一财政 业务数据 标准存储 统一应用 支撑平台 总账结构 统一纵向 层级交换 机制 统一信息 安全体系 软件开发服务 ServiceStage 大数据服务 系统集成服务 IaaS(计算、存储、网络、安全) 中间件服务 标准与规范 应用全微服务化,接口标准由财政厅统一管控,0 码力 | 15 页 | 2.86 MB | 1 年前3 Apache ServiceComb 开源微服务社区350+ 开源项目, 50+ 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 贡献者 Committer PMC 会员 董事会 产生机制 签署贡献者协 议CLA 由PMC提名并 投票选拔 由PMC提名并 投票选拔 由PMC提名并投票选 拔 由会员提名并投票选 拔 由会员提名并投票选 拔 拥有权利 提交issues 及patch 财政微应用 预算 编制 指标 管理 …… 财务微应用 会计 核算 项目 库 …… 统一基础 数据规范 统一财政 业务数据 标准存储 统一应用 支撑平台 总账结构 统一纵向 层级交换 机制 统一信息 安全体系 软件开发服务 ServiceStage 大数据服务 系统集成服务 IaaS(计算、存储、网络、安全) 中间件服务 标准与规范 应用全微服务化,接口标准由财政厅统一管控,0 码力 | 15 页 | 2.86 MB | 1 年前3
共 18 条
- 1
- 2













