微服务和Service Mesh 在多个行业落地实践发 集 群 测 试 集 群 生 产 集 群 API网关 (流量接入层) 路由 路由 插件 分流 流量 镜像 维护 开关 API 监控 认证 鉴权 治理 文档 报表 微服务框架 (服务治理) 服务 目录 注册 发现 限流 熔断 降级 容错 路由 负载 均衡 参数 分流 拓扑 依赖 配置 中心 服务 监控 服务 告警 测试,生产镜像仓库分离,自 动同步 开发测试环境自动部署,生产 环境手动触发 持续集成 www.163yun.com 微服务框架 (服务治理) 服务 目录 注册 发现 限流 熔断 降级 容错 路由 负载 均衡 参数 分流 拓扑 依赖 配置 中心 服务 监控 服务 告警 认证 鉴权 统计 概览 知识 库 服务 告警 监控 大屏 账户 审计 注册,发现,调用都提供鉴权 API网关 (流量接入层) 路由 路由 插件 分流 流量 镜像 维护 开关 API 监控 认证 鉴权 治理 文档 报表 线上 系统B 预发 环境 新上 线服 务 99% 1% 灰度发布 A/B测试 流量镜像 测试预发 新上服务 定时开关 接口文档统一维护 文档与运行时一致 减少调用沟通成本 可自行定制:路由插件,可开发插件拦截请求,进行定制化0 码力 | 39 页 | 3.06 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践Tomcat Tomcat Oracle Oracle Nginx keepalived 数据库双机 网络分发层 业务处理 渠道适配器 交易预处理 交易预检查 交易风控 交易路由 通知 响应 查询 通道 交易拆分 业务2.0痛点 BUSINESS 2.0 PAIN POINTS 业务野蛮发展 交易量高速增加 并发请求增加 交易响应速度过慢 数据库单表 IT 核对查询 响应码 防刷 一致性问题 ... 资金风险 重路由 从1到N的业务成长 FROM 1 TO N BUSINESS GROWTH 01 11 12 15 16 05 62 60 63 61 09 04 02 03 06 34 初始 交易检查失败 路由失败 路由成功 已撤销 定时器触发批扣打包 UI触发批扣打包 正在发送 第三方 第三方 失败 成功 三方已受理 部分成功 (批量交易) 订单失败 (网关交易) 接入网关 交易检查 服务路由 批量任务 通道适配 响应处理 交易检查成功 定时器触发批付打包 UI触发批付打包 有限状态机 FINITE STATE MACHINE BEST PRACTICE BEST PRACTICE - HOW TO FIND THE PROBLEM EARLIER THAN0 码力 | 35 页 | 6.05 MB | 1 年前3
分布式 KV 存储系统 Cellar 演进之路• 16年初 基于开源版本研发新一代KV存储系统Cellar • Now Cellar日请求量达万亿级,美团点评最大NoSQL存储 Cellar起源 Cellar起源—Tair架构 路由表 Cellar起源—Tair架构 HASH Key 桶号 存储节点 固定HASH算 法 固定数目 数据分片 桶->存储节点 对照表 Cellar起源—Tair架构 服务层 请求 节点高可用和异地容灾 • 服务可用性提升 • Cellar规划 目录 Cellar—中心节点架构演进 • 性能问题 客户端集中获取路由表 • 隔离性问题 中心节点暴露给客户端 单独的路由表获取模块 Cellar—中心节点架构演进 • 可扩展性: 路由查询能力 可线性扩展 • 隔离性: 客户端与中心节点 完全隔离 Cellar—中心节点架构演进 一致性 • 主备脑裂 • observer与config Cellar规划 目录 影响可用性的问题 • 数据迁移 • 请求超时抖动 Cellar—服务可用性提升 Cellar—无损数据迁移 数据迁移的问题 • 迁移速度不可控,易影响业务请求 • 路由表更新瞬间请求失败 • key级别迁移写入,引擎压力大 节点状态指标 • 引擎压力 • 网卡 • 队列 • QPS • ··· Cellar—无损数据迁移 智能调速+全程代理 A节点 B节点0 码力 | 34 页 | 1.66 MB | 1 年前3
分布式异地多活架构实践之路出错或快过期异步解析 合法IP动态下发 IP请求结果统计 多级兜底容错 解析IP合法,IP请求 解析IP不合法,固定IP请求 GSLB HTTPDNS 精准流量调度-用户 智能DNS 路由服务 路由服务 路由服务 北京 IDC 合肥 IDC 广州 IDC 用户与用户数据 机房对应关系, 注册后首次生成 GSLB 漫游到其他机房统 计,满足一定条件 重新设置用户数据 机房 数据同步多元化 Processor DisFS CRSync MQ Processor CRSync Web Service Web GSLB 用户分片&就近接入 用户分片&就近接入 DisFS 用户路由 用户路由 会话验证 会话验证 专线/公网 漫游 汇聚模式 从机房 主机房 Service Flume CRSync CRSync Service GSLB 就近接入 就近接入 Flume0 码力 | 36 页 | 1.66 MB | 1 年前3
领域驱动设计&中台/如何让DDD落地适配器器 3.创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行 保存,保存成功后会让事件发布器器发布订单已创建事件 4.事件发布器器会根据事件类型把订单已创建事件转发给商品库存订阅者, 5.商品库存订阅者收到事件以后会根据事件中的商品ID和订单数量量创建锁定商品库存 命令,然后给锁定商品库存服务进⾏行行库存锁定 6.锁定商品库存服务收到命令后,会把根据命令中的商品ID从商品库存仓库中获取商 需要增加⼀一些业务逻辑时 3.创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行 保存,保存成功后会让事件发布器器发布订单已创建事件 4.事件发布器器会根据事件类型把订单已创建事件转发给商品库存订阅者,订单⽇日志订 阅者 5…. 6…. 7.订单⽇日志订阅者收到订单已创建事件后,会根据事件创建添加订单⽇日志命令,然后 调⽤用添加订单⽇日志服务来进⾏行行添加 8.添加订单⽇0 码力 | 32 页 | 3.25 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道联调成本高 变动把控困难 拆 应用拆分 数据拆分 团队拆分 分布式服务 API Gateway 分布式文件 分布式缓存 分布式消息 DB Cluster 连接 序列化 路由 负载均衡 … 问题示例 1. 我依赖一个远程服务,但在负责它的团队把它上线之前,我什 么也做不了 2. 我负责的功能依赖一堆的远程服务,为了本地调测,我必须从 头到尾梳理代码,再写一堆的mock语句把他们全mock掉了。 无需修改应用代码,单元测试代码中也无需添加任何的mock语句。 服务 调用 Invoker … Remote Call 负载均衡 策略 Runtime Mock数据文件 远程服务 Mock配置 开关/策略… 路由 策略 … Mock过滤器 启 动 加 载 服务 调用 脚本引擎 Mock数据规范 格式规范: 1.静态匹配 2.动态匹配 3.多版本支持(服务版本) 管理规范: 1.服务谁提供,就由谁负责相应Mock数据的 服务容器(Provider) 调用者 服务容器 提供者A 服务容器 服务注册中心 服务列表 …… 无需注册中心 不需要服务消费者注册,直接通过本地配置文件指定的IP地址来绕过“服务路由”及“负载均衡”机制。 服务提供者不能采用token验证模式 基于包名过滤服务 团队往往开发某类业务服务,这类服务一般都具有相同的包名,因此,可以通过配置包名和服务IP的映射关系, 让服务0 码力 | 19 页 | 2.74 MB | 1 年前3
美团点评旅游推荐系统的演进POST Rerank 分流 日志收集 Thrift 接口 核心 数据 层 城市热销 路由调用 后台管理 场景配 置 AB配置 Diff 数据维 护 Query CF 用户行为 Location- Based Item CF User CF 用户画像 离线 计算 层 用户基础数据 路由调用 Deal&POI数据 日志基础数据 用户偏好 协同过滤 城市热单 应用数据 基础数据0 码力 | 49 页 | 5.97 MB | 1 年前3
海量用户推送后台系统架构实践-曾振波异步RPC • ICE - 负载均衡,AMI,AMD,多线程 极光推送后台系统架构 02 并行化 • 横向扩展处理能力 • 数据分片存储 • 多节点+分片+多副本架构 • 数据读写动态路由 • 请求并行处理 • 模块级别并行 • 代码级别并行 极光推送后台系统架构 03 MQ Segment OnlineMsg OnlineMsg OnlineMsg Data0-00 码力 | 23 页 | 1.26 MB | 1 年前3
共 8 条
- 1













