Service Mesh在华为公 有云的实践
Breaker Rate Limiting Config Center Scheduler 调⽤用场景1 • 透明TLS传输能⼒力,⽤用户可托管⾃自⼰己的证书 • 提供者可获得服务端限流能⼒力和处理链功能 ServiceA Mesher Mesher ServiceB https://10.100.2.3:30101 http://127.0.0.1:8080 http://127.0.0 Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • Service Mesh在华为内部的技术演进 Istio与Envoy • 作为⼀一个平台,专注在控制 ⾯面的功能,将Envoy整合到 平台中,作为数据⾯面Service Mesh • Mesher可以作为Envoy的⼀一 种替代⽅方案 Linkerd Service Mesh Landscape • Mesher examples https://github.com/huawei-microservice-demo/mesher-example 未来 数据⾯面竞争点:特性,可配置,扩展性,性能 管理⾯面竞争点:特性,可配置,扩展性,易⽤用性 最重要的:编排调度平台与数据⾯面的整合,为开发者带来最完整的产品体验 Take away • The Hardest Part of Microservices:0 码力 | 52 页 | 4.37 MB | 1 年前3Metrics in ServiceComb 1.0.0-m1
Metrics是什么 • 直译是“度量”,不同的领域定义有所区别,在微服务领域中的 定义: “对微服务的某个指标给予一个可量化程度的测量” • Metrics应该具备的特性: • Comparative(可对比):指标能够在不同的微服务或同一个微服务的多 个实例之间比较; • Understandable(易理解):指标所衡量的对象、计算方法和输出的结果 值都是容易理解的; 开源领域的Metrics比较 比较项 Netflix Servo Dropwizard Metrics Spring Boot Actuator 计数器(Monitor)的实 现 性能相对高效 功能相对丰富 较弱,但是支持使用 Dropwizard Metrics集成实现 强化 数据发布 Push模式,自带三种 Observer Pull或Push,自带几种 Reporter Pull或Push,自带两种 ServiceComb Java Chassis中的Metrics • ServiceComb Java Chassis是一个包含了服务注册,服务发现,服务 配置以及管理功能的微服务框架,因此我们决定提供内置的更强 大的Metrics功能: • 开箱即用,不写一行代码输出关键Metrics,全面覆盖调用数、TPS、 Latency等; • 基于Netflix Servo,使用固定统计周期(稍后会详细介绍);0 码力 | 18 页 | 938.89 KB | 1 年前3ServiceComb介绍
K8S 对接⾏行行业解决⽅方案 ServiceComb项⽬目介绍 • Java Chassis • ⾼高性能的微服务框架,提供服务注册发现以及动态配置管理理,以及限流降级,容错熔 断等服务治理理功能 • Service Center • 基于Etcd⾼高性能,⾼高可⽤用服务注册中⼼心 • Saga • 微服务事务最终⼀一致性问题解决⽅方案 • 提供⼀一个集中式的事务协调器器,协调微 2017年年6⽉月 2017年年8⽉月 2017年年10⽉月 2017年年9⽉月 2017年年12⽉月 ServiceComb 1.0.0-m2 新特性 • Java Chassis • 全⾯面⽀支持⽂文件上传与下载 • 监控指标模块优化 • 提供优雅下线功能 • 提供Maven Archetype创建⼯工程代码 • Service Center • 前端UI与服务中⼼心整合 • 优化微服务实例例统计信息0 码力 | 16 页 | 877.58 KB | 1 年前3ServiceComb java SDK详解
根据兼容规则,将实例进行分组 只有edge service场景下,对于同一个目 标微服务,存在多个版本分组 • 兼容分组内,新版本功能集合大于旧版本,自动 根据url选择合适的版本组 • AZ亲和性 • 根据传输通道分组 • 根据实际调用统计,隔离暂时不可用的调用目标 • 开发人员通过SPI扩展过滤功能 2.以过滤得到的Endpoint集合作为输入,根据配置的策 略进行LoadBalance: • 轮询、响应时间权重、随机 默认2个线程池,每个池中线程数等于cpu数 – 参考metrics统计结果 • cpu 带宽允许的情况下,cpu应该基本占满 • 网络带宽 关注是否已经占满带宽 • RSS 如果环境(硬件、os、驱动)支持RSS特性,确认队列数是否正确配置、中断是否均匀绑定了cpu、是否关闭了自动软中断负载均衡(不关闭会导致中断绑定, 在一段时间后失效) rest server verticle rest client verticle0 码力 | 21 页 | 1.15 MB | 1 年前3消费者云CSE微服务实践
华为消费者云业务包括 华为应用市场、华为视频、华为钱包、华为运 劢健康等服务,为华为和荣耀手机提供精品云服务,提升用户体验 华为消费者云业务简介 微服务框架技术选型-业务服务化目标 系统解耦,功能内聚,提升需求交付效率:通过业务的拆分和解耦,让系统敏 捷起来,快速、小批量的交付价值需求,提升业务的交付效率 践行API First:通过服务化,让服务提供者和消费者乊间通过微服务API建立契约,利 升业务SLA 建立服务化团队:随着业务的丌断拆分,大的研发团队也会被拆分成2-Pizza Team, 微服务团队由3-5人组成,负责整个微服务的设计、开发、测试、部署运维和治理,通过 全功能团队的建设,让业务真正敏捷起来 微服务框架技术选型-支持多语言 尽管现在以Java和GO语言为主,但是从架构演进角度考虑,未来 会根据消费者业务自身的特点引入更适合的语言 服务 微服务框架技术选型-成熟 微服务框架采用的技术应该是经过验证、业界主流的技术,例如网 络传输采用Netty 微服务框架本身要成熟,经过丌同业务、较长时间的验证,商用发 布的特性要稳定 无论是社区开源版本,还是购买的商用软件,戒者自己构建,技术 支持和保障一定要到位 微服务框架技术选型-结果 为什么业务最终选择CSE作为微服务框架? 无论0 码力 | 22 页 | 1.39 MB | 1 年前3ServiceComb 介绍
service-center • 基于go语言的服务中心 − ServiceComb-Saga • 长时间运行事务处理框架 ServiceComb组件的新特性 • Service-Center 0.2.0 • 提供了管理控制台,对注册的服务实例提供管理功能 • Java-Chassis 0.3.0 • 支持通过@Span注释的方式定义事务 • 统一了Http请求处理,支持对Rest调用进行定制处理0 码力 | 16 页 | 1.26 MB | 1 年前3ServiceComb雄关漫道
ServiceMesh K8S 对接行业解决方案 ServiceComb项目介绍 • Java Chassis • 高性能的微服务框架,提供服务注册发现以及动态配置管理,以及限流降级,容错熔 断等服务治理功能 • Service Center • 基于Etcd高性能,高可用服务注册中心 • Saga • 微服务事务最终一致性问题解决方案 • 提供一个集中式的事务协调器,协调微服务之间的事务调用,保证事务最终一致性 集中式Saga原型 Saga 0.0.2 Saga调用支持条件判断 2017年6月 2017年8月 2017年10月 2017年9月 2017年12月 ServiceComb 1.0.0-m1 新特性 • Java Chassis • 支持 CompletableFeature 异步调用接口 • 监控指标模块优化,支持与prometheus对接 • 支持通过携程的Apollo配置中心来动态配置实例0 码力 | 20 页 | 4.00 MB | 1 年前3华为微服务框架ServiceComb
Native 架构下的 K8S 和微服务实践 ServiceComb项目介绍 • Java/Go Chassis • Java/Go 微服务框架 • 提供微服务注册发现以及限流降级,容错熔断等治理功能 • Service Center • 高性能,高可用服务注册中心 • Saga • 微服务数据一致性问题解决方案 • 提供一个集中式的事务协调器,协调微服务乊间的事务,保证事务最终一致性 Scenario 2018 Building Microservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 ServiceComb 1.0.0-m1新特性 • Java Chassis • 异步调用接口支持 • 监控指标模块优化,支持不prometheus, OverWatch • 支持通过携程Apollo劢态配置实例 • Service0 码力 | 28 页 | 1.53 MB | 1 年前3Apache ServiceComb 开源微服务社区
航路规划 用户管理 设备控制 分量分析 微服务治理中心 …… 微服务化前 特性上线 性能提升 周级上线 (<2周) 百级TPS、秒级时延 万级TPS、毫秒级时延 月级上线 (>2月) 运维效率提升 人工定位 问题定位时间缩短3倍 微服务化后 案例:助力某无人机企业打造智慧控制大脑 新功能上线 月 -> 天 弹性伸缩 秒级 AI 新生报到人脸识别 教务系统 科研系统0 码力 | 15 页 | 2.86 MB | 1 年前32-4-禚娴静-微服务你玩得起吗
服务D 业务系统A Librarian 业务系统B 服务E 服务F 微服务架构初步形成 那时的微服务 系统集成消除重复 ful API Restful API ⾃自动 化部署 特性 团队 它给我们带来了哪些好处? 新业务C三个⽉月上线 领域服务 服务A 服务B 服务C 服务D 服务E 服务F Librarian 业务系统B 业务系统C 服务G 服务H 业务系统A 那怎么办? 2015年服务治理 � � � � � � � � � � � � DevOps 快速响应 只有这 些是不 够的 ful API Restful API ⾃自动 化部署 特性 团队 1 环境⼿手⼯工维护,频频出错 2 缺乏有效监控 3 服务过⼤大,堵塞交付 快速增⻓长的结果导致服务过⼤大 或者服务过⼩小。⽽而过⼤大的服务 导致整个提交流⽔水线堵塞,测 试⼈人员⽆无法拿到新的版本,交 Newman • 服务足够小 • 独立运行 • 轻量级通信机制 • 独立的部署 • 去中心化 微服务架构特性 API设计指导原则 容错性 新的团队结构 Perf Guild DevOps Guild 交付特性团队 交付特性团队 “没有衡量就没有改善! 你衡量什么就得到什么!” —Peter F.Drucker 产品规划 需求澄清 分析设计0 码力 | 51 页 | 8.18 MB | 1 年前3
共 27 条
- 1
- 2
- 3