大规模分布式系统架构下调测能力构建之道服务调用进行挡截。 “开关机制”控制mock能力启停 mock能力启用时,服务容器初始化期间将加载mock数据文件到内存中,每个服务请求将和mock数据的入参定 义进行比对,满足(静态匹配 或动态匹配)规范的请求,直接用mock数据的出参定义作为服务调用的结果。 应用无感知 无需修改应用代码,单元测试代码中也无需添加任何的mock语句。 服务 调用 Invoker … Remote 加 载 服务 调用 脚本引擎 Mock数据规范 格式规范: 1.静态匹配 2.动态匹配 3.多版本支持(服务版本) 管理规范: 1.服务谁提供,就由谁负责相应Mock数据的 制作。 2.mock数据可被使用者二次修改或替换。 3.mock数据独立工程管理。 静态匹配(json) 动态匹配(脚本) 在线抓取Mock数据 手工编写应用服务的mock数据往往工作量巨大 服务容器 服务注册中心 服务列表 …… 无需注册中心 不需要服务消费者注册,直接通过本地配置文件指定的IP地址来绕过“服务路由”及“负载均衡”机制。 服务提供者不能采用token验证模式 基于包名过滤服务 团队往往开发某类业务服务,这类服务一般都具有相同的包名,因此,可以通过配置包名和服务IP的映射关系, 让服务框架自动将一批服务和特定的IP关联到一起。 直连调测机制 提供者B0 码力 | 19 页 | 2.74 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造模型来访问?当前领域模型就是与该可独 ⽴立访问的领域模型为同⼀一个聚合 2. 将命令贴在聚合的左⾯面,是聚合的输 ⼊入;事件贴到聚合的右⾯面,是聚合的输 出。 3. 再根据聚合的原则(下⼀一⻚页描述)来 检验上⾯面的划分结果是否匹配,如不不匹 配则基于划分原则并结合业务重新调整 聚合。 使⽤用聚合的⽬目的是封装业务的不不 变性,同时强迫⼤大家尽可能的简 化领域模型之间的关联关系。在 业务层⾯面进⾏行行⾼高内聚,低耦合的 设计。 可视化的拆解遗留留系统 微服务架构、绞杀模式、代码依赖分析、数据库依赖分析、 遗留留系统拆解评分表、降⻰龙⼋八步 庖丁解⽜牛拆解的最⾼高境界 了了解⽜牛的⽣生理理构造 避开筋腱⻣骨节交错的组织 从⻣骨节的缝隙下⼿手 ⼗十九年年⼑刀依然锋利利 再看⼀一眼微服务架构 我们要做应⽤用代码拆分 我们要做数据库拆分 绞杀者模式 ‣“绞杀者模式”在既有系统资产的基础上实现数字IT创新,⾯面对创新的数字IT业务更更加灵活。 统的松耦合,仅在必要时将功能从原系统中剥离,以此逐步地 替换原有系统。 修缮者模式 ‣“修缮者模式”在既有系统资产的基础上,通过剥离新业务和功能,逐步“释放”现有系统耦合度,解决遗留留系 统质量量不不稳定和Bug多的问题。实现传统IT性能提升,⾯面对传统的IT业务更更加稳定灵活,降低维护成本。 ‣修缮模式适⽤用于需求变更更频率不不⾼高的存量量系统 ©2018 ThoughtWorks0 码力 | 54 页 | 3.85 MB | 1 年前3
美团点评旅游推荐系统的演进•性别、年龄、职业 •人群属性 •有车:汽车保养 •宅男:外卖 •情侣:电影 •亲子:儿童乐园 •旅游达人:酒店旅游交通 •推荐 •基于用户标签计算POI标签 •精确匹配:给亲子类用户推荐亲子类POI •模糊匹配:基于标签计算用户和POI相似度 古北水镇 白领 User 情侣 有车 九华山庄 南山滑雪场 标签在用户维度的分布 标签在POI维度的分布 用户标签偏好*标签权重*POI标签偏好*POI销量0 码力 | 49 页 | 5.97 MB | 1 年前3
分布式异地多活架构实践之路皮肤、表情、资源、广告、应用墙译等 读多写少 主从模式 (单点写,多点读) 用户个性化数据同步、账号等 读写均衡 多主模式 (多点读写) 分布式日志收集等 写多读少 汇聚模式 (多点写,单点读) 内容统计指标获取、内容榜单等 读写均衡 混合模式 (多点写,单点读, 单点写,多点读) 非核心业务 老版本兼容服务、运营活动、配置、管 理平台、官网、论坛等 N/A 本地模式 (单点读写) 设计思路 不跨机房 弱依赖 少依赖 主从模式 主从模式 主机房 从机房 MQ Service Cache Processor DB CRSync 管理平台 MQ Cache Processor CRSync Web Service Web Task Service GSLB 就近接入 就近接入 专线/公网 多主模式同步 多主模式同步 主机房 主机房 MQ Service Processor CRSync Web Service Web GSLB 用户分片&就近接入 用户分片&就近接入 DisFS 用户路由 用户路由 会话验证 会话验证 专线/公网 漫游 汇聚模式 从机房 主机房 Service Flume CRSync CRSync Service GSLB 就近接入 就近接入 Flume Flume Consumer Hadoop ES0 码力 | 36 页 | 1.66 MB | 1 年前3
唯品会调度系统的前世今生数据一种模式 当当开源的分布式任务调度系统 代码较新,使用Quartz进行调度。提供 高可用和分布式功能 功能单一,只支持Java,不支持 Shell(PHP)和消息驱动的作业调度 对任务超时、任务执行情况、监控逻辑 支持粒度功能较单一或缺乏 没有容器化选型? 调度产品的定位 简易开发、简单维护 高可用、分片并发处理、资源调度动态平衡 支持Java、Shell以及本地模式(VIP还支持消息模式) 还支持消息模式) 统一配置、统一监控、统一管理 VIP弹性调度系统 -- Saturn 开源地址: Github.com/vipshop/Saturn 体系中的定位 服务化框OSP 开发框架Venus 唯品会基础架构体系 消息队列 VMS 全链路监控 Mercury 统一日志平台 dragonfly 任务调度平台 Saturn 统一配置中心 CfgCenter 统一鉴权中心 执行结点 作业实现 功能地图 01 02 03 多种作业类型与 作业模式 资源动态平衡 框架与业务隔离 三大功能特性 Shell作业 消息作业* JAVA作业 分布式与本 地作业模式 • 完美兼容现有PHP的作业,可无缝迁移,成本最低 • 提供多种业务开发模式,满足不同的业务需求 • 多种业务运行模式,即可分布式管理也可本地管理 • 通过异步消息实现业务编排* 多种作业类型0 码力 | 58 页 | 5.40 MB | 1 年前3
苏宁易购小程序架构实践 苏宁 禹立彬面向活动玩法类 • 小游戏 • 微信官方提供 • 降级到Webview 百度小程序转换器 • 基于百度官方的wx2swan • 将同等逻辑的微信小程序页面转换为百度 • 无法精确匹配每一个组件 • 少量修改,减少工作量 易购系APP转换器 • 将小程序代码转换为基于ReactNative框架的易购版小程序 • 降低易购APP大小 • 减少开发成本 • 使0 码力 | 36 页 | 833.39 KB | 1 年前3
微服务和Service Mesh 在多个行业落地实践参数 分流 拓扑 依赖 配置 中心 服务 监控 服务 告警 认证 鉴权 统计 概览 知识 库 服务 告警 监控 大屏 账户 审计 可配置多条规则,按优先级匹配 可配置消费端黑白名单:只有A服务能访问B服务,只有IP1能访问B服务,更加安全 可配置服务端黑白名单:A服务版本1访问B服务版本1,A服务版本2访问B服务版本2,更灵活 路由 微服务框架负责服务之间的调用——路由0 码力 | 39 页 | 3.06 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊Doordash 美团外卖 饿了么 点我达 闪送 UU跑腿 海内外掀起一波创业浪潮 美团配送系统:机器与海量骑手协作,服务于全国商家与用户 履约能力 实现平台对运单调度的实时把控,对运单与运力的供需匹配 运营效率 加强对配送骑手的管控能力 提升配送全业务的运营效率,降低成本 履约流程:下单 -> 派单 -> 接单 -> 取货 -> 送达… 业务团队:招聘、采购、物料、培训、薪酬、保险..0 码力 | 31 页 | 15.26 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+系统异常 基础策略 监控统计 业务节点 业务数据 业务数据统计 监控 数据流 系统统计 经典流式计算架构,流水线策略,线性扩展 高性能监控核心,灵活的监控策略 关键词模式、上下文模式、时间窗口模式等 轻量、高效、稳定,0侵入 日志监控平台 微信 微信/邮件/短信 高可靠,高响应 高性能 灵活配置 谈点感想 感想 01 微服务≠spring cloud≠容器化≠RPC0 码力 | 42 页 | 19.96 MB | 1 年前3
声明式自愈系统——高可用分布式系统的设计之道-王昕•选择基础状态持久化框架 •参考系统:Kubernetes 高可用 系统设计 •设计并验证高可用分布式系统 •参考工具:TLA+ Toolkit 系统实现 •实现高可用系统的控制模块 •参考模式:Kubernetes Operator 系统测试 •测试分布式高可用系统的自愈能力 •参考工具:Jepsen 目录 Ø 分布式系统面临的高可用问题 Ø 设计和验证高可用分布式系统的工具与方法 做高可用 Ø 监控负载不均的情况 Ø 避免Self DoS 最佳实践分享 有关微服务架构的典型模式 Ø 限流 Throttling Ø 超时 Timeouts Ø 熔断器 Circuit Breaker Ø 壁舱 Bulkheads Ø 快速失败 Fail Fast Ø 背压模式 Backpressure 最佳实践分享 有关遵循快速回复的原则 Ø 快速报错 Fail Fast0 码力 | 44 页 | 2.47 MB | 1 年前3
共 14 条
- 1
- 2













