ServiceComb在华为消费者云的亿级用户微服务实践https://gitter.im/ServiceCombUsers/Lobby 经历:2008年加入华为,从事多年平台中间件、云计算和PaaS平台设计和开发 目前在华为终端消费者云业务从事华为手机应用市场的云化、微服务化架构设计 《Netty权威指南》、《分布式服务框架原理与实践》作者 热爱技术写作和分享 联系方式: Email: li_linfeng@huawei 组织赋能:拉通设计、开发、测试和运维的跨团队培训、 技术方案试点、案例分享、 ServiceComb统一预警体系,不 同业务部门之间的合作和协同 服务化地图:业务部署上线后,对业务微服务API进行基 线化,并发布服务化地图,涵盖微服务的划分原则、微服务 流水线地址、微服务SLA指标等 总体策略-技术选型 Website: http://servicecomb.incubator.apache im/ServiceCombUsers/Lobby 不同团队,经验和开发习惯都有差异,选择适合业务的开发模式 1、传统使用Spring MVC开发的团队,继续使用Spring MVC风格: 2、使用DSF等服务框架开发的,更熟悉透明RPC开发模式: 3、还可以使用JAX-RS模式开发微服务: 开发模式没有优劣之分,对于重构方式进行的微服务开发,选择 业务熟悉的模式,可以更好的重用已有代码和开发经验,提升重构 效率 实践-同步和异步0 码力 | 15 页 | 1.15 MB | 1 年前3
华为企业级PaaS 微服务应用开发者不需要知道应用部署到容器还是虚机中,只需要像过去一样开发应用 • Java,Go,Nodejs等语言可部署到ARM,x86不同的基础设施中 • 完善的自动化促使组织能够管理大规模,快速的部署应用实例,应对业务流量,需求的变化 源码 软件中心 流水线 构建 归档 部署 配置中心 java python go nodejs php war jar 压缩包 二进制 Docker镜像 调整线上应用配置 q=servicecomb 缺少了什么 • 流水线,平台等自动化手段的完备,使得开发人员开始思考业务功能的拆分,复用,使得网络拓扑更加复杂 • 从过去“数据中心网络拓扑几乎没变化”变为“应用发布,应对业务流量,随时随地的网络拓扑变化” • 平台功能解决了应用运行时之前的种种问题,但为了将应用的运行时统一治理,保障业务可靠运行,需要引入微服务框架 来解决分布式系统中的难题 9 github.com/apache Eureka/Consul Config Server 微服务引擎管理器 用户 申请引擎 部署 治理中心 下发治理: • 灰度发布 • 熔断,降级 • 重试 • 超时 • 限流 • 变更业务配置 管理微服务运行时,查看API文档 对接 监控平台 上报 观察 servicecomb.apache.org github.com/apache?q=servicecomb 案例0 码力 | 17 页 | 3.42 MB | 1 年前3
Service Mesh的思考及在华为云的实践6/30/2018 什么是Service Mesh • 一种基础设施层,服务间 通信通过Service mesh进 • 一种TCP/IP之上的网络模 型行 • 一个轻量的网络代理,与 业务部署在一起 • 可靠的传输复杂网络拓扑 中的服务请求,将服务变 为现代的云原生服务 Website: http://servicecomb.incubator.apache.org/ Gitter: Service Mesh Transport Network Physical Application Transport Network Physical 为什么要使用 • 解放业务开发者 • 改造遗留老应用成为云原生应用 • 代码0侵入 • 学习曲线 Website: http://servicecomb.incubator.apache.org/ Gitter: https://gitter Design Goal • 侵入式与非侵入式可结合使用 • 不绑定基础设施 • 服务可视化 • 高性能,轻量 • 尽最大可能插件化各功能模块 • 透明的产品体验:整合容器平台,微服务引擎,API 网关,指标监控,日志审计等云上服务,封装为微服 务平台,让用户感知不到背后的复杂 Website: http://servicecomb.incubator.apache.org/ Gitter: https://gitter0 码力 | 29 页 | 1.55 MB | 1 年前3
Apache ServiceComb 开源微服务社区能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 微服务鉴权 分布式系统配置中心 微服务契约工具 19 年Apache ServiceComb新品发布 面对用户痛点持续创新 财政业务应用 指导 规约 支撑 支撑 云平台 财政业务中台 财政云 ISV-A ISV-B ISV-C 供应商 交付 指导 规约 总账引擎 电子印章 报表 电子凭证 工作流 标准存储 数据交换 …… 财政微应用 预算 编制 指标 管理 …… 财务微应用 会计 核算 项目 库 …… 统一基础 数据规范 统一财政 业务数据 标准存储 统一应用 支撑平台 总账结构 统一纵向 层级交换 机制 统一信息 安全体系 软件开发服务 ServiceStage 大数据服务 中间件服务 标准与规范 应用全微服务化,接口标准由财政厅统一管控, ISV只需聚焦微服务交付,降低依赖性 统一业务模型和数据集成标准,系统无缝对接, 财政数据统一呈现,业务全盘管控 基于先进研发理念,标准化研发环境和工具, 开发效率高,财政需求上线快 解除ISV绑定 降低业务监管难度 新需求上线快 案例:助力S省财政厅数字化转型 综控端 无人机管理系统 (单体架构) 地面站0 码力 | 15 页 | 2.86 MB | 1 年前3
华为微服务框架ServiceCombMicroservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 异步性能支持 • 基于Vertx提供的异步内核 • 保持高性能的同时支持同步调用方式 • 将通信线程不业务处理线程分离 • 操作级别线程池控制,支持隔离仓 • 支持多种异步编程接口 • CompletableFuture • RxJava • Reactive Stream • ……. 通过调用链支持自定义追踪扩展 2018 Building Microservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 Metrics • 覆盖关键指标 • 支持多时间周期性能指标统计 • 集成Prometheus,OverWatch • 提供health check 接口检查 Metrics 子项 说明 微服务资源使用 CPU、ThreadCount、Heap、NonHeap NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 ServiceComb 1.0.0-m1新特性 • Java Chassis • 异步调用接口支持 • 监控指标模块优化,支持不prometheus, OverWatch • 支持通过携程Apollo劢态配置实例 • Service Center • 优化Service Center性能,修复Bug0 码力 | 28 页 | 1.53 MB | 1 年前3
华为云分布式事务DTM最佳实践github.com/apache?q=servicecomb servicecomb.apache.org 方案\指标 2PC 传统事务 可靠事件 TCC 柔性事务 SAGA 补偿事务 数据一致性 强一致 最终一致 最终一致 最终一致 总体性能 低 高 取决于实现 取决于实现 业务侵入性 较低侵入 高侵入 高侵入 高侵入 适用广泛性 一般 一般 高 低 产品成熟度 高 高 一般 低 方案对比 A DTM-Client (参与者) Service B DTM-Server 配置中心 运维中心 Database A DTM-Client (参与者) Database A 业务数据库A 业务数据库B 事务数据库 用户侧 系统侧 管理面 数据面 TCC实现 TCC实现 8 github.com/apache?q=servicecomb servicecomb.apache0 码力 | 15 页 | 3.10 MB | 1 年前3
微服务环境下的系统治理与容错架构师是什么样的人 架构的终极目标 研发团队的持续斗争 研发团队必须从公司长远利益出发与其他部门抗争 -- Robert C. Martin 多种架构思想的本质 分层架构思维到六边形架构思维 业务领域代码 基础设施代码 再看六边形架构 治理 微服务到底需要多“微” 微 微服务的“微”暗示了服务的大小,但实际上微服务架构对构成的服务实例并没有大小方面的要求。 微服务的微 微服务的两个“谬论” 职能的自治团队,这必不可少。 还必须记住:实现微服务架构并不是你的目标。你的目标是加速大型复杂应用程序的开发。 --Chris Richardson 容错 故障和问题 线上故障“画像“ 系统稳定性指标 可监控设计 同步调用下-无线程池隔离 同步调用下-线程池隔离实现方法 快速失败-超时 快速失败-时间窗口 快速失败-超时重试次数 区分部署和上线 常规系统保障流程 没有不出问题的系统0 码力 | 45 页 | 16.09 MB | 1 年前3
ServiceComb介绍跟踪 … 运⾏行行模型 围绕服务契约进⾏行行开发以及运维 异步化⽀支持 • 基于Vertx提供的异步内核 • 保持⾼高性能的同时⽀支持同步调⽤用⽅方式 • 将通信线程与业务处理理线程分离 • 操作级别线程池控制,⽀支持隔离仓 • ⽀支持多种异步编程接⼝口 • CompletableFuture • RxJava • Reactive Stream • …… 2017年年8⽉月 2017年年10⽉月 2017年年9⽉月 2017年年12⽉月 ServiceComb 1.0.0-m2 新特性 • Java Chassis • 全⾯面⽀支持⽂文件上传与下载 • 监控指标模块优化 • 提供优雅下线功能 • 提供Maven Archetype创建⼯工程代码 • Service Center • 前端UI与服务中⼼心整合 • 优化微服务实例例统计信息 • Saga0 码力 | 16 页 | 877.58 KB | 1 年前3
ServiceComb雄关漫道(OpenAPI) 服务发现 熔断 负载均衡 配置 跟踪 … 运行模型 围绕服务契约进行开发以及运维 异步化支持 • 基于Vertx提供的异步内核 • 保持高性能的同时支持同步调用方式 • 将通信线程与业务处理线程分离 • 操作级别线程池控制,支持隔离仓 • 支持多种异步编程接口 • CompletableFuture • RxJava • Reactive Stream • ……. Process 2017年10月 2017年9月 2017年12月 ServiceComb 1.0.0-m1 新特性 • Java Chassis • 支持 CompletableFeature 异步调用接口 • 监控指标模块优化,支持与prometheus对接 • 支持通过携程的Apollo配置中心来动态配置实例 • Service Center • 优化Service Center性能,修复Bug • Saga0 码力 | 20 页 | 4.00 MB | 1 年前3
Metrics in ServiceComb 1.0.0-m1直译是“度量”,不同的领域定义有所区别,在微服务领域中的 定义: “对微服务的某个指标给予一个可量化程度的测量” • Metrics应该具备的特性: • Comparative(可对比):指标能够在不同的微服务或同一个微服务的多 个实例之间比较; • Understandable(易理解):指标所衡量的对象、计算方法和输出的结果 值都是容易理解的; • Ratio(理想的比 Ratio(理想的比例):理想结果可预见,可以立即用于比较。 最常见的Metrics • 衡量Metrics实现 优劣的标准: • 关键指标覆盖 全 • 计量准确 • 高性能低资源 占用 • 无侵入或低侵 入 Metrics的分类 • Metrics有很多种分类方式,在技术实现上我们偏向以取值方式区 分为两种: • 1. 直接取值 • 任何 是(限Spring Boot中启用) • 通过上面的比较可以看出,三种Metrics对于微服务的支持都很弱,例如微服务包含若干个 Operation,不写代码无法全面获取每一个Operation的各类指标(调用数、TPS、Latency等 等)。 ServiceComb Java Chassis中的Metrics • ServiceComb Java Chassis是一个包含了服务注册,服务发现,服务0 码力 | 18 页 | 938.89 KB | 1 年前3
共 38 条
- 1
- 2
- 3
- 4













