 大规模分布式系统架构下调测能力构建之道分布式服务框架mock能力构建 应用 服务容器(Consumer) Filter Chain 将mock能力内置到分布式服务框架中 开发mock能力过滤器,在服务调用链路上对服务调用进行挡截。 “开关机制”控制mock能力启停 mock能力启用时,服务容器初始化期间将加载mock数据文件到内存中,每个服务请求将和mock数据的入参定 义进行比对,满足(静态匹配 或动态匹配)规范的请求,直接用mock数据的出参定义作为服务调用的结果。 不需要服务消费者注册,直接通过本地配置文件指定的IP地址来绕过“服务路由”及“负载均衡”机制。 服务提供者不能采用token验证模式 基于包名过滤服务 团队往往开发某类业务服务,这类服务一般都具有相同的包名,因此,可以通过配置包名和服务IP的映射关系, 让服务框架自动将一批服务和特定的IP关联到一起。 直连调测机制 提供者B 服务容器 提供者B 服务容器 本地配置文件 com.company : 一部分依赖服务从本机的Runtime环境即可获取, 一部分需要从协同团队的远程开发机上临时获取(联调模式), 一部分服务可能还未完成开发并发布,需要通过mock机制进行模拟。 我们需要综合利用前面所介绍的各种调测机制来保障日常开发中对应用服务的正常调测: 服务调用 本地服 务? 调用本地服务 是 是否直 连? 否 RPC远程直连 调用 是 是否有 mock 数据? 否0 码力 | 19 页 | 2.74 MB | 1 年前3 大规模分布式系统架构下调测能力构建之道分布式服务框架mock能力构建 应用 服务容器(Consumer) Filter Chain 将mock能力内置到分布式服务框架中 开发mock能力过滤器,在服务调用链路上对服务调用进行挡截。 “开关机制”控制mock能力启停 mock能力启用时,服务容器初始化期间将加载mock数据文件到内存中,每个服务请求将和mock数据的入参定 义进行比对,满足(静态匹配 或动态匹配)规范的请求,直接用mock数据的出参定义作为服务调用的结果。 不需要服务消费者注册,直接通过本地配置文件指定的IP地址来绕过“服务路由”及“负载均衡”机制。 服务提供者不能采用token验证模式 基于包名过滤服务 团队往往开发某类业务服务,这类服务一般都具有相同的包名,因此,可以通过配置包名和服务IP的映射关系, 让服务框架自动将一批服务和特定的IP关联到一起。 直连调测机制 提供者B 服务容器 提供者B 服务容器 本地配置文件 com.company : 一部分依赖服务从本机的Runtime环境即可获取, 一部分需要从协同团队的远程开发机上临时获取(联调模式), 一部分服务可能还未完成开发并发布,需要通过mock机制进行模拟。 我们需要综合利用前面所介绍的各种调测机制来保障日常开发中对应用服务的正常调测: 服务调用 本地服 务? 调用本地服务 是 是否直 连? 否 RPC远程直连 调用 是 是否有 mock 数据? 否0 码力 | 19 页 | 2.74 MB | 1 年前3
 全球架构师峰会深圳2015/研发体系构建_龚银_中型创业公司的技术管理之痛聚焦,聚焦,集中火力开火 业务优先,区分核心业务,重要性四象限 业务先行,基础建设适当的平衡和取舍,一步一步来 重视规划和系统思维的作用,根据现状随时调整轻重缓急 充分的沟通机制和反馈机制,让大家都能有一致的理解 聚焦与系统思维 技术和管理比重随时调整和平衡 技术、业务和管理的平衡 技术管理者大多对技术热衷,对管理忽视 技术、业务、系统花费精力和时间太多,团队管理精力太少 观念和思维的碰撞,不同文化不同背景快速聚集带来的必然摩擦 不就是这里改一下么,不就是流程调整一下么? 沟通、沟通、沟通、无他 不同的对象,沟通方式不一样,灵活处理,使用不同的技巧 沟通只是第一步,形成固定机制,落实并执行才最重要 Motivation 正确的激励导向,使团队快乐 需要的素质和「心得」 需要的素质 指得了路 扛得了枪 吃得了苦 卖得了萌0 码力 | 36 页 | 2.49 MB | 1 年前3 全球架构师峰会深圳2015/研发体系构建_龚银_中型创业公司的技术管理之痛聚焦,聚焦,集中火力开火 业务优先,区分核心业务,重要性四象限 业务先行,基础建设适当的平衡和取舍,一步一步来 重视规划和系统思维的作用,根据现状随时调整轻重缓急 充分的沟通机制和反馈机制,让大家都能有一致的理解 聚焦与系统思维 技术和管理比重随时调整和平衡 技术、业务和管理的平衡 技术管理者大多对技术热衷,对管理忽视 技术、业务、系统花费精力和时间太多,团队管理精力太少 观念和思维的碰撞,不同文化不同背景快速聚集带来的必然摩擦 不就是这里改一下么,不就是流程调整一下么? 沟通、沟通、沟通、无他 不同的对象,沟通方式不一样,灵活处理,使用不同的技巧 沟通只是第一步,形成固定机制,落实并执行才最重要 Motivation 正确的激励导向,使团队快乐 需要的素质和「心得」 需要的素质 指得了路 扛得了枪 吃得了苦 卖得了萌0 码力 | 36 页 | 2.49 MB | 1 年前3
 领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进外部接口深入到上游的业务逻辑 限界上下文解耦-发布订阅机制 钢筋模型 上下文 建模模型 上下文 调度中心 平法模型 上下文 发布 解决: 上游模型变化,下游模型联动 发布-订阅机制 架构演进 1 2 3 领域拆分 架构分层 构建领域模型 架构分层 持久化层 领域层 CAD图纸管理 建模UI 通用UI组件 几何算法 通用框架机制 通用算法 CAD/BIM UI0 码力 | 33 页 | 1.25 MB | 1 年前3 领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进外部接口深入到上游的业务逻辑 限界上下文解耦-发布订阅机制 钢筋模型 上下文 建模模型 上下文 调度中心 平法模型 上下文 发布 解决: 上游模型变化,下游模型联动 发布-订阅机制 架构演进 1 2 3 领域拆分 架构分层 构建领域模型 架构分层 持久化层 领域层 CAD图纸管理 建模UI 通用UI组件 几何算法 通用框架机制 通用算法 CAD/BIM UI0 码力 | 33 页 | 1.25 MB | 1 年前3
 微服务和Service Mesh 在多个行业落地实践配置灵活:可配置检测粒度为每M毫秒N个请求P%的错误率 指标多样:RT值,错误率,线程池参数 熔断 粒度更细:可指定调用者和被调用者服务版本,支持failover、failfast、failback容 错机制。 配置灵活:支持自定义超时时间和重试次数。 可自行定制:通过暴露自定义异常NSFExcetion解决任意业务方法的容错,支持超时、 failover,failfast容错。 容错 微服务框架负责服务之间的调用——熔断与容错 网易分布式事务的实现机制 www.163yun.com  事务发起者、事务参与方  分支事务用事务id做幂等  生成对应分支事务记录  并行调用  定时任务兜底 红色为异常流程 Q:回滚的时候,如果分支事务记录不存在,该 怎么返回? option1:返回成功 option2:返回失败 option3:引入超时判断机制 ✘0 码力 | 39 页 | 3.06 MB | 1 年前3 微服务和Service Mesh 在多个行业落地实践配置灵活:可配置检测粒度为每M毫秒N个请求P%的错误率 指标多样:RT值,错误率,线程池参数 熔断 粒度更细:可指定调用者和被调用者服务版本,支持failover、failfast、failback容 错机制。 配置灵活:支持自定义超时时间和重试次数。 可自行定制:通过暴露自定义异常NSFExcetion解决任意业务方法的容错,支持超时、 failover,failfast容错。 容错 微服务框架负责服务之间的调用——熔断与容错 网易分布式事务的实现机制 www.163yun.com  事务发起者、事务参与方  分支事务用事务id做幂等  生成对应分支事务记录  并行调用  定时任务兜底 红色为异常流程 Q:回滚的时候,如果分支事务记录不存在,该 怎么返回? option1:返回成功 option2:返回失败 option3:引入超时判断机制 ✘0 码力 | 39 页 | 3.06 MB | 1 年前3
 异构系统链路追踪——滴滴 trace 实践异构系统链路追踪 ——滴滴trace实践 背景 诉求 挑战—在滴滴落地面临的挑战 方案 日志规范和组件 日志数据处理 日志应用 Trace机制 —传递trace context Trace落地—结合滴滴情况落地 Trace应用 —调用链路跟踪 Trace应用 —调用链路跟踪 Trace应用 —场景还原 ③ 时间顺序还原操作序列 ① 业务id和traceid关联 ② 根span具有业务代表性0 码力 | 19 页 | 3.00 MB | 1 年前3 异构系统链路追踪——滴滴 trace 实践异构系统链路追踪 ——滴滴trace实践 背景 诉求 挑战—在滴滴落地面临的挑战 方案 日志规范和组件 日志数据处理 日志应用 Trace机制 —传递trace context Trace落地—结合滴滴情况落地 Trace应用 —调用链路跟踪 Trace应用 —调用链路跟踪 Trace应用 —场景还原 ③ 时间顺序还原操作序列 ① 业务id和traceid关联 ② 根span具有业务代表性0 码力 | 19 页 | 3.00 MB | 1 年前3
 Facebook messenger架构介绍-覃超 facebookFacebook Messenger Messenger 0.0 Messenger 1.0 系统难点 1. 信息传输的时效性 2.‘在线状态’跟踪 3. Queue(消息队列)+ 送达机制 4. 多并发连接 5. 消息的历史记录 1.0 Architecture Messenger 2.0 The New Facebook Messages Emails Chats0 码力 | 51 页 | 4.39 MB | 1 年前3 Facebook messenger架构介绍-覃超 facebookFacebook Messenger Messenger 0.0 Messenger 1.0 系统难点 1. 信息传输的时效性 2.‘在线状态’跟踪 3. Queue(消息队列)+ 送达机制 4. 多并发连接 5. 消息的历史记录 1.0 Architecture Messenger 2.0 The New Facebook Messages Emails Chats0 码力 | 51 页 | 4.39 MB | 1 年前3
 从百度文件系统看大型分布式系统设计中的定式与创新Consistency 一致性 - Availability 可用性 - Partition Tolerance 分区 容忍性 • 分布式系统 - 容忍网络隔离是必须的 - CP、AP Quorum机制 • Quorum写(NWR) - Write 写成功W副本 - Read 读R副本 - W+R>N,就不会丢失更新 • 一致性协议 - Paxos - Raft CAP到CAD的演变 •0 码力 | 24 页 | 937.45 KB | 1 年前3 从百度文件系统看大型分布式系统设计中的定式与创新Consistency 一致性 - Availability 可用性 - Partition Tolerance 分区 容忍性 • 分布式系统 - 容忍网络隔离是必须的 - CP、AP Quorum机制 • Quorum写(NWR) - Write 写成功W副本 - Read 读R副本 - W+R>N,就不会丢失更新 • 一致性协议 - Paxos - Raft CAP到CAD的演变 •0 码力 | 24 页 | 937.45 KB | 1 年前3
 苏宁易购小程序架构实践 苏宁 禹立彬分包加载,主包原则只放购物主流程 • 尽量压缩业务代码,减少文件大小 • 控制基础库版本,减少对用户的影响 request,登录与302 request,登录与302 在网页状态下运行良好的登录机制,在小程 序下,无法兼容。 loginRequest组件 请求专用接口,并保存登录状态 同时禁止小程序接口中用302传递cookie 小程序Webview • Webview无法传递cookie0 码力 | 36 页 | 833.39 KB | 1 年前3 苏宁易购小程序架构实践 苏宁 禹立彬分包加载,主包原则只放购物主流程 • 尽量压缩业务代码,减少文件大小 • 控制基础库版本,减少对用户的影响 request,登录与302 request,登录与302 在网页状态下运行良好的登录机制,在小程 序下,无法兼容。 loginRequest组件 请求专用接口,并保存登录状态 同时禁止小程序接口中用302传递cookie 小程序Webview • Webview无法传递cookie0 码力 | 36 页 | 833.39 KB | 1 年前3
 QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+服务A 服务B 1 2 移动服务 接入层 v2 v3 v1 重要原则 幂等、接口可重入 接口规范化(命名、类型、长度等) 分布式事务,补偿、撤销机制 接口缓存,热数据尽可能前置 DB跟随服务 代码、逻辑、结构等都要适时重构 最终架构[简版] 移动后台打散,界限趋于不明显 极大消除冗余,三级两层划分0 码力 | 42 页 | 19.96 MB | 1 年前3 QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+服务A 服务B 1 2 移动服务 接入层 v2 v3 v1 重要原则 幂等、接口可重入 接口规范化(命名、类型、长度等) 分布式事务,补偿、撤销机制 接口缓存,热数据尽可能前置 DB跟随服务 代码、逻辑、结构等都要适时重构 最终架构[简版] 移动后台打散,界限趋于不明显 极大消除冗余,三级两层划分0 码力 | 42 页 | 19.96 MB | 1 年前3
 降级预案在同程艺龙的工程实践-王俊翔center mysql sharding watch admin • 使⽤用ETCD实现注册中⼼心 • 简单 - Go语⾔言编写部署维护简单,定义良好的API • 安全 - SSL认证机制 • 快速 - ⽀支持上万次写⼊入操作 • 可信 - Raft算法保证强⼀一致性,Proxy反向代理理模式⽀支持 • 服务数据存储 • 应⽤用、服务元数据、状态数据,etcd、mysql双份存储0 码力 | 26 页 | 18.67 MB | 1 年前3 降级预案在同程艺龙的工程实践-王俊翔center mysql sharding watch admin • 使⽤用ETCD实现注册中⼼心 • 简单 - Go语⾔言编写部署维护简单,定义良好的API • 安全 - SSL认证机制 • 快速 - ⽀支持上万次写⼊入操作 • 可信 - Raft算法保证强⼀一致性,Proxy反向代理理模式⽀支持 • 服务数据存储 • 应⽤用、服务元数据、状态数据,etcd、mysql双份存储0 码力 | 26 页 | 18.67 MB | 1 年前3
共 13 条
- 1
- 2













