海量用户推送后台系统架构实践-曾振波XPNS Broadcast PushTask API JCache JMQ DB 极光推送后台系统架构 02 01 06 03 07 05 04 08 模块化 异步化 并行化 缓存化 程序及系统优化 基础组件服务化 链接管理 系统安全 09 新技术的应用——K8S部署业务 模块化 • 模块业务逻辑All In导致相互影响,更新升级难度大 • 功能按照业务拆分解耦 IDC数据同步 • 异步RPC • ICE - 负载均衡,AMI,AMD,多线程 极光推送后台系统架构 02 并行化 • 横向扩展处理能力 • 数据分片存储 • 多节点+分片+多副本架构 • 数据读写动态路由 • 请求并行处理 • 模块级别并行 • 代码级别并行 极光推送后台系统架构 03 MQ Segment OnlineMsg OnlineMsg OnlineMsg OnlineMsg Data0-0 Data0-1 Data1-0 Data1-1 Data2-0 Data2-1 Mng0 Mng2 Mng3 缓存化 • 热点数据全部缓存 • 加快数据访问,减少请求处理时间 • 多级缓存 • 本地缓存 • Redis, Couchbase, LevelDB(PIKA), 定制化 极光推送后台系统架构 04 程序及系统优化 • 内存 • 静态分配0 码力 | 23 页 | 1.26 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践概览 知识 库 服务 告警 监控 大屏 账户 审计 可配置多条规则,按优先级匹配 可配置消费端黑白名单:只有A服务能访问B服务,只有IP1能访问B服务,更加安全 可配置服务端黑白名单:A服务版本1访问B服务版本1,A服务版本2访问B服务版本2,更灵活 路由 微服务框架负责服务之间的调用——路由 www.163yun.com 微服务框架 (服务治理) 参数取模时,可针对 Cookie、HTTP Header 或 Query String 的参数进行取模运算。 名单分流时,名单支持正则表达式。 A用户永远只访问A服务v1 VIP用户访问A服务V2,非VIP用户访问A服务V1 参数分流 微服务框架负责服务之间的调用——负载均衡与参数分流 www.163yun.com 分布式数据库 www.163yun.com 事务消息——中间件 TMC 网易分布式事务的实现机制 www.163yun.com 事务发起者、事务参与方 分支事务用事务id做幂等 生成对应分支事务记录 并行调用 定时任务兜底 红色为异常流程 Q:回滚的时候,如果分支事务记录不存在,该 怎么返回? option1:返回成功 option2:返回失败 option3:引入超时判断机制0 码力 | 39 页 | 3.06 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道我的开发机性能还行,我想自己装一套依赖环境提高开发调测 效率,结果消息服务、缓存服务、服务框架装完一启动,80% 的系统资源就没有了,想想还有一堆的应用服务还没装,直接 泪崩… 8. 办公区断网,所有线上依赖环境都无法访问了,得,今天啥也 干不了了,回家洗洗睡吧…. … ….. ……… 1 2 3 解决之道:通过技术手段,降低系统对外部的依赖,而“MOCK”,是最 有效的手段。 分布式服务框架mock能力构建 为每个开发人员或测试人员提供一个单独(schema/catalog)的测试数据库。 2.预置数据独立管理,并通过测试框架提供预置数据前置导入及后置清除能力。 逻辑上支持“租户”隔离模式的分布式服务一般对多团队并行开发/调测的支持较好,分布式环境下,一般不会成为工程效率提升 的瓶颈。针对这类服务,不用急于构建其Mock服务,可以根据其特性,寻找成本较低的实现途径。 分布式文件/对象存储 Tom/assets/product/…0 码力 | 19 页 | 2.74 MB | 1 年前3
全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdash?⟩) Huawei Confidential 5 量子计算的基本原理:纠缠 Particle 1 Particle 2 1 2 ( ↓1 ↓2 + | ↑1⟩| ↑2⟩) 量子计算的并行性 Equals to classical computer operate 2Ntimes Exp: Decry a 400bits integer that used for RSA password,it 提供多种主流的费米子编码方法:Jordan-Wigner, Parity,Bravyi-Kitaev 等 4.提供支持并行计算梯度的 Optimziers,能更快收敛 5.模拟业界最大规模 VQE (C2H4,14 orbitals)(核心技术:高质量初态 ansatz 制 备,有效参数约减,线路优化,并行梯度计算等) 6.支持 GUI 界面友好编程体验 华为量子化学软件包 HIQ Fermion 1:多参数约减算法,可约减高达80% reinforcement learning 和 Monte Carlo 3. 兼容业界主力调控包Qutip等 4. 高性能计算能力(核心技术:新的计算Propagator方法,自主研发的 ODE计算模块,并行计算) 5.支持多比特优化 6. 为用户提供友好GUI 华为量子调控软件包 HIQ Pulse 1: 基于多种新型算法和技术实现量子优化控制算法性能数倍提升 2: 自研新型量子优化控制算法适应更广泛的应用场景0 码力 | 34 页 | 5.57 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊组织架构 核心数据模型 配送服务 配送运力 ⋯ 订单中心 (送什么) 品类 重量 支付状态 运单中心 (配送任务) 运单归属 配送状态 调度中心 (工程框架) 需求池 运力池 并行计算 策略平台 (算法策略) 算法框架 分析平台 经营规划 (目标) 盈亏 绩效 奖惩 业务管理 (过程) 运营工具 任务系统 骑手运营 (人) 任务 活动 等级 静态评估 工具辅助评估 场景压测 全链路压测 垂直拆分 水平拆分 自动归档 冗余备份 容量评估由人到系统 容量提升分阶段实施 快速起量,系统质量、研发效率问题凸显 规模化阶段:并行计算能力 计算能力是智能调度的关键! • 外卖场景下的配送计算能力要求 快速起量,系统质量、研发效率问题凸显 规模化阶段:提升各类运营系统迭代效率 元数据 管理 表单 管理 样式 管理0 码力 | 31 页 | 15.26 MB | 1 年前3
领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进DDD落地与研发融合 架构演进驱动产品与研发 • 降低了整体业务的耦合,各业务独立演化; • 简化了集成关系,降低了集成成本,实现各业务的独立发布; • 驱动组织按领域边界拆分了7~9个特性团队,实现并行研发; 限界上下文的拆分 + 领域模型+ 接口设计/测试 • 支撑产品转型,快速实现业务服务化; • 提升业务逻辑的可复用性,新业务快速扩展 • 人工智能技术低成本快速应用; 架构分层,隔离UI/业务/技术0 码力 | 33 页 | 1.25 MB | 1 年前3
唯品会调度系统的前世今生Quartz Linux系统级的定时任务执行器 缺乏分布式运算和集中管理功能 无法做到高可用 TBSchedule Elatic-Job Java事实任务标准 关注点在定时任务而非数据, 缺少分布式并行调度的功能 阿里早期开源的分布式任务调度系 统,代码略陈旧 作业类型较单一,只能是获取/处理 数据一种模式 当当开源的分布式任务调度系统 代码较新,使用Quartz进行调度。提供 高可用和分布式功能0 码力 | 58 页 | 5.40 MB | 1 年前3
联想-贺钢架构工作在国际化项目中的应用实例目标客户不同: 文化习俗, 客户需求, 用户体验… • 要求不同: 各国法律法规(版权,协议,第三方,accessibility), 安全性和隐私… • 地域不同: 服务器的部署, 用户的访问, 组织架构, 团队沟通… 项目实例 -- XA项目背景及需求 • 多设备协作 PC, Mobile, Pad, Cloud… • 跨设备及云智能搜索 • 语音等多种输入方式 用例示意图 对架构设计的影响I -- 数据中心的设计 数据中心早期架构 数据中心碰到的问题 • 跨国网络引起的技术问题 • 来自法务的问题 • 来自安全部门的问题 数据中心最终方案 用户访问量对应的web架构 用户访问量 服务器架构 百万以下 单台或多台的简单架构,可以简单通过升级服务器 配置支持更多用户 百万到千万 增加Nginx(反向代理)或DNS负载均衡,redis内存 cache,数据库 > 50% • 承认对方和自己一样聪明 对架构设计的影响IV – 登录设计 • 功能: 用户名密码登录 登录相关设计碰到的问题 • 安全关注: 国内服务器 • 两个不同的登录服务器:不同的访问地址,不同的接口,不同的功能 • 不同的开发团队按不同的计划在开发 登录设计方案 Quick Breather 对架构设计的影响V -- 安全要求对架构的影响 • 软件安全趋势 • 针对国际化公司的安全威胁0 码力 | 53 页 | 2.36 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化仅有15%的政务APP提供办事服务,存在“信息有余、服务不足”的问题。 2、下载APP成为负担 政务APP盲目开发泛滥,用户为了办事需要下载多个APP,成为一种负担。 3、优化不足体验差 政务APP接入政务服务,没有结合移动端的访问特性进行移动化改造,用户体验差。 4、缺少持续运营: 政务APP运营维护乏力,版本迭代缓慢,存在大量僵尸应用。 资料来源 CAICT中国信息通信研究院《政务服务APP发展情况研究报告》,2017 各省市政务提供的政务服务公众号,方便了用户查询、办理政务业务 服务。 2.用户无需额外下载安装,即可使用微信公众号进入政务服务。 问题: 1.各厅局委办的公众号之间不能实现账号互信,用户需要记住不同业务 系统的账号密码才能访问。 2.公众号采用H5技术,用户办理过程因加载时间长,导致用户体验不 佳。 3、移动政务应用痛点 VS 核心功能 3 少填少报、少跑快办 1 一次认证、全网通办 2 原生体验、 风格一致 1、封装DGD-SDK公共组件 2、合包工具 3、Taro框架预研 10、API网关 – 限流保护已有系统、提升访问安全性 • 1.业务应用A 向网关申请接入,网关分配paasid、token给业务应用; • 2.业务应用A 使用paasid、token,接入网关,网关进行鉴权;业务应用A在网关上发布服务,或申请授权访问其他服务; • 3.前端小程序向网关请求业务应用A 的接口服务,网关请求业务应用A提供的服务,返回给前端小程序。0 码力 | 35 页 | 15.60 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造按照事件顺序依次通过提问来分析: • 这个事件会改变的领域模型是什什么?明确 领域模型(简单理理解就是事件中的涉及的 业务名词) • 这个领域模型是否可以独⽴立访问?如果是 就是聚合 • 如果不不能独⽴立访问应该需要通过哪个领域 模型来访问?当前领域模型就是与该可独 ⽴立访问的领域模型为同⼀一个聚合 2. 将命令贴在聚合的左⾯面,是聚合的输 ⼊入;事件贴到聚合的右⾯面,是聚合的输 出。 3. 再根据聚合的原则(下⼀一⻚页描述)来0 码力 | 54 页 | 3.85 MB | 1 年前3
共 16 条
- 1
- 2













