微服务环境下的系统治理与容错
微服务环境下的系统治理与容错 王新栋 • 《架构修炼之道》作者,《决战618:探秘京东技术取胜之道》联合作者; • 对分布式、微服务系统有多年实战经验,所设计和研发的系统经历了多次百亿流量的验证; • 热爱分享,维护技术公众号 [程序架道],对高并发、高可用系统有持续不懈的追求; 个人微信号 技术公众号 • 微服务架构 • 容错 • 总结 • 治理 微服务架构 架构 架构 架构是为应用程序服务的 软件系统应用程序的需求 软件系统的价值维度 架构师是什么样的人 架构的终极目标 研发团队的持续斗争 研发团队必须从公司长远利益出发与其他部门抗争 -- Robert C. Martin 多种架构思想的本质 分层架构思维到六边形架构思维 业务领域代码 基础设施代码 再看六边形架构 治理 微服务到底需要多“微” 微 微服务的“微”暗示了服务的大 微服务的“微”暗示了服务的大小,但实际上微服务架构对构成的服务实例并没有大小方面的要求。 微服务的微 微服务的两个“谬论” n 服务之间是强隔离的。 n 微服务是大型系统的唯一选择。 解耦合 独立开发部署 架构、组织、流程 微服务架构定义“三步法” 微服务拆分方法 微服务拆分-指导原则 拆服务-单体重构的节奏 服务分解的四大障碍 1、网络延迟 2、同步通信降低了可用性 3、跨服务的数据一致性 4、上帝类0 码力 | 45 页 | 16.09 MB | 1 年前3微服务的设计原则与⽣态系统 - 王磊
微服务的设计原则 与⽣生态系统 王磊磊 华为公司技术专家 ThoughtWorks⾸首席咨询师 Sybase Tech Leader • 《微服务架构与实践》作者 • 《DevOps Handbook》中⽂文译者之⼀一 • 国内较早倡导和实践微服务的先⾏行行者 • 对于⾃自动化测试、持续交付、DevOps有丰富的实践经验 • ⻄西安DevOps Meetup 联合发起⼈人 联合发起⼈人 关于我 议题 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统 Are you using microservices? Are you using microservices? https://www.nginx.com/resources/library/app-dev-survey/ 什什么是微服务架构? • 微服务架构是⼀一种架构模式, 识别问题并⽤用⾃自动化的⼿手段消除痛苦 演进式架构 - 运维意识是关键 架构只是抽象,直到真正投⼊入运维产⽣生价值 议题 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统 It is about architecture, BUT not only architecture…… 微服务架构的设计原则 • 竞争能⼒力力平衡 • 围绕业务构建 • “去”中⼼心化0 码力 | 62 页 | 6.65 MB | 1 年前3使用微服务架构快速开发万级TPS高可用电商系统
http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 使用微服务架构快速开发万级TPS高可用电商系统 git clone https://github.com/alec-z/servicecomb-samples cd servicecomb-samples/houserush/script/docker 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 适合同学们学习 Demo也可以作为生产系统的一部分 [社区网站] http://servicecomb.apache.org [Github ] https://github 的拆分。 不同的业务,涉及的不同的服务间通信有不同的要求 1. 关注事务性要求(ACID) 2. 关注对性能的要求 举例:客户维护和订单是2个微服务,订单系统对性能有较高要求,所以可以考虑把购房资格信息从客户维护微服务同步到订单系统,改同步动作 对性能没有要求,对事务性有要求。 常见的服务间通信模式:同(异)步通信,API组合,基于MQ的异步通信 事务性: saga, 事务性消息发布(一次仅一次),分布式事务等0 码力 | 15 页 | 1.46 MB | 1 年前3康彬-基于微服务的混合云和同城双活实践
微服务体系下的混合云&同城双活 实践探索 康彬(robinkang) 乐信/架构总监 康彬(robinkang) 乐信/架构总监 14年研发及管理经验,从0到1组建了乐信架构团队, 主导并推动了乐信集团业务系统从单体应用架构向微服 务架构的演变、从 php 技术栈向 java 技术栈的无缝转 型,从私有云向混合云的进化,及新一代的同城双活技 术架构的研发与落地工作 信用成长成就品质生活 • 大促的痛及混合云实践 mq管理系统 job管理系统 中台服务层 核心交易平台 风控审核平台 计算资源 (CPU) 存储资源 (内存|磁盘) 网络资源 (ip|端口|带宽) 中间件层 微服务框架 服务元数据管理 服务发布 服务订阅 消息中间件 消息元数据管理 消息生产 消息消费 job调度系统 job元数据管理 job发布 job调度 配置中心 mq管理系统 调用链路 系统 监控告警 监控告警 系统 发布系统 服务注册 中心 服务治理 系统 api-gateway 获客 授信 下单 还款 大促的痛 机器准备周期长,紧急 情况无法应对 大促后机器闲置率高,资 源浪费巨大 混合云需求分析 机器资源按需 申请 01 接入层按url调 度流量 02 服务层set化的 路由策略 03 数据层读请求 上云,写请求 回自建idc 04 流量大户上云,顶住流量洪峰0 码力 | 47 页 | 6.09 MB | 1 年前32-4-禚娴静-微服务你玩得起吗
统⼀一的、集中式的服务管理机 制,对具体的⼀一个服务⽽而⾔言,应根据业务上下⽂文,选择合适的语⾔言、⼯工具对其进 ⾏行构建。 为什么要采⽤用微服务架构? - Rebecca Parsons 让系统尽可能快的响应变化! 初衷 • 服务足够小 • 独立运行 • 轻量级通信机制 • 独立的部署 • 去中心化 • 要多小? • 怎么部署? • 出错怎么办? 2016年新的征程 背景介绍 业务系统B 业务系统A 2012年新的需求 领域服务 业务系统B 业务系统A 模块A 模块B 模块C 重⽤用服务 模块A 模块B 模块C 新的业务系统A 模块D 重复? 领域服务 服务A 服务B 服务C 服务D 业务系统A Librarian 业务系统B 服务E 服务F 微服务架构初步形成 那时的微服务 系统集成消除重复 ful ⾃自动 化部署 特性 团队 它给我们带来了哪些好处? 新业务C三个⽉月上线 领域服务 服务A 服务B 服务C 服务D 服务E 服务F Librarian 业务系统B 业务系统C 服务G 服务H 业务系统A 你是我们⻅见过最棒的团队! 更多服务更快⼀一点? 服务越来越多,周期越来越短 60 * 6 services 8 * 4 services 1 环境⼿手⼯工维护,频频出错0 码力 | 51 页 | 8.18 MB | 1 年前3Apache ServiceComb 开源微服务社区
流行 生态 Apache ServiceComb 融合开源生态的一站式微服务解决方案 融合开源生态的一站式微服务解决方案 • 团队协作困难 • 问题定位困难 • 资源利用率低 • 对现有系统改动小 • 提升性能和硬件 利用率 • 提升定位问题效率 Apache ServiceComb 插件式处理链 SpringMVC 编程模型 限流 负载均衡 分布式追踪 动态配置 服务注册 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 多语言运行环境 服务中心异构通信 微服务鉴权 分布式系统配置中心 微服务契约工具 19 年Apache ServiceComb新品发布 面对用户痛点持续创新 财政业务应用 指导 规约 支撑 支撑 云平台 财政业务中台 统一纵向 层级交换 机制 统一信息 安全体系 软件开发服务 ServiceStage 大数据服务 系统集成服务 IaaS(计算、存储、网络、安全) 中间件服务 标准与规范 应用全微服务化,接口标准由财政厅统一管控, ISV只需聚焦微服务交付,降低依赖性 统一业务模型和数据集成标准,系统无缝对接, 财政数据统一呈现,业务全盘管控 基于先进研发理念,标准化研发环境和工具, 开发效率高,财政需求上线快0 码力 | 15 页 | 2.86 MB | 1 年前3可发布版-美团点评微服务OCTO-曹继光
美团点评微服务框架及治理系统:1?: 演进g路 曹继光 美团点评 资深技术a家 ��� �������������� W &0%(年加入美团,先后负责 服务框架及治理v系、性能 q化、S3?化等方向 W 经历h美团服务治理v系l0 到%,再到发展完善的各c阶 段 W 服务治理系统:1?:演进及架构设计 W 美团点评服务治理实践 W :1?:在SEPTIDE MEQh MEQh 和开源方向进展 美团点评服务治理系统:1?:概况 ����� ����� �����! ����(� ���)�� �(���� �)���� ����! ��������! �����/�! ! 在公司b务 侧获得较好 的口碑和影 响力 早期遇到的问题 ����! ����! ����! • �������������� ��������������� ����������������! 4! • ������� ������� ������� ��! :1?:系统架构 :1?:-NS W :1?:-NS:命名服务 W S4/GEnR:服务治理m理 W :1?:-=P1:轻量级服务框架 W SDBnnEP:服务状态监控系统 W :1?:-PMPRBJ:一站式治理平台 W ABRR V :1?:服务调用统计 核心设计解析(%):S4/GEnR0 码力 | 35 页 | 14.10 MB | 1 年前3ServiceComb在Service Mesh的 探索与思考
1. Service mesh在华为的演进之路 2. Mesher实践 3. Mesher如何帮助企业快速转型微服 务架构 Huawei Confidential 我们需要微服务系统,但构建微服务系统是困难的 正文是微软雅黑14—32号字80%的灰色 3 Huawei Confidential Service Mesh - 2017年由William Morgan提出 - 一 Router使用统一配置模型,支持插件对接不同生态 请求特征: • Service Name • Headers • Consumer metadata Resolve 决定要访问的服务名后即可开 始匹配路由规则,比如 • 系统中稳定运行着A服务, 版本是1.0,最近新上线了 1.1版本,你希望只让一部 分用户进行体验,那么你可 以定义Header带有device- os=android就将95%流量转 移版本为1.0的实例中,5% - 基于ServiceComb解决方案,Mesher,go chassis等组件,打造华为公有云微服务引擎 - 支持java,go语言编程框架和多语言接入 - 支持异构基础设施 - 对接多种监控系统 Data plane Mesher Service Java chassis Service Infrastructure CSE as control plane Config center0 码力 | 21 页 | 8.48 MB | 1 年前3华为企业级PaaS 微服务应用
从过去“数据中心网络拓扑几乎没变化”变为“应用发布,应对业务流量,随时随地的网络拓扑变化” • 平台功能解决了应用运行时之前的种种问题,但为了将应用的运行时统一治理,保障业务可靠运行,需要引入微服务框架 来解决分布式系统中的难题 9 github.com/apache?q=servicecomb servicecomb.apache.org ServiceComb实践 servicecomb.apache.org com/apache?q=servicecomb 助力文思海辉PHP语言系统实现 全微服务化架构 基于RFID技术的楼宇设施管理 遇到的问题 性能瓶颈稳定 性差 复杂度高不易 扩展 • 单体应用,功能耦合 • 新增功能影响现有业务,升级业务中断 • 业务增长对性能要求高,增加机器不能解决问 题 • 一个业务问题影响整个系统,风险高 基于微服务引擎Mesher功能将PHP应用接入微服务治理 种架构,维护成本非常高 大系统小做缩短上线周期 • 快速、小批量交付价值需求 • 上线周期: 月 -> 周/天 动态自治降运维成本 • 弹性伸缩、故障自动迁移、 降级熔断,提升复杂分布 式系统运维效率 华为消费者云服务全微服务化的基础底座, 实现运营更敏捷 servicecomb.apache.org github.com/apache?q=servicecomb S省财政厅,打通财政系统数据孤岛,0 码力 | 17 页 | 3.42 MB | 1 年前3微服务创新新品发布
同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 分布式系统配置中心 服务中心异构通信 多语言运行环境 微服务鉴权 微服务契约工具 Apache ServiceComb 面对用户痛点持续创新 3 github.com/apache?q=servicecomb 验收微服务 协同企业遗留系统微服务化快速改造,实现基于契约的数据、服务标准化管控 微服务契约工具 https://github.com/apache/servicecomb-toolkit ServiceComb toolkit 提供契约、代码、文档相互转换和校验的能力,帮助用户快速构建基于流行微服务框架和编程模型 的微服务工程,降低微服务学习成本,使能用户聚焦业务开发,提升遗留系统重构、开发效率。 ETCD gossip 协议 6 github.com/apache?q=servicecomb servicecomb.apache.org 实现云原生的分布式系统配置中心,使能运维人员通过易于理解的数据和入口,管理复杂的分布式系统配置。 https://github.com/apache/servicecomb-kie Timeout(service=serviceB, schema=user0 码力 | 12 页 | 2.96 MB | 1 年前3
共 39 条
- 1
- 2
- 3
- 4