 微服务创新新品发布servicecomb.apache.org github.com/apache?q=servicecomb 微服务创新新品发布 马彬 2019 2 github.com/apache?q=servicecomb servicecomb.apache.org 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 契约提取 代码生成 文档制作 契约校验 ServiceComb SpringCloud …… ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同企业遗留系统微服务化快速改造,实现基于契约的数据、服务标准化管控0 码力 | 12 页 | 2.96 MB | 1 年前3 微服务创新新品发布servicecomb.apache.org github.com/apache?q=servicecomb 微服务创新新品发布 马彬 2019 2 github.com/apache?q=servicecomb servicecomb.apache.org 在同一个业 务领域的微 服务中使用 了多种不同 语言进行开 发部署 使能多微服 务技术栈开 发的微服务 应用之间协 同工作和共 契约提取 代码生成 文档制作 契约校验 ServiceComb SpringCloud …… ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同企业遗留系统微服务化快速改造,实现基于契约的数据、服务标准化管控0 码力 | 12 页 | 2.96 MB | 1 年前3
 可发布版-美团点评微服务OCTO-曹继光- 钻石段t ������! 2.�� ��! 3.�� ��! 4.�� ��! 5.�� ��� ��! 6.�� ���! 1.�� ��! 链路级流量隔离 • 全链路灰度发布 • 全链路压测 • 全链路故障演练 服务治理实践(6)-星耀段t+ 异地容灾 扩展 回顾:服务治理系统的三项必备能力 % 标准化 & 易用性 3 高性能 降u服务间协作成本0 码力 | 35 页 | 14.10 MB | 1 年前3 可发布版-美团点评微服务OCTO-曹继光- 钻石段t ������! 2.�� ��! 3.�� ��! 4.�� ��! 5.�� ��� ��! 6.�� ���! 1.�� ��! 链路级流量隔离 • 全链路灰度发布 • 全链路压测 • 全链路故障演练 服务治理实践(6)-星耀段t+ 异地容灾 扩展 回顾:服务治理系统的三项必备能力 % 标准化 & 易用性 3 高性能 降u服务间协作成本0 码力 | 35 页 | 14.10 MB | 1 年前3
 Metrics in ServiceComb 1.0.0-m1Spring Boot Actuator 计数器(Monitor)的实 现 性能相对高效 功能相对丰富 较弱,但是支持使用 Dropwizard Metrics集成实现 强化 数据发布 Push模式,自带三种 Observer Pull或Push,自带几种 Reporter Pull或Push,自带两种 Repository 框架相关 无框架绑定 无框架绑定(不绑定 示例项目BMI介绍 • 如何使用ServiceComb Java Chassis Metrics • 如何与普罗米修斯集成 依赖关系 Metrics列表 Metrics 子项 说明 微服务资源使用 CPU、ThreadCount、Heap、 NonHeap 基本的资源使用状态 Consumer端 Latency、CallCount、TPS 包含操作级别和微服务实例级别 executionTime、Latency、 CallCount、TPS 包含操作级别和微服务实例级别 • 对于时延类的Metrics,都包含max、min、average三个指标 数据发布格式的选择 • 不同的实现发布格式都有所不同 Spring Boot Actuator { "counter.status.200.root": 20, "counter.status.200.metrics":0 码力 | 18 页 | 938.89 KB | 1 年前3 Metrics in ServiceComb 1.0.0-m1Spring Boot Actuator 计数器(Monitor)的实 现 性能相对高效 功能相对丰富 较弱,但是支持使用 Dropwizard Metrics集成实现 强化 数据发布 Push模式,自带三种 Observer Pull或Push,自带几种 Reporter Pull或Push,自带两种 Repository 框架相关 无框架绑定 无框架绑定(不绑定 示例项目BMI介绍 • 如何使用ServiceComb Java Chassis Metrics • 如何与普罗米修斯集成 依赖关系 Metrics列表 Metrics 子项 说明 微服务资源使用 CPU、ThreadCount、Heap、 NonHeap 基本的资源使用状态 Consumer端 Latency、CallCount、TPS 包含操作级别和微服务实例级别 executionTime、Latency、 CallCount、TPS 包含操作级别和微服务实例级别 • 对于时延类的Metrics,都包含max、min、average三个指标 数据发布格式的选择 • 不同的实现发布格式都有所不同 Spring Boot Actuator { "counter.status.200.root": 20, "counter.status.200.metrics":0 码力 | 18 页 | 938.89 KB | 1 年前3
 微服务的设计原则与⽣态系统 - 王磊O’Reilly Software Architecture Conference 2017.4 https://www.continuousdelivery.com/ • 缩短交付周期 • 降低发布⻛风险 • 质量量内嵌 组织协同 环境管理理 数据管理理 松耦合架构 反馈验证 持续集成/部署 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication 持续交付流⽔水线 端到端⼯工具链 ⼯工程化实践 测 部 运 发 开 •独⽴立代码库 •服务说明⽂文件 •易易于本地运⾏行行 •测试⾦金金字塔 •契约测试 •组件测试 •基础设施即代码 •⼀一键部署(环境/⽅方式) •特性开关 •蓝绿部署 •⾦金金丝雀发布 •监控 •告警 •⽇日志聚合 总结 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统0 码力 | 62 页 | 6.65 MB | 1 年前3 微服务的设计原则与⽣态系统 - 王磊O’Reilly Software Architecture Conference 2017.4 https://www.continuousdelivery.com/ • 缩短交付周期 • 降低发布⻛风险 • 质量量内嵌 组织协同 环境管理理 数据管理理 松耦合架构 反馈验证 持续集成/部署 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication 持续交付流⽔水线 端到端⼯工具链 ⼯工程化实践 测 部 运 发 开 •独⽴立代码库 •服务说明⽂文件 •易易于本地运⾏行行 •测试⾦金金字塔 •契约测试 •组件测试 •基础设施即代码 •⼀一键部署(环境/⽅方式) •特性开关 •蓝绿部署 •⾦金金丝雀发布 •监控 •告警 •⽇日志聚合 总结 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统0 码力 | 62 页 | 6.65 MB | 1 年前3
 ServiceComb java SDK详解businessBV2: path: "/c/d/.*" microserviceName: businessB versionRule: 2.0.0-3.0.0 这些路由配置,可以从配置中心动态下发,避免要发布新微服务时,需要重启Edge Edge Service-自定义路由 如果内置的路由规则无法满足业务需求,比如需要复杂的剪切修改url,或是修改码流 此时可以通过自定义路由进行 内置自动路由规则基于同样的机制实现: Metrics-log RESTful/prometheus输出内容为原始数据 日志输出内容是根据原始数据分析计算后的结果 • eventLoopContext-created 如果持续增加,说明有计划外的线程切换,需要定位 • threadPool 以线程池为单位进行统计,输出最小线程数、最大线程数、 当前线程数、当前排队任务数,以及平均每秒提交任务数、完成 任务数等等数据 • consumer0 码力 | 21 页 | 1.15 MB | 1 年前3 ServiceComb java SDK详解businessBV2: path: "/c/d/.*" microserviceName: businessB versionRule: 2.0.0-3.0.0 这些路由配置,可以从配置中心动态下发,避免要发布新微服务时,需要重启Edge Edge Service-自定义路由 如果内置的路由规则无法满足业务需求,比如需要复杂的剪切修改url,或是修改码流 此时可以通过自定义路由进行 内置自动路由规则基于同样的机制实现: Metrics-log RESTful/prometheus输出内容为原始数据 日志输出内容是根据原始数据分析计算后的结果 • eventLoopContext-created 如果持续增加,说明有计划外的线程切换,需要定位 • threadPool 以线程池为单位进行统计,输出最小线程数、最大线程数、 当前线程数、当前排队任务数,以及平均每秒提交任务数、完成 任务数等等数据 • consumer0 码力 | 21 页 | 1.15 MB | 1 年前3
 解读ApacheVP Apache Mynewt IoTDB, Dubbo, RocketMQ,Apex项⽬导师 Apache孵化器 Apache孵化器 理解Apache之道 发展社区 建⽴许可协议 发布 Apache孵化器 Apache孵化器 需要1-2年或更久的时间 毕业成为顶级项⽬ 并⾮每⼀个项⽬都有这样 的机会 社区 社区 友善 — 友善待⼈ 尊重 — 每个⼈的意⻅都有价值 信任 A 类 - 可以依赖并包括在发布中 MIT, 2 和 3 条款 BSD B 类 - 可以依赖并且可能包括 通⽤开发和发布协议 (CDDL), Eclipse公共协议 (EPL), Mozilla公共协议 (MPL), 知识共享许可协议 (CC-A) X 类 - 不可以依赖或者包括在发⾏版中 GPL, LGPL, ⾮商业许可证, JSON 发布版本 发布版本 在法律上,是基⾦会的⾏为 需要电⼦签名 通过⼤范围的镜像系统分发 发布 发布 已签名 需要孵化免责声明 有 LICENSE 和 NOTICE ⽂件 遵循ALv2以及任何包括第三⽅软件的协议声明 源⽂件有ASF头 由未编译的源码构成 ⼆进制版本 ⼆进制版本 不是必需的 不是官⽅版本 同样需要遵守规则 毕业 毕业 展示了项⽬独⽴运作的能 ⼒: ⾃我管理 发布管理 建⽴法律框架 公开透明地运作项⽬0 码力 | 43 页 | 4.89 MB | 1 年前3 解读ApacheVP Apache Mynewt IoTDB, Dubbo, RocketMQ,Apex项⽬导师 Apache孵化器 Apache孵化器 理解Apache之道 发展社区 建⽴许可协议 发布 Apache孵化器 Apache孵化器 需要1-2年或更久的时间 毕业成为顶级项⽬ 并⾮每⼀个项⽬都有这样 的机会 社区 社区 友善 — 友善待⼈ 尊重 — 每个⼈的意⻅都有价值 信任 A 类 - 可以依赖并包括在发布中 MIT, 2 和 3 条款 BSD B 类 - 可以依赖并且可能包括 通⽤开发和发布协议 (CDDL), Eclipse公共协议 (EPL), Mozilla公共协议 (MPL), 知识共享许可协议 (CC-A) X 类 - 不可以依赖或者包括在发⾏版中 GPL, LGPL, ⾮商业许可证, JSON 发布版本 发布版本 在法律上,是基⾦会的⾏为 需要电⼦签名 通过⼤范围的镜像系统分发 发布 发布 已签名 需要孵化免责声明 有 LICENSE 和 NOTICE ⽂件 遵循ALv2以及任何包括第三⽅软件的协议声明 源⽂件有ASF头 由未编译的源码构成 ⼆进制版本 ⼆进制版本 不是必需的 不是官⽅版本 同样需要遵守规则 毕业 毕业 展示了项⽬独⽴运作的能 ⼒: ⾃我管理 发布管理 建⽴法律框架 公开透明地运作项⽬0 码力 | 43 页 | 4.89 MB | 1 年前3
 ServiceComb 的前世今生开发 产品发布计划 开发 集成开发 运维人员替换 部 署 旧 版 本 开发 开发 测试/发布 • 技术实现单一,需要想办法用一种技术解决所有问题 • 只能按大颗粒系统发布版本,响应周期长 (小特性版本3-6个月,每年1个大版本) • 无法做到永远在线,大版本升级时,要停机中断服务 微服务化的应用构建和发布 产品发布计划 产品发布计划 产品发布计划 产品发布计划 产品发布计划 开发 部署到生成 环境 部署到生成 环境 开发 开发 部署到生成 环境 部署到生成 环境 部署到生成 环境 开发 开发 bugs 旧版本持续运行 Speed & Safety 面临的问题 • 企业应用和互联网应用的不同? • 如何做到不同ISV的应用互联互通统一管理? • 怎么才能加快微服务的开发? 服务中 心实例 服务中 心实例 • 统一的路由策略管控 • 缓存以提升性能 •支持pull/push两种模式监控实例变化 • 实例动态扩容,海量的长连接或者短连接 • 支持灰度发布、服务分组等高级管理特性 微服务 ServiceComb 开发框架 通信模型 (序列化、传输协 议) 编程模型 (同步、异步、 Reactive…)0 码力 | 16 页 | 1.45 MB | 1 年前3 ServiceComb 的前世今生开发 产品发布计划 开发 集成开发 运维人员替换 部 署 旧 版 本 开发 开发 测试/发布 • 技术实现单一,需要想办法用一种技术解决所有问题 • 只能按大颗粒系统发布版本,响应周期长 (小特性版本3-6个月,每年1个大版本) • 无法做到永远在线,大版本升级时,要停机中断服务 微服务化的应用构建和发布 产品发布计划 产品发布计划 产品发布计划 产品发布计划 产品发布计划 开发 部署到生成 环境 部署到生成 环境 开发 开发 部署到生成 环境 部署到生成 环境 部署到生成 环境 开发 开发 bugs 旧版本持续运行 Speed & Safety 面临的问题 • 企业应用和互联网应用的不同? • 如何做到不同ISV的应用互联互通统一管理? • 怎么才能加快微服务的开发? 服务中 心实例 服务中 心实例 • 统一的路由策略管控 • 缓存以提升性能 •支持pull/push两种模式监控实例变化 • 实例动态扩容,海量的长连接或者短连接 • 支持灰度发布、服务分组等高级管理特性 微服务 ServiceComb 开发框架 通信模型 (序列化、传输协 议) 编程模型 (同步、异步、 Reactive…)0 码力 | 16 页 | 1.45 MB | 1 年前3
 康彬-基于微服务的混合云和同城双活实践(内存|磁盘) 网络资源 (ip|端口|带宽) 中间件层 微服务框架 服务元数据管理 服务发布 服务订阅 消息中间件 消息元数据管理 消息生产 消息消费 job调度系统 job元数据管理 job发布 job调度 配置中心 mq管理系统 调用链路 系统 监控告警 系统 发布系统 服务注册 中心 服务治理 系统 api-gateway 获客 授信 下单 还款 devops 监控系统 调用链路 日志系统 …… oa 人事系统 智能推荐 大数据 AI/BI …… 交易平台 电商 现金 信用卡 会员 桔子理财 风控平台 用户增长 发布系统 故障时,只影响内 部办公相关的公司 经营活动,不影响 用户下单交易 故障时,间接或部分影响用户 下单交易,但有降级方案来缓 冲、减少影响 故障时,只影响日 常研发运维活动的 进行,不影响用户 元 中 心 云 单 元 native/wex 单元化&多活应用场景 蓝绿发布step1 LB 100 % service1_A SET_A service2_A service3_A service1_B SET_B service2_B service3_B 50 % 50 % 蓝绿发布step2 LB 100 % service1_A SET_A service2_A0 码力 | 47 页 | 6.09 MB | 1 年前3 康彬-基于微服务的混合云和同城双活实践(内存|磁盘) 网络资源 (ip|端口|带宽) 中间件层 微服务框架 服务元数据管理 服务发布 服务订阅 消息中间件 消息元数据管理 消息生产 消息消费 job调度系统 job元数据管理 job发布 job调度 配置中心 mq管理系统 调用链路 系统 监控告警 系统 发布系统 服务注册 中心 服务治理 系统 api-gateway 获客 授信 下单 还款 devops 监控系统 调用链路 日志系统 …… oa 人事系统 智能推荐 大数据 AI/BI …… 交易平台 电商 现金 信用卡 会员 桔子理财 风控平台 用户增长 发布系统 故障时,只影响内 部办公相关的公司 经营活动,不影响 用户下单交易 故障时,间接或部分影响用户 下单交易,但有降级方案来缓 冲、减少影响 故障时,只影响日 常研发运维活动的 进行,不影响用户 元 中 心 云 单 元 native/wex 单元化&多活应用场景 蓝绿发布step1 LB 100 % service1_A SET_A service2_A service3_A service1_B SET_B service2_B service3_B 50 % 50 % 蓝绿发布step2 LB 100 % service1_A SET_A service2_A0 码力 | 47 页 | 6.09 MB | 1 年前3
 华为企业级PaaS 微服务应用适用性评估 试点实施 效果评估 经验固化 目标设定 培 训 ( 理 论 、 案 例 、 实 战 演 练 ) 应用管理平台(CAS) 生命周期管理 部署/卸载 启动/停止 升级/回滚 灰度发布 弹性伸缩 微服务运维 应用告警 日志分析 全链路拓扑 SQL分析 调用链 立体监控 方法追踪 事务洞察 微服务治理 负载均衡 限流/降级 熔断/容错 错误注入 黑白名单 灰度环境 生产环境 商业生态(aPaaS/SaaS) 行业 (政府、教育、医疗、零售、……) 伙伴 (软通、中软、幸宜、博思、医 信、……) 工具(CPE) 设计和开发 构建 测试 发布上线 监控运维 部署 流 水 线 ( 持 续 集 成 、 持 续 交 付 ) 扩展插件: Eclipse等 扩展插件: 静态检查等 扩展插件: 三方部署系 统 扩展插件: 客户测试系 com/apache?q=servicecomb 缺少了什么 • 流水线,平台等自动化手段的完备,使得开发人员开始思考业务功能的拆分,复用,使得网络拓扑更加复杂 • 从过去“数据中心网络拓扑几乎没变化”变为“应用发布,应对业务流量,随时随地的网络拓扑变化” • 平台功能解决了应用运行时之前的种种问题,但为了将应用的运行时统一治理,保障业务可靠运行,需要引入微服务框架 来解决分布式系统中的难题 9 github0 码力 | 17 页 | 3.42 MB | 1 年前3 华为企业级PaaS 微服务应用适用性评估 试点实施 效果评估 经验固化 目标设定 培 训 ( 理 论 、 案 例 、 实 战 演 练 ) 应用管理平台(CAS) 生命周期管理 部署/卸载 启动/停止 升级/回滚 灰度发布 弹性伸缩 微服务运维 应用告警 日志分析 全链路拓扑 SQL分析 调用链 立体监控 方法追踪 事务洞察 微服务治理 负载均衡 限流/降级 熔断/容错 错误注入 黑白名单 灰度环境 生产环境 商业生态(aPaaS/SaaS) 行业 (政府、教育、医疗、零售、……) 伙伴 (软通、中软、幸宜、博思、医 信、……) 工具(CPE) 设计和开发 构建 测试 发布上线 监控运维 部署 流 水 线 ( 持 续 集 成 、 持 续 交 付 ) 扩展插件: Eclipse等 扩展插件: 静态检查等 扩展插件: 三方部署系 统 扩展插件: 客户测试系 com/apache?q=servicecomb 缺少了什么 • 流水线,平台等自动化手段的完备,使得开发人员开始思考业务功能的拆分,复用,使得网络拓扑更加复杂 • 从过去“数据中心网络拓扑几乎没变化”变为“应用发布,应对业务流量,随时随地的网络拓扑变化” • 平台功能解决了应用运行时之前的种种问题,但为了将应用的运行时统一治理,保障业务可靠运行,需要引入微服务框架 来解决分布式系统中的难题 9 github0 码力 | 17 页 | 3.42 MB | 1 年前3
 消费者云CSE微服务实践尽管现在以Java和GO语言为主,但是从架构演进角度考虑,未来 会根据消费者业务自身的特点引入更适合的语言  服务框架丌要绑定具体的语言实现,例如内部通信协议使用某种 语言特定的序列化机制、发布泛型、抽象接口等 微服务框架技术选型-灵活和轻量级架构  当前业务服务端都是非Web应用,所以丌需要运行在Web容器中, 需要类似Main函数可以直接拉起来的Standalone模式 服务 端 Mock 框架 客户 端 Mock 框架 CSE在消费者云业务的实践-Spring MVC模式开发微服务 1、配置spring mvc依赖 2、注解Service 3、发布Service 优势:除了Spring MVC开发模式,同时 还支持:  JAX-RS  透明RPC CSE在消费者云业务的实践-可靠性 1、分布式服务化本身引入的潜在故障点: 线上业务发生故障时,需要对故障业务做服务降级、流量控 制、流量迁移等,快速恢复业务  随着开发团队的丌断扩大,服务的上线越来越随意,上线容 易下线难,为了规范服务的上线和下线,在服务发布前,需 要走服务预发布流程,由架构师戒者项目经理对需要上线的 服务做发布审核,审核通过的才能够上线 服务治理目的:满足服务上下线管控、保障微服务的高效、 健康运行 部分服务治理配置项: CSE在消费者云业务的实践-更多实践0 码力 | 22 页 | 1.39 MB | 1 年前3 消费者云CSE微服务实践尽管现在以Java和GO语言为主,但是从架构演进角度考虑,未来 会根据消费者业务自身的特点引入更适合的语言  服务框架丌要绑定具体的语言实现,例如内部通信协议使用某种 语言特定的序列化机制、发布泛型、抽象接口等 微服务框架技术选型-灵活和轻量级架构  当前业务服务端都是非Web应用,所以丌需要运行在Web容器中, 需要类似Main函数可以直接拉起来的Standalone模式 服务 端 Mock 框架 客户 端 Mock 框架 CSE在消费者云业务的实践-Spring MVC模式开发微服务 1、配置spring mvc依赖 2、注解Service 3、发布Service 优势:除了Spring MVC开发模式,同时 还支持:  JAX-RS  透明RPC CSE在消费者云业务的实践-可靠性 1、分布式服务化本身引入的潜在故障点: 线上业务发生故障时,需要对故障业务做服务降级、流量控 制、流量迁移等,快速恢复业务  随着开发团队的丌断扩大,服务的上线越来越随意,上线容 易下线难,为了规范服务的上线和下线,在服务发布前,需 要走服务预发布流程,由架构师戒者项目经理对需要上线的 服务做发布审核,审核通过的才能够上线 服务治理目的:满足服务上下线管控、保障微服务的高效、 健康运行 部分服务治理配置项: CSE在消费者云业务的实践-更多实践0 码力 | 22 页 | 1.39 MB | 1 年前3
共 28 条
- 1
- 2
- 3













