高可用分布式流数据存储设计-李玥⾼高可⽤用分布式流数据存储设计 李玥 京东集团 技术架构部 架构师 ⾃自我介绍 ⾃自我介绍 李李玥 京东集团 技术架构部 架构师 负责主导设计新⼀一代京东消息中间件系统,专注于流数据的⼀一致性分发和可靠存储、分布式实时计算和⾼高可⽤用分 布式系统架构等技术领域。 从事互联⽹网研发、架构10余年年,曾在浪潮集团、当当⽹网等公司从事架构相关⼯工作。2017年年加⼊入京东,期间提升京 如何定位?如何融入生态系统? How 如何实现?如何优化? WHY 为什什么需要流数据存储? 单体应⽤用 烟筒式 SOA 微服务 那些年年的服务 MySQL ES HDFS KV HBase Hive 这些年年的数据 Services Data MySQL ES HDFS KV HBase Hive 统⼀一的流数据存储平台 我们的愿景 Services Streaming Storage0 码力 | 36 页 | 6.02 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造市级 C4模型系统架构可视化 系统上 下⽂文图 容器器图 代码图 组件图 已可视化 ⽤用户画像和旅程系统功能⽤用户可视化 ⽤用户画像 ⽤用户旅程 已可视化 突出⽤用户信息,诉求和价值体现 还原业务场景 可视化的划分遗留留系统 领域驱动设计、事件⻛风暴暴⼯工作坊、服务画布 好的设计 低耦合 如果做到了了服务之间的松耦 合,那么修改⼀一个服务就不不 需要修改另⼀一个服务。⼀一个 ‣Easy:标记都很简单,没有复杂的UML ‣Fun 简介 ‣正确的⼈人:业务⼈人员,领域专家,技术 ⼈人员,架构师,测试⼈人员等关键⻆角⾊色都 要参与其中 ‣开放空间:有⾜足够的空间可以将事件流 可视化,让⼈人们可以交互讨论 ‣彩⾊色即时贴:⾄至少三种颜⾊色 活动准备 寻找领域事件 事件⻛风暴暴 命令⻛风暴暴 寻找聚合 划分限界上下⽂文 什什么是事件? 为什什么⽤用事件? 如何进⾏行行事件⻛风暴暴? UserMapper.xml 已可视化 拆解该从那个服务开始? 业务 复杂度 需求变 化频率 使⽤用 频度 系统集 成关系 数据迁 移量量 代码改 动量量 拆解后 带来的收益 (业务价值) 拆解中的 ⼯工作量量成本 (技术成本) 遗留留系统拆解评分表 业务 复杂度 需求变 化频率 使⽤用频 度 系统集 成关系 数据迁 移量量 代码改 动量量 业务维度 总体评分0 码力 | 54 页 | 3.85 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊Agenda 02 MVP阶段 03 规模化阶段 04 精细化阶段 MVP阶段 业务从零到一 快速迭代、业务试错 核心链路MVP、主流程跑通 • 按照粗领域拆分系统边界 • 按照三大信息流(人、财、物)划分系统 • 如何支撑快速试错: • 项目制; PM、RD = QA; 区分履约服务与运营服务 骑手APP 管理端 DB 资金 运单 人员 外卖系统 从零到一 外卖 配送 具体技术 同城建设方案 配送履约方案 骑手运营方案 行业方案 如何更好地发挥大数据与AI的价值 降低试错成本 提升算法特征迭代效率 提升导航数据质量 仿真平台 最大化降低算法的线上试错成本 打造算法沙箱环境 特征平台 统一算法策略迭代框架,数据生产框架 提升特征数据质量 LBS平台 提供 坐标流、导航路径、空间索引 能力 打磨各类位置与导航策略场景 导航 算法特征 效果验证 产品技术创新驱动业务发展0 码力 | 31 页 | 15.26 MB | 1 年前3
领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践天⽣生异步的架构 流 Stream / Flow / Flux 什什么是流 • ⼀一个流是顺序串串⾏行行执⾏行行的 • 多个流之间才可能是并⾏行行的 Your Mouse is a Database! — Erik Meijer 流定义 • ⾯面向数据 • 操作、组合 ⾯面向流 • 业务逻辑 → 数据变换 • 数据变换 → 业务逻辑 数据 vs 逻辑 ⾯面向流编程是 ⾯面向数据编程 ⾯面向数据编程 流式架构 流 分布式 性能 并发控制 业务编写 流 - 业务编写 创建 just / from* / range / repeat /interval / timer 过滤 filter / take / skip / distinct sample / debounce / throttle 转换 map / buffer / window flatMap(service::batchOps) 流 - 并发控制 切过 Scheduler是指: • 远程调⽤用已经异步化,所以是已经且过 Scheduler • 可以⼿手⼯工切 Scheduler (subscribeOn / observeOn) 业务顺序编写 并发⽅方式执⾏行行 • 不不同的流 • ⽆无依赖 • 切过 Scheduler 就可以⾃自动并发 多流并发 • 业务按照语义顺序编写0 码力 | 27 页 | 1.13 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地compatible) Production 微服务研发平台落地 落地优秀实践,守护架构,降低微服务 研发学习成本 企业研发⼯工具链⽣生态 敏敏捷协作平台 部署发布 平台 持续交付流⽔水线平台 ⾃自动测试 平台 微服务系统设计,研发与运维管理理 微服务 /API设 计 代码 ⽣生成 契约 服务 架构 演进 微服务 运维治 理理 部署架 构 设计 绘制部署架构,组合服务和 部署元素 部署架构变更更历史 推荐部署架构(远期规划) 微服务开发框架定制 代码架构⻛风格选择 资源配置 数据库版本管理理 是否⾃自动⽣生成API/ Dockerfile/流⽔水线 ⽣生成 代码 到GIT 仓库 架构分析- 从契约反向识别实现与模型差异 架构分析- 架构Fitness Function检查 代码质量量分析- 配置Sonar地址、展⽰示分析结果 团队⼈人员⾓角⾊色 权限维护 外部系统维护 架构约束定 义维护 部署元素维护 代码引入ArchUnit/ log格式入⼿手 框架管理理 代码模版⽣生成 引擎 GIT插件通信 对接DevOps 流⽔水线 契约测试Mocker Server API定义⽣生成Jar 契约配置中⼼心 统⼀一管理理 获得运⾏行行架构、实例例状态 ELK⽅方 案 对接资源室 获得组织结 构 对接175产品0 码力 | 42 页 | 2.95 MB | 1 年前3
陈辉-架构师的业务思维模块化 SPI 规则引擎 流程引擎 商品平台化 交易平台化 促销平台化 渠道下单 无结构化商品 多平台玩法 多端适配和开发组件 组件池 怎么去实践 走到业务一线去 找对评判标准-比如客户价值 权衡技术和业务 看远一点,做实际点 再来个case 样衣管理系统 产品 架构师 运营 架构师的工作职责 打造一个稍稍跑在业务前面的架构 架构先行 补充一点~ 站在业务方的视0 码力 | 32 页 | 3.18 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化4、开放的更多公共能力、云能力、AI能力 23、对政务应用系统架构师的建议 1、互联网+政务、还是政务+互联网? 重新理解政务服务互联网化的技术路径。 2、重新理解客户方的技术需求 是以项目验收为目标,还是以用户价值、持续运营 为目标 3、拓宽政务领域知识, 以专业技术经验、创新技 术方案带动创新 推荐阅读 1、公众号:我为领导试APP、数旗智酷 2、国家行政学院省级政务网上政务服务 能力调查评估报告(2017、2018)0 码力 | 35 页 | 15.60 MB | 1 年前3
领域驱动设计&中台/架构分层模型适配Resource Model DDD分层参考架构 领域模型和领域逻辑,关注业务概念。 前端应⽤用 API服务 领域模型 基础设施 ⼲干系⼈人: 业务领域专家,业务领导 诉求: 表现业务概念和实现业务价值 要点: 业务建模和复杂性管理理 ⼯工作内容: • 建⽴立业务模型,并体现在代码上 • 管理理模型复杂度,适度拆分模块 • 实现业务逻辑 业务⼈人员关注的层 业务领域 腐化案例例:0 码力 | 39 页 | 2.54 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+张现双,宜人贷研发架构师,移动后台负责人,负责 移动后台的技术研发和系统架构设计,并随着业务增长持续 不断的进行性能优化和系统架构升级。 从事过研发、运维、dba等工作,在应对互联网系统流 量、并发、安全、一致性问题等方面有一些经验。 翻译出版专著:《可伸缩架构:面向增长应用的高可用》 大纲� 01 宜人贷发展历程 02 移动后台架构演进 03 流量应对策略 宜人币 基金服务 保险服务 网贷服务 支付中心 用户中心 电子签章 人脸识别 营销平台 埋点 基础服务 会员系统 资金存管 账户中心 Pc Web 支付/钱包 外 部 系 统 流控 熔断 限流 版本 更多... 标签 用户 管理平台 产品 理财单 渠道 版本 5G 措施:剥组件,拆单体,合冗余 移动后台打散 轻业务上浮 重业务下沉 API接入 限流(limit,lua),openresty,4层/7层LB 弹性扩容,限流(token),熔断,防刷 降级,熔断,弹性扩容 多IDC,区域容灾,多ISP 集群,高可用,分片 本地缓存,防刷,流控 终端 域名 机房 LB / NG.. 网关 Cache 服务 抓大不能放小[细节决定成败] 线程阻塞>300 中间件内存管理、线程状态,连接状况 db的io,慢sql,索引,join等0 码力 | 42 页 | 19.96 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔Application Application SDK Application Application Application SDK 熔断 降级 流控 隔离 实时策略略推送 数据采集 应⽤用管理理 策略略管理理 流控管理理 预案管理理 指标管理理 监控告警 数据⼤大盘 脚本开发 ETCD管理理 故障演练 业务保障管理理后台 应⽤用JVM进程 故障动态注⼊入 Attach ⻓长链接,数据流⽅方式实时发送 • 本地多队列列轮循,数据缓冲,合并异步发送 指标如何计算处理理 数据采集 KAFKA ETL 复合指标 ⾃自定义指标 系统指标 业务指标 指标脚本计算 指标规则计算 指标脚本 规则表达式 熔断 降级 条件 计算 降级消息 数据 存储 实时告警 规则配置 开发 ⽇日志解析规则 控制中⼼心 ETCD 降级服务 降级处理理 流处理理集群(Flink)0 码力 | 26 页 | 18.67 MB | 1 年前3
共 13 条
- 1
- 2













