康彬-基于微服务的混合云和同城双活实践单元化&双活的应用场景 • 同城双活的探索之路 • 未来的规划 大促的痛及混合云实践 业务服务层 资源层 分期乐 前端业务服务 桔子理财 鼎盛资管 …… mq管理系统 job管理系统 中台服务层 核心交易平台 风控审核平台 计算资源 (CPU) 存储资源 (内存|磁盘) 网络资源 (ip|端口|带宽) 中间件层 微服务框架 服务元数据管理 服务发布 服务订阅 消息中间件 机器准备周期长,紧急 情况无法应对 大促后机器闲置率高,资 源浪费巨大 混合云需求分析 机器资源按需 申请 01 接入层按url调 度流量 02 服务层set化的 路由策略 03 数据层读请求 上云,写请求 回自建idc 04 流量大户上云,顶住流量洪峰 机器器资源按需分配 接入层URL粒度流量调度 LB DNS app/browser Nginx-Proxy Nginx-Proxy0 码力 | 47 页 | 6.09 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊架构⼀一旦确定,很难改变 什什么是演进式架构? ⽀支持增量量式变更更作为第⼀一原则 什什么是演进式架构? • 演进是动态平衡 • 痛苦的事情提前做 • 运维意识是关键 演进式架构 拥抱变化 动态平衡 业务 技术 团队 架构的演进基于业务、技术和团队的平衡 - 动态的平衡 演进式架构 - 痛苦的事提前做 识别问题并⽤用⾃自动化的⼿手段消除痛苦 演进式架构 - 运维意识是关键 调⽤用链 路路由 授权认证 ⽇日志聚合 熔断 集中配置 基础设施 接⼊入层 业务层 - 聚合服务 - 基础服务 • ⾯面向对象设计(名词/动词) • 可重⽤用的逻辑 • 资源密集型部分 • 领域驱动设计 • 数据访问⽅方式 服务设计与拆分 44 Node.js Java 基础服务实现 聚合服务实现 Proxy Chained Shared Cache 同⼀一个结点运⾏行行多个服务(端⼝口不不同) 集中配置管理理 配置信息的管理理 50 • 与服务在同⼀一个包中 • 使⽤用隔离的配置⽂文件 • 使⽤用环境变量量管理理 配置信息管理理的挑战 51 • 动态更更新配置信息 • 多实例例间的同步 • 配置信息的版本管理理 容错(Resilient) 52 • 降级 - 关闭⾮非核⼼心业务,保证核⼼心业务可⽤用 • 限流 - 超过处理理能⼒力力,采⽤用适当策略略丢弃0 码力 | 62 页 | 6.65 MB | 1 年前3
Service Mesh在华为公
有云的实践• 与微服务部署在⼀一个Pod • 占⽤用资源很⾼高 Mesher • Service Mesh的⼀一种实现 • 基于⾃自研的Go语⾔言微服务框架(即将开源)开发 • 使⽤用CSE注册中⼼心与配置中⼼心 • 以Sidecar的⽅方式部署在微服务所运⾏行的环境中,也可以 PerHost模式运⾏行 • ⽀支持多种部署⽅方式 • 占⽤用资源⼩小(闲置10多M,并发运⾏行时30多M) Registry • 负责发现注册 • 插件化注册中⼼心客户端 Registry Service center File System Kubernet es Consul Eureka 动态治理 • 对接华为公有云微服务引擎的Service center 与 Config center 监控 • 处理链中提供分布式调⽤用追踪 • Admin API 提供了路由查询,健 康检查,Metric等信息 ServiceMesh? 为什么要开发Mesher • Istio的性能问题 • Istio强绑定Kubernetes平台(1.7.4+) • 从成本⾓角度讲Linkerd并不适合做SideCar部署,JVM资源占⽤用较多 • 在ServiceComb和CSE中的积累 • 最⼤大优势,侵⼊入式与⾮非侵⼊入式的⽆无缝结合,混编,统⼀一的产品体验。 开源 • Service Center https://github0 码力 | 52 页 | 4.37 MB | 1 年前3
Apache ServiceComb 开源微服务社区融合开源生态的一站式微服务解决方案 融合开源生态的一站式微服务解决方案 • 团队协作困难 • 问题定位困难 • 资源利用率低 • 对现有系统改动小 • 提升性能和硬件 利用率 • 提升定位问题效率 Apache ServiceComb 插件式处理链 SpringMVC 编程模型 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量 通信模型 REST 边缘服务 熔断/容错 安全认证 分布式事务 架构不统一,有使用SpringCloud、传统RPC、 Servlet等各种架构,维护成本非常高 大系统小做,缩短上线周期 • 快速、小批量交付价值需求 • 上线周期: 月 -> 周/天 动态自治降运维成本 • 弹性伸缩、故障自动迁 移、降级熔断,提升复 杂分布式系统运维效率 系统性能大幅提升 • QPS提升2倍+ • 时延降低45% • CPU使用率下降56% 全自动化微服务流水线0 码力 | 15 页 | 2.86 MB | 1 年前3
ServiceComb 的前世今生更细致的服务路由管控 ETCD 集群 服务中 心实例 服务中 心实例 服务中 心实例 • 统一的路由策略管控 • 缓存以提升性能 •支持pull/push两种模式监控实例变化 • 实例动态扩容,海量的长连接或者短连接 • 支持灰度发布、服务分组等高级管理特性 微服务 ServiceComb 开发框架 通信模型 (序列化、传输协 议) 编程模型 测 微 服 务 安 全 工具链生态 契约开发 工具 代码自动 生成 文档自动 生成 自动测试 工具 本地远程 调试 微服务 流水线 资源管理 容器编排 & 调 度 应用管理 弹性伸缩 灰度发布 监控运维APM Go语言 XXX语言 Java语言 服务契约 & OpenAPI SpringMVC JAX-RS0 码力 | 16 页 | 1.45 MB | 1 年前3
华为企业级PaaS 微服务应用servicecomb.apache.org github.com/apache?q=servicecomb 面向开发者的数据中心演进 数据中心服务器虚拟化: Google,亚马逊等公司 以资源为中心: • AWS EC2,S3,Route53 • OpenStack • CloudStack • 混合云 以应用为中心: • Heroku • GAE • CloudFoundry 架构不统一,有使用SpringCloud、Dubbo、Servlet等各 种架构,维护成本非常高 大系统小做缩短上线周期 • 快速、小批量交付价值需求 • 上线周期: 月 -> 周/天 动态自治降运维成本 • 弹性伸缩、故障自动迁移、 降级熔断,提升复杂分布 式系统运维效率 华为消费者云服务全微服务化的基础底座, 实现运营更敏捷 servicecomb.apache.org0 码力 | 17 页 | 3.42 MB | 1 年前3
ServiceComb java SDK详解businessBV2: path: "/c/d/.*" microserviceName: businessB versionRule: 2.0.0-3.0.0 这些路由配置,可以从配置中心动态下发,避免要发布新微服务时,需要重启Edge Edge Service-自定义路由 如果内置的路由规则无法满足业务需求,比如需要复杂的剪切修改url,或是修改码流 此时可以通过自定义路由进行 内置自动路由规则基于同样的机制实现: spectator-reg-servo,设置较小的order,保 证比下面2类MetricsInitializer先执行 – Meters Initializer: 实现TPS、时延、线程 池、jvm资源等等数据的统计 – Publisher: 输出统计结果,内置了日志输出, 以及通过RESTful接口输出 • Metrics-prometheus提供与prometheus对接的能力 spectator0 码力 | 21 页 | 1.15 MB | 1 年前3
ServiceComb雄关漫道• 限流降级 • 运维相关问题 • 动态配置管理 • 系统监控 • 路由管理 微服务的雄关漫道 • 服务框架 • Service Mesh ServiceComb开源微服务解决方案 ServiceComb微服务解决方案 Java编程 (POJO/Spring MVC/JAX-RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量 通信协议 Prometheus Dubbo ServiceMesh K8S 对接行业解决方案 ServiceComb项目介绍 • Java Chassis • 高性能的微服务框架,提供服务注册发现以及动态配置管理,以及限流降级,容错熔 断等服务治理功能 • Service Center • 基于Etcd高性能,高可用服务注册中心 • Saga • 微服务事务最终一致性问题解决方案 • 提供 新特性 • Java Chassis • 支持 CompletableFeature 异步调用接口 • 监控指标模块优化,支持与prometheus对接 • 支持通过携程的Apollo配置中心来动态配置实例 • Service Center • 优化Service Center性能,修复Bug • Saga 0.1.0 • 支持通过Annotation在应用代码事务 • Pack原型实0 码力 | 20 页 | 4.00 MB | 1 年前3
ServiceComb介绍限流降级 • 运维相关问题 • 动态配置管理理 • 系统监控 • 路路由管理理 微服务框架与解决⽅方案 • 服务框架 • Service Mesh ServiceComb开源微服务解决⽅方案 ServiceComb微服务解决⽅方案 Java编程(POJO/ SpringMVC/JAX- RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量量 通信协议 Prometheus Dubbo ServiceMesh K8S 对接⾏行行业解决⽅方案 ServiceComb项⽬目介绍 • Java Chassis • ⾼高性能的微服务框架,提供服务注册发现以及动态配置管理理,以及限流降级,容错熔 断等服务治理理功能 • Service Center • 基于Etcd⾼高性能,⾼高可⽤用服务注册中⼼心 • Saga • 微服务事务最终⼀一致性问题解决⽅方案0 码力 | 16 页 | 877.58 KB | 1 年前3
Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见com/apache?q=servicecomb servicecomb.apache.org ServiceComb 项目介绍 • Java Chassis 高性能的微服务框架,提供服务注册发现以及动态配置管理,以及限流降级, 容错熔断等服务治理功能 • Service Center 基于Etcd高性能,高可用服务注册中心 • Pack (Saga) 微服务事务最终一致性问题解决方案,提供一个集中式的事务协调器,协调微 ServiceComb开源微服务解决方案 ServiceComb微服务解决方案 Java编程 (POJO/Sprin gMVC/JAX- RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量 通信协议 (Rest&RP C) 边缘服务 熔断/容错 Token认证 Saga事务一致性 服务契约 平滑上云 拥抱开源生态 处理链 微服务脚手架 服务安全 x 支持 外部长期贡献者10 + , 邮件列表活跃度 每月180 封, 外部用户 20家 2018年12月 2019年4月 Pack 0.4.0 Alpha Cluster支持 Omega动态获取Alpha信息 完善TCC支持 Service Center Java Chassis 1.2.0 优化云原生环境支持 优化Metrics服务 提供服务Inspector 多版本Spring-Boot0 码力 | 18 页 | 3.12 MB | 1 年前3
共 26 条
- 1
- 2
- 3













