QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+
资金存管 账户中心 Pc Web 支付/钱包 外 部 系 统 流控 熔断 限流 版本 更多... 标签 用户 管理平台 产品 理财单 渠道 版本 5G 措施:剥组件,拆单体,合冗余 移动后台打散 轻业务上浮 重业务下沉 API接入 指标监控 配置管理 业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 LUA 流量调度 降级 限流 灰度 接口分发 ??� FNS Fund 宜睿 P2P BASE Other … … 剥离到网关 部分功能前置 统一接口标准 措施:剥组件[深度定制网关] API接入 指标监控 配置管理 业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 幂等、接口可重入 接口规范化(命名、类型、长度等) 分布式事务,补偿、撤销机制 接口缓存,热数据尽可能前置 DB跟随服务 代码、逻辑、结构等都要适时重构 最终架构[简版] 移动后台打散,界限趋于不明显 极大消除冗余,三级两层划分 底层服务有序汇总直面前端 流量统一出口 积分系统 优惠券 基金服务 保险服务0 码力 | 42 页 | 19.96 MB | 1 年前3陈辉-架构师的业务思维
是不是需要分层设计? 用什么系统去承载?需要什么框 架吗? 换个问法 今年我们要落地业务中台架构 用户基础服务 交易服务 商品服务 关系服务 广告服务 业务域A 业务域B 业务域C 业务域D 业务组件/中间件 电商业务 内容业务 直播业务 算法支撑 中间件 计算框架 平台工具 云的能力 什么是架构师的业务思维? 站在业务方的视角,在理解业务发展目标、看清业务发展方向的前提下,做出技术和业务的平衡 理解清楚当前需求 具有业务前瞻性 不要过度设计 怎么运用?CASE I 流量承接 主播互动 商场促销活动 玩法承接 不断的优化和迭代 试错远远大于成功 新需求频繁 组件化 规则配置化 流程编排 玩法天生就是一个不断试错的业务 组件化+数据监控+业务复盘 数据跟踪和定量跟踪 跳出技术思维 需要的快速试错并拿到结果的能力 理解清楚当前需求 具有业务前瞻性 不要过度设计 怎么运用?CASE 多渠道的本质是商品交易体系的扩展性 理解清楚当前需求 具有业务前瞻性 不要过度设计 多渠道 多平台 多用户 模块化 SPI 规则引擎 流程引擎 商品平台化 交易平台化 促销平台化 渠道下单 无结构化商品 多平台玩法 多端适配和开发组件 组件池 怎么去实践 走到业务一线去 找对评判标准-比如客户价值 权衡技术和业务 看远一点,做实际点 再来个case 样衣管理系统 产品 架构师 运营 架构师的工作职责0 码力 | 32 页 | 3.18 MB | 1 年前3领域驱动设计&中台/演进式架构的平台化落地
Chaos Monkey incremental change “架构量量⼦子(architectural quantum)”是⼀一个可独 ⽴立变化并部署的单元组件,其具有⾼高功能内聚性, 包含⼀一个系统正常⼯工作所需的所有结构要素。 Checkout component component component database component component component microservice container ⼤大泥泥球 ⼤大量量⼦子尺⼨寸的应⽤用阻碍频 繁增量量变更更,因为⾼高耦合 性需要⼀一次部署⼤大量量代码、 ⼤大量量的应⽤用。 单例例架构 ⾮非结构的单例例架构 user interface Class Class Class Class Class Class Class Class Class Class Class 架构分析- 从契约反向识别实现与模型差异 架构分析- 架构Fitness Function检查 代码质量量分析- 配置Sonar地址、展⽰示分析结果 数据结构分析- 测试环境的反向⼯工程可视化 数据结构分析- ⽣生产环境脚本导入可视化 领域模型- 基于代码守护的反向可视化 运⾏行行时部署架构可 视化 数据库 状态/版本显⽰示 创建系统 组建团队 我的系统0 码力 | 42 页 | 2.95 MB | 1 年前3领域驱动设计&中台/可视化的遗留系统微服务改造
可视化的划分遗留留系统 04 可视化的拆解遗留留系统 引⾔言 遗留留系统、微服务架构 任何⼈人类的设计都会腐化 软件当然也不不例例外 拆成微服务 微服务架构的九⼤大特征 •通过服务进⾏行行组件化 •围绕业务能⼒力力组织 •做产品⽽而不不是做项⽬目 •智能端点与傻⽠瓜管道 •去中⼼心化地治理理技术 •去中⼼心化地管理理数据 •基础设施⾃自动化 •容错设计 •演进式设计 可视化能帮我们什什么 ⼩小步改造系统 可视化的认识遗留留系统 C4模型、⽤用户画像、⽤用户旅程 C4模型系统架构可视化 国家级 省级 道路路级 市级 C4模型系统架构可视化 系统上 下⽂文图 容器器图 代码图 组件图 已可视化 ⽤用户画像和旅程系统功能⽤用户可视化 ⽤用户画像 ⽤用户旅程 已可视化 突出⽤用户信息,诉求和价值体现 还原业务场景 可视化的划分遗留留系统 领域驱动设计、事件⻛风暴暴⼯工作坊、服务画布 申请单 补货上下⽂文 物流⼦子域 每⼀一个限界上下⽂文 都是在明确边界 微服务设计原则 1. 对⻬齐限界上下⽂文 2. 业务变更更频率与相关度 3. 系统⾮非功能性需求 4. 组织结构和康威定律律 5. 团队规模 6. 技术异构和现有系统复杂度 服务画布 已可视化 阿 ⼠士⼤大 1. 买家 2. 商户 1. 买家创建订单 2. 商户履履⾏行行订单 订单 商品0 码力 | 54 页 | 3.85 MB | 1 年前3苏宁易购小程序架构实践 苏宁 禹立彬
围绕着小程序,各厂家也推出了一系列针对小程序的生态标准,联合 登录,授权获取用户信息,支付,通知消息,客服等等 • 对于这些生态功能来说,也需要一系列基础服务去支持 小程序的不足 • 组件化能力不足,代码复用能力弱 • API不统一,代码无法兼容 • 这些呼唤着快速解决方案 苏宁的小程序群 • 苏宁易购小程序,苏宁拼购,苏宁特卖,苏宁母婴。。。 • 苏宁优惠等 将同等逻辑的微信小程序页面转换为百度 • 无法精确匹配每一个组件 • 少量修改,减少工作量 易购系APP转换器 • 将小程序代码转换为基于ReactNative框架的易购版小程序 • 降低易购APP大小 • 减少开发成本 • 使用ReactNative同步实现微信小程 序组件 • 100+ API • 30+ Components 同步组件 • data转换为state • 3 小程序业务组件 CONTENTS • 使用原生的方式开发,没有使用wepy等框架 • 分包加载,主包原则只放购物主流程 • 尽量压缩业务代码,减少文件大小 • 控制基础库版本,减少对用户的影响 request,登录与302 request,登录与302 在网页状态下运行良好的登录机制,在小程 序下,无法兼容。 loginRequest组件 请求专用接口,并保存登录状态0 码力 | 36 页 | 833.39 KB | 1 年前3刘道平-从0到1,移动政务应用小程序系统架构演化
下载成本低、通过微信裂变传播 下载成本高、推广难、占流量、占内存 开发成本 只需开发一套,组件丰富 每个端都得开发,标准化组件少 版本更新 无感知,轻量级更新 更新麻烦,审核周期长 服务触达 利用微信载体,消息通知更简单 APP消息,打扰多,用户遗漏概率大 拓展性 程序包小,可以关联调转 无大小限制,调转较难 智能化服务能力 微信自带组件,对接更容易 需根据场景单独对接,如人脸识别、支付等 产品自主性 需依托微信平台 依托微信的账号体系,便捷登录,以授权登录、 人脸识别登录为主 • 依托公安部门互联网可信身份认证体系 • 用户登录后,业务系统不再要求用户登录 9、前端开发 -- 封装公共组件 ,磨刀不误砍柴工 1、封装DGD-SDK公共组件 2、合包工具 3、Taro框架预研 10、API网关 – 限流保护已有系统、提升访问安全性 • 1.业务应用A 向网关申请接入,网关分配paasid、token给业务应用;0 码力 | 35 页 | 15.60 MB | 1 年前3海量用户推送后台系统架构实践-曾振波
PushTask API JCache JMQ DB 极光推送后台系统架构 02 01 06 03 07 05 04 08 模块化 异步化 并行化 缓存化 程序及系统优化 基础组件服务化 链接管理 系统安全 09 新技术的应用——K8S部署业务 模块化 • 模块业务逻辑All In导致相互影响,更新升级难度大 • 功能按照业务拆分解耦 • 数据和业务分离 • 快速迭代 04 程序及系统优化 • 内存 • 静态分配 • 内存池 • 内存对齐 • CPU Affinity • 网卡多队列 • 用户态协议栈(DPDK) 极光推送后台系统架构 05 基础组件服务化 • 业务方透明 • 统一管理 • 屏蔽后端变化 • AutoScale,Failover,AutoRecover • JMQ - RabbitMQ, RocketMQ • JCache 极光推送后台系统架构 09 结束语 • 高性能/低成本、高可用、高运维 • 只用验证过的开源组件 • 自研替代开源 • 能并行就不要串行 • 能异步就不要同步 • 保持简单,快速迭代 • 不要过早优化,架构是演进出来的 极光推送后台系统架构 结束语 • 高性能/低成本、高可用、高运维 • 只用验证过的开源组件 • 自研替代开源 • 能并行就不要串行 • 能异步就不要同步 • 保持简单,快速迭代0 码力 | 23 页 | 1.26 MB | 1 年前3《58到家技术架构快速规划与落地》 - 沈剑
改造点 (1)Web-Framework (2)RPC-Framework (3)cache-client (4)db-client � 改造内容:加两行日志 58集团技术专场 启示:统一组件多么重要 58集团技术专场 3. 调用链跟踪-快速落地实践 � 请求链跨进程标识 � 时序标识 � 深度标识 � 数据收集 � 可视化 58集团技术专场 3. 调用链跟踪-效果 � 58集团技术专场 强调:统一组件真的很重要! 58集团技术专场 三、总结 58集团技术专场 总结-初创公司技术体系怎么玩 � 服务化:统一框架,统一数据访问,解耦组件 � 监控平台:机器/操作系统,进程/端口,日志,接口 � 调用链跟踪:修改点,串联/时序/深度,数据收集,可视化 � 守望者平台:应用视角,上下游,数据收集,统一展现 统一组件 快速落地 58集团技术专场 Q&A0 码力 | 42 页 | 1.52 MB | 1 年前3美团点评旅游推荐系统的演进
•过拟合VS欠拟合 •样本大小&树的棵数 •样本和特征随机采样 •模型复杂度:max_depth,min_child_weight •通用离线训练工具 •流程抽象化、组件化 •提供公共组件,支持定制组件 效果评估&线上迭代 •离线评估 •AUC •logloss •在线评估 •ABTest:按UUID分流 •线上迭代 •模型更新 •特征漂移:更新延迟 训练集表现0 码力 | 49 页 | 5.97 MB | 1 年前3QCon北京2018-《美团配送系统架构演进实践》-阴永俊
取货 -> 送达… 业务团队:招聘、采购、物料、培训、薪酬、保险.... 运营团队:运力结构、经营分析、绩效考核.... 客服团队:问题跟进、定责… 基础设施不断升级 与 用户消费升级 促使即时配送全面信息化 人工智能 大数据 GPS+GIS 移动互联网 智能手机/APP • 预测供需结构,智能派单调度 • 评估难度、ETA、骑手能力等数据 • 定位越来越精准,地图与导航逐渐成熟 业务复杂性高 • 用户:花了钱却饿着肚子 • 商家:出了餐却无人配送 • 骑手:投入的时间、劳动却少赚了钱 • 多业务线的共性与差异:专送、代理、众包⋯ • 运营复杂度高:定义科学的订单供给与运力结构,并精准调控 • 安全管理:用户安全、商家安全、骑手安全 履约SLA要求高,重线下业务运营 配送系统的技术定位与思路 初期造工具,解决能不能 长期造壁垒,实现降维打击能力 从支撑业务到驱动业务 快速起量,系统质量、研发效率问题凸显 合同 运营系统 • 需求长期多而杂,运营系统到底应该管什么 • 科学设定目标并达成的能力 • 各类管理动作的效率提升与结果保证 • 定义科学的运力结构 • 提升物质激励效果 骑手网关 规模化阶段:核心领域细分 主数据平台 (核心模型) 账号权限 组织架构 核心数据模型 配送服务 配送运力 ⋯ 订单中心 (送什么) 品类 重量 支付状态0 码力 | 31 页 | 15.26 MB | 1 年前3
共 19 条
- 1
- 2