ServiceComb 开源微服务框架技术演进之路 巨震ServiceComb 开源微服务框架技术演进之路 巨震 软件工程师,华为 • 服务形态演进 • 基于SDK的传统微服务框架 • 何为Service Mesh • 演进:从SDK到Service Mesh • 拥抱Service Mesh开源生态 • 相关资源 #微服务 #Service Mesh #Sidecar #云原生 #SDK #数据面,控制面 #数据面,控制面 大纲 服务形态的演进 SDK SDK SDK SDK proxy proxy proxy proxy • 单体应用 • 业务模块划分 • 程序模块间调用 • 独立应用模块 • 通信:协议、队列 • SDK引用 • 通信:http、 RPC… • 服务治理 • 透明代理 • 通信:通用协议 • 服务治理 • Cloud Cloud Native部署 ServiceComb 一个基于SDK的“传统”微服务框架 Service Center service Java chassis Config Center service Go chassis Registration & Discovery configuration SDK架构 编程模型 运行模型0 码力 | 20 页 | 861.58 KB | 1 年前3
微服务和Service Mesh 在多个行业落地实践微服务和Service Mesh 在多个行业落地实践 www.163yun.com 阶段一:单体架构群,多个开发组,统一运维组 www.163yun.com 阶段二:组织服务化,架构SOA化,基础设施云化 www.163yun.com 阶段三:组织DevOps化,架构微服务化,基础设施容器化 www.163yun.com Hailo Amazon Netflix cer/ Kaola 微服务成为互联网化架构的典型特征 www.163yun.com 微服务化设计要点 www.163yun.com 设计要点一:持续集成 www.163yun.com 设计要点二:接入层设计 www.163yun.com 设计要点三:无状态化 www.163yun.com 设计要点四:服务拆分与服务发现 www.163yun.com com 设计要点十:日志中心 www.163yun.com 设计要点十一:全链路监控 www.163yun.com 设计要点十二:全链路压测 www.163yun.com 微服务平台总览 容器平台 (多集群基础设施) Pod & Deployment 网络 Calico, OVS 存储 Ceph 滚动更新 弹性伸缩 日志中心 基础设施监控 开0 码力 | 39 页 | 3.06 MB | 1 年前3
领域驱动设计&中台/微服务的容器化实践0 码力 | 19 页 | 1.86 MB | 1 年前3
领域驱动设计&中台/DDD促进传统架构微服务转型0 码力 | 42 页 | 8.85 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造CONTENTS 01 引⾔言 02 可视化的认识遗留留系统 03 可视化的划分遗留留系统 04 可视化的拆解遗留留系统 引⾔言 遗留留系统、微服务架构 任何⼈人类的设计都会腐化 软件当然也不不例例外 拆成微服务 微服务架构的九⼤大特征 •通过服务进⾏行行组件化 •围绕业务能⼒力力组织 •做产品⽽而不不是做项⽬目 •智能端点与傻⽠瓜管道 •去中⼼心化地治理理技术 •去中⼼心化地管理理数据 可视化的划分遗留留系统 领域驱动设计、事件⻛风暴暴⼯工作坊、服务画布 好的设计 低耦合 如果做到了了服务之间的松耦 合,那么修改⼀一个服务就不不 需要修改另⼀一个服务。⼀一个 松耦合的服务应该尽可能少 地知道与之协作的那些服务 的信息。 ⾼高内聚 就是把相关的⾏行行为聚 集在⼀一起,把不不相关 的⾏行行为放在别处。如 果你要修改某个服务 的⾏行行为,最好只在⼀一 处修改。 领域驱动设计 都是在明确边界 微服务设计原则 1. 对⻬齐限界上下⽂文 2. 业务变更更频率与相关度 3. 系统⾮非功能性需求 4. 组织结构和康威定律律 5. 团队规模 6. 技术异构和现有系统复杂度 服务画布 已可视化 阿 ⼠士⼤大 1. 买家 2. 商户 1. 买家创建订单 2. 商户履履⾏行行订单 订单 商品 1. 订单 2. 商品 3. *** 明确服务的范围 明确核⼼心模型0 码力 | 54 页 | 3.85 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔交易易中台 ⽀支付时限任务 出票处理理 队列列故障 已⽀支付订单被取消 ⽀支付超时 订单取消 缺乏降级设计 稳定性之路路到底有多远 如何设计⾯面向容错的系统,如何提升系统的可⽤用性 强弱依赖 • 弱依赖 - 熔断限流,有损服务 • 强依赖 - 备选服务,降级实现 什什么是强弱依赖,如何确定强弱依赖 • ⽤用户是否强烈烈感知 • 核⼼心业务是否有损 service ⽤用户请求 serviceB serviceA serviceC serviceC- degrade 弱依赖 强依赖 强依赖 备选服务 熔断、限流 降级 业界解决⽅方案 - HYSTRIX Netflix开源的一款容错框架,支持多种降级熔断技术 资源隔离 断路路器器 降级操作 请求合并 请求缓存 实践过程中遇到的问题 • 业务改造成本⾼高,代码耦合,维护成本增⾼高 缺乏UI、没有灵活的参数、策略略配置,没有预案制定管理理能⼒力力 业务保障平台建设之路路 业务保障平台建设之路路 服务管理理 策略略管理理 预案制定 线上演练 • 降级服务统⼀一注册管理理,通过降 级服务质量量数据从整体反映各应 ⽤用的降级点和可⽤用性保障措施 • 降级策略略集中管理理,通过参数 化、配置化、脚本化⽅方式实现线 上策略略的灵活调整 • 依据服务重要程度,从全局制定 分级预案,对降级点进⾏行行预案编0 码力 | 26 页 | 18.67 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+没有一种� 架构能� 包打天下 DB Server PC WEB 容错性、稳定性差 技术债迅速积累 代码安全带来挑战 初始,� 效率优先 成长,移动后台旁路追赶 DB主 Server PC WEB AND/IOS/H5/Open 静态站 网贷服务 借款流程 Cache集群 安全加密 网贷服务 CDN 支付结算 订单 DB从 批 处 理 系 统 活动 DB主 .. 网站、基础服务 移动后台 业务和团队规模迅速扩张 粗粒度服务化,基础设施完善 CDN/页面缓存/静态站/缓存集群 移动后台旁路 流程double,冗余开始出现 移动后台单体 继续成长,瓶颈明显 后台日益庞大,业务冗余严重 N多业务排队上线,瓶颈明显 热点场景频发,影响单体稳定 2pizza团队,系统单体制约 商城 核心服务 业务 网贷 并发 幂等 交易 缓存 基础服务 消息 监控 配置 报警 MIS OpenAPI 微信 财富圈 移动后台 商城MIS WAP … … Android/ios/h5/php/openApi 积分系统 基础服务 优惠券 宜人币 基金服务 保险服务 网贷服务 支付中心 用户中心 电子签章 人脸识别 营销平台 埋点 基础服务 会员系统 资金存管 账户中心0 码力 | 42 页 | 19.96 MB | 1 年前3
领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践load ⾼高 • 资源利利⽤用率 应⽤用本身的解决⽅方案? 并⾏行行度有限 • ⽆无法纯业务依赖并发 • 微服务化让问题更更凸 显 • RT 累积 RT 与 ⽤用户增⻓长 RT 累积带来成本 • 过早引⼊入 cache • 每个服务都在设置超 时 维护成本、业务实现复 杂化 天⽣生异步的架构 流 Stream / Flow / Flux 什什么是流 出现早(7年年前)、已发布 V2 * 在 Android ⼴广泛使⽤用,有⽤用户基础 * 全栈:客户端 + 服务端 + 前端 * 活跃度:RxJava Github Java 排名 No. 2 出现较晚(3年年) Spring 加持,有发展前景 Scala,⽤用户基础 少、普及难度⼤大 稳定性 ? ? ? 普及性 ? ? ? 切换成本 业务框架不不会锁定 :有 Reactive Streams Streams 规范 / 不不同业务框架可互通 后期业务框架切换成本不不⾼高 : 不不同业务框架之间互相模仿 / 使⽤用和概念上差别不不 ⼤大 中间件升级 1. 服务框架(RPC) 流式⽀支持会在 开源的 Dubbo3 放出 2. (移动)⽹网关(Geatway) * 先使⽤用适配 接⼝口不不变、分段实施、不不返回 Flowable * 更更⾃自然的流式0 码力 | 27 页 | 1.13 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道大规模分布式系统架构下调测能力构建之道 李鑫 大纲 分布式环境下开发的调测效率问题 应对之道 远程应用服务 契约测试 分布式消息服务 分布式缓存 分布式服务的“租户”隔离策略 总体调测框架实践 分布式环境下调测方法论 单体应用 服务化 微服务 小中型规模应用+小型团队 中大型规模应用+多团队协同 Cache DB NFS Load Balancer (超)大型规模应用+契约协同 应用的发展演变历史 服务化后的问题 多团队协同的分布式环境下,不仅环境“重”,而且外部的服务是别的团队开发 的,你很难得到一个稳定、快速的外部服务提供环境,在此背景下进行功能/接口 调测存在如下困难: 开发依赖重 联调成本高 变动把控困难 拆 应用拆分 数据拆分 团队拆分 分布式服务 API Gateway 分布式文件 分布式缓存 分布式消息 我依赖一个远程服务,但在负责它的团队把它上线之前,我什 么也做不了 2. 我负责的功能依赖一堆的远程服务,为了本地调测,我必须从 头到尾梳理代码,再写一堆的mock语句把他们全mock掉了。 每当业务逻辑变化了,代码中要增减相应的mock语句;每当依 赖服务上线后,要把测试用例中对应的mock语句去掉。对测试 用例的修改工作贯穿于整个开发工作之中。 3. 我和某同事通过服务框架进行调用联调,结果另一同事也把同0 码力 | 19 页 | 2.74 MB | 1 年前3
《58到家技术架构快速规划与落地》 - 沈剑实践 总结 1. 服务化 2. 监控平台 3. 调用链跟踪 4. 服务治理 58集团技术专场 一、初创公司技术架构体系建设 常见问题 58集团技术专场 初创公司技术体系常见问题 体系割裂 系统耦合 DB耦合 出问题不知道 查问题麻烦 定位问题周期长 一团麻 没人 58集团技术专场 二、 技术体系快速规划与 落地实践 58集团技术专场 1. 服务化-服务化之前高可用架构 � 服务化前系统架构 (1)端 (2)反向代理 (3)应用 (4)数据 58集团技术专场 1. 服务化-问题:代码拷贝 58集团技术专场 1. 服务化-问题:复杂性扩散 58集团技术专场 1. 服务化-问题:库耦合 58集团技术专场 1. 服务化-问题:DB耦合 58集团技术专场 1. 服务化-问题:SQL质量无保障 58集团技术专场 1. 服务化-解决方案:服务化 58集团技术专场 1. 服务化-58到家最佳实践 � 统一服务框架(D-SF) � 统一数据访问层(D-Dao) � 配置中心(D-Confcenter) � 消息总线(D-MQ) � 统一监控(D-Monitor) � 调用链跟踪(D-Tracker) � 服务治理(D-Watcher) 58集团技术专场 2. 监控平台 案例 问题 � 群内反馈 � 客服投诉 � 用户先感知0 码力 | 42 页 | 1.52 MB | 1 年前3
共 32 条
- 1
- 2
- 3
- 4













