付钱拉金融云系统架构演进和最佳实践
34 初始 交易检查失败 路由失败 路由成功 已撤销 定时器触发批扣打包 UI触发批扣打包 正在发送 第三方 失败 成功 三方已受理 部分成功 (批量交易) 订单失败 (网关交易) 接入网关 交易检查 服务路由 批量任务 通道适配 响应处理 交易检查成功 定时器触发批付打包 UI触发批付打包 有限状态机 FINITE STATE MACHINE BEST PRACTICE 统计类(订单量异常预警、非法IP预警、交易额过大) 网络异常(单通道和多通道、不同的分布场景) 撒网与实时监控 REAL-TIME MONITORING 可视化运营 VISUAL OPERATION 优先恢复 蓝绿部署 提前准备 服务降级 kill 慢SQL、摘节点、线 程栈和内存堆现场保留 反 向 代 理 反 向 代 理 APP1 APP2 APP3 APP1 APP2 APP3 APP1 APP2 和第三方接口交互,需要考虑设置合适的work线程符合第三方并发数量限制 二 安全规范 1.页面请求参数严格限制或者校验处理,防止SQL注入 2.页面URL请求做细粒度的权限拦截,防止访问权限过大 3.部署在公网的应用做好防止XSS攻击的防范措施 4.和第三方系统交互需要互加白名单确保安全 5.系统全站提供HTTPS服务 6.和第三方系统交互报文需要加密传输 7.用户敏感数据做数据脱敏 8.预防页面被频繁请求,占用系统资源0 码力 | 35 页 | 6.05 MB | 1 年前3领域驱动设计&中台/演进式架构的平台化落地
Contract Correlation IDs Chaos Monkey incremental change “架构量量⼦子(architectural quantum)”是⼀一个可独 ⽴立变化并部署的单元组件,其具有⾼高功能内聚性, 包含⼀一个系统正常⼯工作所需的所有结构要素。 Checkout component component component database component component component component microservice container ⼤大泥泥球 ⼤大量量⼦子尺⼨寸的应⽤用阻碍频 繁增量量变更更,因为⾼高耦合 性需要⼀一次部署⼤大量量代码、 ⼤大量量的应⽤用。 单例例架构 ⾮非结构的单例例架构 user interface Class Class Class Class Class Class Class 研发学习成本 企业研发⼯工具链⽣生态 敏敏捷协作平台 部署发布 平台 持续交付流⽔水线平台 ⾃自动测试 平台 微服务系统设计,研发与运维管理理 微服务 /API设 计 代码 ⽣生成 契约 服务 架构 演进 微服务 运维治 理理 部署架 构 设计 统⼀一协作平台 研发⼯工具连 为某企业做的微服务平台规划 部署架构设计 服务 契约 定义 契约 代码 评审0 码力 | 42 页 | 2.95 MB | 1 年前3ServiceComb 开源微服务框架技术演进之路 巨震
独立应用模块 • 通信:协议、队列 • SDK引用 • 通信:http、 RPC… • 服务治理 • 透明代理 • 通信:通用协议 • 服务治理 • Cloud Native部署 ServiceComb 一个基于SDK的“传统”微服务框架 Service Center service Java chassis Config Center service myns sidecar-injector=enabled 用户案例 原则 • 架构稳定,有可持续发展、演进能力 • 支持多语言、传统微服务和新兴ServiceMesh微服务 架构混合场景部署 • 有大型成功商用案例 • 无商业强绑定,高自由度,企业自主可控 • 完整的生态栈,涵盖开源主流微服务运维和安全领域 • 低学习成本,有编程语言基础即可快速上手 华为开源 ServiceMesh方案 统一服务治理中心 ServiceComb SDK Java应用 PHP应用 0侵入改造 支持多种开发语言 解决Java和PHP共存场景 传统与新兴微服务化方式共存 混合部署、协同治理 丰富的监控运维 细化到业务层面的微服务监控运维 遗留应用0改造 支持0侵入业务代码,使用成本低,对 原有业务无影响 开发方式不变 ServiceComb0 码力 | 20 页 | 861.58 KB | 1 年前3海量用户推送后台系统架构实践-曾振波
极光推送后台系统架构 02 01 06 03 07 05 04 08 模块化 异步化 并行化 缓存化 程序及系统优化 基础组件服务化 链接管理 系统安全 09 新技术的应用——K8S部署业务 模块化 • 模块业务逻辑All In导致相互影响,更新升级难度大 • 功能按照业务拆分解耦 • 数据和业务分离 • 快速迭代 • 模块间通过MQ/RPC交互 极光推送后台系统架构 IDC6 Conn 系统安全 • 网络安全 • 对外业务隔离,异地多机房部署,健康检查,业务快速部署及调度 • 通信安全 • SSL,私有加密协议 • 服务安全 • 安全校验,异常行为识别,过载保护,白名单/黑名单,服务降级 • 监控及告警 • 多维度监控,告警系统 极光推送后台系统架构 08 K8S部署业务 • 原有系统的运维工作繁杂,资源利用率低 • 弹性扩容 • 配置统一管理0 码力 | 23 页 | 1.26 MB | 1 年前3数字货币交易系统架构 Python实现 黄毅
amount from tmp where orders.id=tmp.id; delete from orders where id = ANY[%s] 交易系统架构设计-部署 • 有状态服务,单独部署集群 • 数据库 • Redis • 无状态服务,k8s/docker swarm • Restful api • Websocket api • 异步任务 3 钱包实现 钱包实现 钱包的功能 • 地址生成和私钥管理 • 构建并签名交易 • 监听充值交易的发生 • 跟踪交易的确认数 钱包的实现-使用官方钱包节点的rpc接口 • 难以维护和部署 • 私钥存储不安全 • 冷热钱包分离复杂 钱包的实现-分离地址生成和签名算法 • 可以自行负责私钥存储 • 可以自己实现冷钱包 • 钱包节点只负责区块链数据解析的工作和广播交易 • 甚至可以直接使用第三方节点API0 码力 | 24 页 | 799.65 KB | 1 年前3联想-贺钢架构工作在国际化项目中的应用实例
国际化项目的一些不同点 • 目标客户不同: 文化习俗, 客户需求, 用户体验… • 要求不同: 各国法律法规(版权,协议,第三方,accessibility), 安全性和隐私… • 地域不同: 服务器的部署, 用户的访问, 组织架构, 团队沟通… 项目实例 -- XA项目背景及需求 • 多设备协作 PC, Mobile, Pad, Cloud… • 跨设备及云智能搜索 • 语音等多种输入方式 数据库(Mysql)多台(数据在一个数据中心) 千万到亿 增加Web服务器内存缓存,集群,IP负载均衡,基于内 容请求分发,Mysql优化(如减少写,2/8原则),数据在 一个数据中心 亿以上 增加异地部署(建议核心点集中,其它节点分散开),较 难分割或核心数据在同一数据中心,其它分散到不 同的节点 对架构设计的影响II -- 数据库表设计 数据库表早期设计 ID ... Type Name Size0 码力 | 53 页 | 2.36 MB | 1 年前3从百度文件系统看大型分布式系统设计中的定式与创新
分布式系统设计实践 • 总结与致谢 百度的集群环境 • 单个集群通常几千台机器 • 百度文件系统(BFS)、集群调度系统(Galaxy)、分布式协 调服务(Nexus)是核心服务 • 实时任务与批量任务混合部署 Galaxy master BFS master Nexus lock service 分布式软件栈中的BFS The Baidu Stack 网络通信框架Sofa-pbrpc 分布式文件系统 分布式数据库 Tera 分布式计算框架 Shuttle Apps(Spider/Index/Search) 数据中心操作系统(DCOS) • 进程调度&内存管理 - Galaxy - 应用部署和任务调度 • 锁和信号量 - Nexus - 分布式锁 - 分布式通知 • 文件系统 - The Baidu File System - 持久化存储 百度文件系统架构 设计一个分布式系统要考虑的0 码力 | 24 页 | 937.45 KB | 1 年前3唯品会调度系统的前世今生
Job B 作业调度器 控制台UI 消息系统 控制、调度结果下发 作业控制 结点监听 作业调度 执行日志 监控日志 日志查询 消息订阅 告警信息 执行结果 统一认证 架构体系 部署模型(跨机房) IDC-A IDC-B 接入域-A 执行结点 作业实现 ZK saturn-zk-* saturn.vip.com 控制台集群 (Tomcat) ZK Observe 提供多种业务开发模式,满足不同的业务需求 • 多种业务运行模式,即可分布式管理也可本地管理 • 通过异步消息实现业务编排* 多种作业类型 人工指定 运行节点 系统自动 平衡负载 资源利用 • 灵活的运维配置与部署 • 高效资源利用 • 简便的管理 人工指定 自动平衡 资源平衡调度算法 框架代码 与业务代 码隔离 集中化动 态增加与 删除作业 • 简化开发,避免冲突,业务无侵入 • 易于发布与维护0 码力 | 58 页 | 5.40 MB | 1 年前3微服务和Service Mesh 在多个行业落地实践
注册发现 服务管理 www.163yun.com 开发集群 测试集群 CICD (开发流程管理) 流水线管理 代码 检出 代码 编译 镜像 构建 集成 测试 部署 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 接口 Mock 覆盖 率 生产镜像 仓库 测试镜像 仓库 历史 管理 批量 手 动 触 发 代码到线上全流程管理 互联网化接口测试,场景测试 灵活执行集:冒烟,日常,回归 定时测试,MOCK测试 测试,生产镜像仓库分离,自 动同步 开发测试环境自动部署,生产 环境手动触发 持续集成 www.163yun.com 微服务框架 (服务治理) 服务 目录 注册 发现 限流 熔断 降级 容错 路由 负载 均衡 参数 分流0 码力 | 39 页 | 3.06 MB | 1 年前3刘道平-从0到1,移动政务应用小程序系统架构演化
来保证一致性。 2.后台服务采用Go开发,围绕业务功能需求,构建后台服务模块 包括个人中心、服务、待办服务、证照服务、公共服务、外部能力、业务办理服务和运营管理服务模块 12、系统部署架构反复评审论证 一、部署架构 1、政务云电子政务外网 :数据库、应用服务 2、政务云互联网区:静态资源、网关 3、互联网区:小程序、云服务 二、安全防护 1、仅开放指定端口 80 443 2、域名须有HTTPS证书0 码力 | 35 页 | 15.60 MB | 1 年前3
共 17 条
- 1
- 2