Service Mesh在华为公
有云的实践和落地,Go语⾔言微服务框架被华为5G核⼼心⺴⽹网络采⽤用,Service Mesh服务商⽤用上 线公有云 • 简介 • 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • Service Mesh在华为内部的技术演进 我们在构建微服务,⽽而构建微服务是困难 的 微服务架构模式引⼊入的问题 路由规则 • 引流 • ⽀支持权重 • 根据消费者信息或请求特征进⾏行引流 开发出开的应⽤用既是云原⽣生的⼜又具有独⽴立性 没有银弹 • 新的故障点 • ⼀一定程度的性能降低 • 侵⼊入式框架有更强的定制和扩展能⼒力 • 部署复杂性 • 简介 • 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • Service Mesh在华为内部的技术演进 第⼀一代:基于Nginx的微服务代理 • 2013年,微服务开发平台中的组 ⽀支持多种部署⽅方式 • 占⽤用资源⼩小(闲置10多M,并发运⾏行时30多M) • 简介 • 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • 与PaaS平台结合 • Service Mesh在华为内部的技术演进 整体架构 Mesher Service Mesher Service Mesher Service Mesher0 码力 | 52 页 | 4.37 MB | 1 年前3
 华为企业级PaaS 微服务应用EC2,S3,Route53 • OpenStack • CloudStack • 混合云 以应用为中心: • Heroku • GAE • CloudFoundry 容器时代: • Docker • Kubernetes • CaaS • Container Instance in cloud provider • DockerHub What’s Next? servicecomb.apache 设计和开发 构建 测试 发布上线 监控运维 部署 流 水 线 ( 持 续 集 成 、 持 续 交 付 ) 扩展插件: Eclipse等 扩展插件: 静态检查等 扩展插件: 三方部署系 统 扩展插件: 客户测试系 统 扩展插件: 客户自有仓 库 扩展插件: 客户自有监 控 开发者生态 开源社区 案例 开发者 API 产品 生态 通用微服务工具市场 行业微服务组件市场 github.com/apache?q=servicecomb 助力文思海辉PHP语言系统实现 全微服务化架构 基于RFID技术的楼宇设施管理 遇到的问题 性能瓶颈稳定 性差 复杂度高不易 扩展 • 单体应用,功能耦合 • 新增功能影响现有业务,升级业务中断 • 业务增长对性能要求高,增加机器不能解决问 题 • 一个业务问题影响整个系统,风险高 基于微服务引擎Mesher功能将PHP应用接入微服务治理0 码力 | 17 页 | 3.42 MB | 1 年前3
 微服务创新新品发布Registry - Protocol - 监控 - 安全 拥抱生态 - ServiceComb - Istio - Promethues - Zipkin - 华为云 异构基础设施 - CCE - Kubernetes - Docker - VM - Bare metal 4 github.com/apache?q=servicecomb servicecomb.apache.org 用户输入 第三方 假如说我们要定义A到B以及到某个API的超时时间 -学习成本高,运维人员要学习这个只在团队内部生效的key规则 -所有的key集中在一种类型的视图中管理,管理成本高。 -不断增长的规则定义,越来越复杂,人类不可读。 -Key设计无法扩展变更,没法轻易变更数据结构 分布式系统配置中心 7 github.com/apache?q=servicecomb servicecomb.apache.org servicecomb-fence0 码力 | 12 页 | 2.96 MB | 1 年前3
 ServiceComb 微服务框架是一个微服务数据一致性解决方案。 ServiceComb的开放性设计 •Provider与Consumer具有完全 一致的开发体验 •通信模型与编程模型隔离,适 应不同业务场景需求 •运行模型支持灵活扩展,便于 对接外部系统 特性介绍: Service Center • 服务注册/服务发现 • 微服务元数据与依赖管理 服务实例管理 • 高性能、高可靠 • 性能监控与调用追踪 特性介绍: Java-Chassis 分布式追踪 • 支持标准的分布式调用追踪Zipkin • 支持通过@span扩展自定义追踪 • 通过调用链支持自定义追踪扩展 • 支持Skywalking @Override @Span public double calculate(double height, double weight) {0 码力 | 11 页 | 668.81 KB | 1 年前3
 庖丁解牛:华为云微服务工具解放开发者微服务架构的优势 因素 单体架构 微服务架构 交付速度 较慢 较快 故障隔离范围 线程级 进程级 整体可用性 较低 更高 架构持续演进 困难 简单 沟通效率 低 高 技术栈选择 受限 灵活 可扩展性 受限 灵活 可重用性 低 高 实现业务复杂性分解难度 困难 容易 产品创新复杂度 困难 容易 一致性实现成本 低 高 时延 低 高 资源成本 低 高 关联查询复杂度 简单 复杂 远程调用 服务A 服务B 步骤2:通过表结构调整, 将不同的数据库进行解耦, 防止一个微服务跨库访问 (反范式、服务重构等) 微服务数据库 A库 B库 服务A 服务B 步骤3:大表水平拆分,实 现水平扩展,提升访问速度 (分区分库) 步骤4:根据表结构变化,自动调整DDL/CRUD等SQL语句自动生成java的数据访问服务 步骤5:数据表执行、数据搬迁 业务应用层 业务应用层 业务应用层 通过对表的关联 从左到右分别是拆分出来的商品库、模板库,最后一些离散表是系统为了关联外部系统而引入的表,独立成库 Huawei Confidential 11 案例2:存量系统2微服务拆分分析-图搜索拆分微服务 从左到右分别是拆分出扩展属性服务、模型/模型实例服务、目录服务以及离散表独立成的服务,其中离散表中标红部分概念上应该划分到模型/模型实例服 务中,但实际的sql,却并未体现其和模型/模型实例的关联关系,因此被自动划分到独立服务中0 码力 | 14 页 | 1.54 MB | 1 年前3
 Experience on Fast Microservice Programming - 亲自动手,体验微服务开源开发-快速微服务化编程体验Development • Kubernetes Deployment • Test and Verification Huawei Confidential 3 Case of Quick Microservice Development Consumer Mesher Provider Java- chassis Service Center Kubernetes Mesher Sidecar-injector Deployment: Sidecar-injector Principles 8 Pod A Mesher A Sidecar- injector Kubernetes AdmissionWebhook Prerequisites: • Kubernetes 1.9 or later is used. • MutatingAdmissionWebhook and ValidatingAdmissionWebhook go-archaius Config sources CSE Apollo File system Command line ... Huawei Confidential Kubernetes Deployment 10 Provider • Deployment • Service Consumer • Deployment • Service Apollo •0 码力 | 12 页 | 2.56 MB | 1 年前3
 ServiceComb在Service Mesh的探索与思考ServiceComb - Istio - Promethues - Zipkin - HUAWEI CLOUD Heterogeneous Infrastructure - CCE - Kubernetes - Docker - VM - Bare metal Huawei Confidential 8 Registration and Discovery - Unified cache center Service center Governance Web Console Monitoring Zipkin Huawei APM Prometheus Grafana Kubernetes Java chassis Service Go chassis Service VM Bare metal CCE ServiceStage API gateway Governance the Mixer service but directly connect to different ecosystems. 13 Kubernetes Master 14 Deployment — Community Solution Kubernetes Node Pod Service Mesher kubectl Sidecar Injector Create Kube0 码力 | 21 页 | 8.32 MB | 1 年前3
 ServiceComb在Service Mesh的
探索与思考Registry - Protocol - 监控 - 安全 拥抱生态 - ServiceComb - Istio - Promethues - Zipkin - 华为云 异构基础设施 - CCE - Kubernetes - Docker - VM - Bare metal Huawei Confidential 8 注册发现 - 统一缓存模型 - 可灵活选择客户端注册发现,与平台注册 Registrator center Service center Governance Web Console Monitoring Zipkin Huawei APM Prometheus Grafana Kubernetes Java chassis Service Go chassis Service VM Bare metal CCE ServiceStage API gateway Governance o提供侵入式框架 - 不使用Iptables转发 - 不接入Mixer服务,而是直接接入不同生态系统 13 Huawei Confidential Kubernetes Master 14 部署-社区方案 Kubernetes Node Pod Service Mesher kubectl Side car Injector create KubeAPI server0 码力 | 21 页 | 8.48 MB | 1 年前3
 ServiceComb 介绍异步操作提升应用处理效率 • 支持Restful以及RPC 异步事件操作保证系统性能 分布式调用追踪 • 支持标准追踪协议 • Zipkin • 支持@span扩展事务追踪 • 提供调用追踪扩展 • 可以配置自定义的追踪处理器 • 支持适配自定义追踪格式 http://github.com/ServiceComb ServiceComb代码库信息 − Java-chassis0 码力 | 16 页 | 1.26 MB | 1 年前3
 ServiceCenter - 服务注册中心应用App,便于微服务可在多个应用间重用 2. 微服务名称,App内唯一 3. 微服务描述信息,让使用者可以快速了解到业务范畴等 4. 微服务访问契约内容,API能力的描述文件 5. 微服务扩展属性,添加具体业务扩展属性 6. 微服务黑白名单,支持Provider侧设置路由策略 7. 微服务标签,支持按标签检索 高可用性保障 互联网分布式系统设计的准则:BASE 1. Basically0 码力 | 18 页 | 856.27 KB | 1 年前3
共 28 条
- 1
 - 2
 - 3
 













