微服务环境下的系统治理与容错微服务环境下的系统治理与容错 王新栋 • 《架构修炼之道》作者,《决战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 年前3
NTTDATA 汽车行业数字营销平台微服务化实践q=servicecomb servicecomb.apache.org 汽车数字营销平台微服务化转型 打造集中化、标准化、智能化、便利化的汽车品牌数字营销平台 支持数字营销快速、多样、变化的业务场景,避免系统分散重复,将技术投资回报最大化。 以智能化,可持续发展思路,打造车企C2B2C用户体验优化闭环。 可配置适应业务生长,帮助企业更快速、灵活地应对不断变化的市场需求,随时调整业务模式快速配置,以最低成本适应弹性的数据需求。 • 移动端优先、用户体验优先 • 易使用、培训便利化 • 管理多级可视化 • 系统易维护、易扩展开发 便利化 数字营销平台 6 github.com/apache?q=servicecomb servicecomb.apache.org 功能架构 线上渠道 主机厂/经销商入口 业务 中台 (核心) 其他系统 DMS 第三方 电商 会员体系 安全体系 协同平台 价值体系 流程体系 第三方渠道 展会 数字 展厅 PC门户 企业微信 官网 短信 小程序 公众号 标准体系 标签体系 数据 中台 …… 存储服务 安全服务 接口网关服务 日志服务 网络服务 …… 短信服务 技术 中台 ……. 消费者互动数据 消费者账号 消费者基础信息 消费者交易数据 消费者服务数据 ….. 人 人车关系数据 车况数据 车辆维修保养数 据 ….. 库存物流数据0 码力 | 11 页 | 2.25 MB | 1 年前3
Service Mesh的思考及在华为云的实践Goal • 侵入式与非侵入式可结合使用 • 不绑定基础设施 • 服务可视化 • 高性能,轻量 • 尽最大可能插件化各功能模块 • 透明的产品体验:整合容器平台,微服务引擎,API 网关,指标监控,日志审计等云上服务,封装为微服 务平台,让用户感知不到背后的复杂 Website: http://servicecomb.incubator.apache.org/ Gitter: https://gitter Request 请求特征: • Service Name • Headers • Consumer metadata Resolve 决定要访问的服务名后即可开 始匹配路由规则,比如 • 系统中稳定运行着A服务, 版本是1.0,最近新上线了 1.1版本,你希望只让一部分 用户进行体验,那么你可以 定义Header带有device- os=android就将95%流量转 移版本为1.0的实例中,5% 部署容器应用时只需勾选以启用Mesher 6/30/2018 背后发生了什么? • 为应用容器设置环境变量http_proxy • 为mesher设置CSE地址(注册中心, 配置中心) • 为mesher对接APM 日志收集 • 为mesher对接APM metrics收集 • 为mesher 对接APM 调用链追踪 • 告知mesher业务服务的版本以及监控 端口 性能损耗 使用前 使用后 TPS 260000 码力 | 29 页 | 1.55 MB | 1 年前3
张波-虎牙直播在微服务改造中的实践如果出现配置下发不及时,或下发配置失败,极大可能出现故障,同时负载均衡服 务弹性能力的要求较高,在业务高峰如果不能快速扩容,容易出现全网故障 传统配置下发方式 负载均衡配置固话在配置文件中, 节点操作需要人工上系统操作增减 节点 配置中心监听方式 客户端主动监听配置更新,配置秒 级生效,新扩容服务主动拉取全量 配置,流量接入时长缩短3分钟+ 配置名字服务 配置IP方式 服务端下发文件更新配置,更新配 置生效时间长,由于需要预先知道 虎牙负载均衡部署的机器一台机器上可能存在数百的配置,每次节点生效需要重新 reload配置,且节点新增或删除需人工上系统操作配置,配置生效对服务会有中断 配置IP方式 配置名字服务 客户端主动监听名字服务更新,节 点变更秒级生效 负载均衡配置固话在配置文件中, 节点操作需要人工上系统操作增减 节点 基于Nginx dyups模块的动态上下线 • 基于名字服务感知节点变化快速变更节点 • 基于nginx 接入TARS注册服务 • 对接K8S注册服务 • 解决多数据中心环形同步 DNS-F • DNS-F 增加对外部域名的预缓存支持; • Agent监控数据对接公司内部监控; • 日志输出对接公司内部日志服务; • 对接公司CMDB; • DNS-F Cluster; • DNS 忽略大小写 Nacos CMDB • 扩展对接虎牙CMDB • 对接内部负载均衡策略 虎牙直播与阿里共建Nacos生态0 码力 | 27 页 | 1.03 MB | 1 年前3
消费者云CSE微服务实践微服务框架技术选型-业务服务化目标 系统解耦,功能内聚,提升需求交付效率:通过业务的拆分和解耦,让系统敏 捷起来,快速、小批量的交付价值需求,提升业务的交付效率 践行API First:通过服务化,让服务提供者和消费者乊间通过微服务API建立契约,利 用Swagger OpenAPI规范,最终将微服务API规范化、标准化、在线化。系统从传统单体 应用的黑盒调用(本地Java方法调用)转变成透明的API契约调用 有些业务场景对微服务调用安全要求较高,需要微服务框架支持 SSL传输、API鉴权和认证等 对于一些敏感信息,例如用户账号、金额等,在记录日志等落盘 和采集时需要做脱敏处理、资源占用要合理 敏感运维操作,需要记录安全日志,例如服务上线和下线、服务 的流控阈值修改等 微服务框架技术选型-服务治理能力 服务框架丌能只单单解决分布式RPC调用、服务注册&发现和路0 码力 | 22 页 | 1.39 MB | 1 年前3
ServiceComb java SDK详解AsyncResponse callback HttpServerFilters. beforeSendResponse Future complete Edge Service • 作为整个微服务系统对外的接口,向最终用户提供服务,接入RESTful请求,转发给内 部微服务 • 基于ServiceComb标准consumer流程转发请求到内部微服务,所有consumer治理能力, 不必独立开发,直接重用 证比下面2类MetricsInitializer先执行 – Meters Initializer: 实现TPS、时延、线程 池、jvm资源等等数据的统计 – Publisher: 输出统计结果,内置了日志输出, 以及通过RESTful接口输出 • Metrics-prometheus提供与prometheus对接的能力 spectator spectator -reg- servo foundation-metrics ServiceComb Core spectator -ext-gc spectator -ext-jvm Metrics-log RESTful/prometheus输出内容为原始数据 日志输出内容是根据原始数据分析计算后的结果 • eventLoopContext-created 如果持续增加,说明有计划外的线程切换,需要定位 • threadPool 以线程池为单位进行统计,输出最小线程数、最大线程数、0 码力 | 21 页 | 1.15 MB | 1 年前3
2-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 年前3
共 39 条
- 1
- 2
- 3
- 4













