唯品会调度系统的前世今生位与选型 需要解决的问题 1 6 4 3 2 … 异构/多语言难以支持 5 缺乏统一监控、统一管理 (进程假死、运行状态未知) 缺乏容错、容灾,高可 用 缺乏分布式处理 无法合理利用机器资源 难以问题追踪 选型对比 Crontab Quartz Linux系统级的定时任务执行器 缺乏分布式运算和集中管理功能 无法做到高可用 TBSchedule Elatic-Job Java事实任务标准 功能单一,只支持Java,不支持 Shell(PHP)和消息驱动的作业调度 对任务超时、任务执行情况、监控逻辑 支持粒度功能较单一或缺乏 没有容器化选型? 调度产品的定位 简易开发、简单维护 高可用、分片并发处理、资源调度动态平衡 支持Java、Shell以及本地模式(VIP还支持消息模式) 统一配置、统一监控、统一管理 VIP弹性调度系统 -- Saturn 开源地址: Github.com/vipshop/Saturn 多种作业类型与 作业模式 资源动态平衡 框架与业务隔离 三大功能特性 Shell作业 消息作业* JAVA作业 分布式与本 地作业模式 • 完美兼容现有PHP的作业,可无缝迁移,成本最低 • 提供多种业务开发模式,满足不同的业务需求 • 多种业务运行模式,即可分布式管理也可本地管理 • 通过异步消息实现业务编排* 多种作业类型 人工指定 运行节点 系统自动 平衡负载 资源利用 • 灵活的运维配置与部署0 码力 | 58 页 | 5.40 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔降级预案在同程艺⻰龙的⼯工程实践 演讲者 / 王俊翔 同程艺龙 ⾃自我介绍 搜索故障 微信⼩小程序 API⽹网关 资源1 搜索引擎 统⼀一资源⽹网关 资源2 资源3 资源4 …… 资源4 ⼤大量量超时 统⼀一资源⽹网关 搜索引擎 API⽹网关 ⼤大量量请求超时 缺乏熔断设计 交易易故障 第三⽅方⽀支付 ⽀支付中⼼心 ⽀支付回写 消息队列列 ⽀支付通知 交易易中台 serviceC serviceC- degrade 弱依赖 强依赖 强依赖 备选服务 熔断、限流 降级 业界解决⽅方案 - HYSTRIX Netflix开源的一款容错框架,支持多种降级熔断技术 资源隔离 断路路器器 降级操作 请求合并 请求缓存 实践过程中遇到的问题 • 业务改造成本⾼高,代码耦合,维护成本增⾼高 • 固化策略略,需线下修改代码,测试,发布,线上应急策略略响应不不 应⽤用、服务、策略略产品化、数据化 • 应⽤用、服务指标实时监控,健康状态评估 • 实时监测服务降级执⾏行行状态,降级发⽣生点数据 快照及时回溯 • 降级策略略管理理 • 多种策略略⽅方案:失效备援、服务熔断、资源隔 离、延迟处理理 • 策略略灵活调整,实时监控策略略运⾏行行状态 应⽤用 / 服务 降级代码管理理 • 线上代码开发、测试、发布 • 降级代码统⼀一管理理 • 脚本代码动态编译,对象管理理0 码力 | 26 页 | 18.67 MB | 1 年前3
领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践01 架构升级的效果 02 架构升级的思考 03 架构升级的实践 架构升级的思考 现有架构的问题? 现有架构的问题 同步等待 • 现有同步模型,线程 多 load ⾼高 • 资源利利⽤用率 应⽤用本身的解决⽅方案? 并⾏行行度有限 • ⽆无法纯业务依赖并发 • 微服务化让问题更更凸 显 • RT 累积 RT 与 ⽤用户增⻓长 RT 累积带来成本 • data) -> acc + data); 流 - 性能 全异步、流式 CPU数个业务线程 更更少的上下⽂文切换、更更少(⽆无)的竞争、更更低的LOAD 业务等效依赖的异步并发 更更⾼高效的资源利利⽤用率 Universal Scalability Law 系统流⽔水线并⾏行行处理理 流 - 分布式 � ) �� �� �� �� �� �� �� ��� �� �� �� • 回压 • 三⻆角模式透传 • 业务快速截⾯面创新 • … 流的概念分层 业务编程框架(⾯面向业务) • 核⼼心概念:流 • 业务涉及的⼤大量量/强⼤大操作 • 流程编排、全异步化 规范(⾯面向系统底层) • 核⼼心:4个接⼝口 + 7个⽅方法 • 远程化、业务框架对接规范 • 业务开发底层规范 理理念(⾯面向系统架构) • 系统应有的能⼒力力 •0 码力 | 27 页 | 1.13 MB | 1 年前3
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制 Ng+ LUA 流量调度 降级 限流 灰度 接口分发 运营活动动态配置,接口重新编排 热点功能前置,网关分发许可限流,保护底层 接口req/resp重写,透明操作 全功能API配置,热加载 方案: nginx、 istio spring-gateway、linkerd、zuul -------Joe Armstrong 关键点 分而治之,缩小竞争面 加速资源交换,更快响应 共享资源串行操作 数据一致性(脏读,丢失更新等) 业务纵向拆分,化整为零 资源拆分,横向扩展 cache,index,partition parallel non-blocking sync、lock,cas0 码力 | 42 页 | 19.96 MB | 1 年前3
领域驱动设计&中台/架构分层模型适配前端应⽤用 前端应⽤用 ⼲干系⼈人: 终端⽤用户 诉求: 良好的⽤用户体验 技术点: ⼈人机交互设计和实现 UX关注的层 DDD分层参考架构 为前端和第三⽅方应⽤用提供API服务,关注服务编排,事务和 分布式等 前端应⽤用 应⽤用服务 业务领域 基础设施 ⼲干系⼈人: 应⽤用开发⼈人员 诉求: 灵活易易使⽤用的API 技术点: 性能,事务,分布式,安全等⾮非功能性需求 如何从⼀一盘散沙到百万雄师 百万雄师的铸造秘密 — 踢正步 叠被⼦子 知⾏行行合⼀一 每个⼈人⽇日常就能做到 在⽇日常最细微处抵抗懒散腐化 坚持塑造纪律律 DDD分层架构 不不同模型适配(名词) 资源模型: 应⽤用想要⼀一把查询获取所有信息,⼀一个操作做完业务 前端应⽤用 API服务 业务领域 基础设施 业务模型: 精确表达⼀一个业务概念,分治管理理复杂度 存储模型: 性能最优化 DDD分层架构 POST GET PUT DELETE 前端应⽤用 API服务 业务领域 基础设施 业务操作: 注册 注销 登录 退出 修改 撤销 存储动作: INSERT UPDATE DELETE 资源模型: 应⽤用想要⼀一把查询获取所有信息,⼀一个操作做完业务 业务模型: 精确表达⼀一个业务概念,分治管理理复杂度 存储模型: 性能最优化 不不同层级的模型坚决隔离, 严格⼀一对⼀一翻译映射,不不准复⽤用0 码力 | 39 页 | 2.54 MB | 1 年前3
陈辉-架构师的业务思维理解清楚当前需求 具有业务前瞻性 不要过度设计 怎么运用?CASE I 流量承接 主播互动 商场促销活动 玩法承接 不断的优化和迭代 试错远远大于成功 新需求频繁 组件化 规则配置化 流程编排 玩法天生就是一个不断试错的业务 组件化+数据监控+业务复盘 数据跟踪和定量跟踪 跳出技术思维 需要的快速试错并拿到结果的能力 理解清楚当前需求 具有业务前瞻性 不要过度设计 怎么运用?CASE0 码力 | 32 页 | 3.18 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地服务运⾏行行治理理 服务 部署 运⾏行行架构治理理 故障 分析 定义架构 约束条件 微服务架构设计 服务地图 设计 API设计 部署架构设计 微服务⼯工程创建 开发 框架 架构 ⻛风格 资源 配置 … 架构演进 服务 关系 分析 代码 质量量 分析 数据 库分 析 领域 模型 分析 运⾏行行资 源管理理 PaaS、 容器云资 源管理理 公共 部分 产品、⼈人 员维护 ⽣生产环境 部署架构设计 测试环境 部署架构设计 绘制部署架构,组合服务和 部署元素 部署架构变更更历史 推荐部署架构(远期规划) 微服务开发框架定制 代码架构⻛风格选择 资源配置 数据库版本管理理 是否⾃自动⽣生成API/ Dockerfile/流⽔水线 ⽣生成 代码 到GIT 仓库 架构分析- 从契约反向识别实现与模型差异 架构分析- 架构Fitness 获得运⾏行行架构、实例例状态 ELK⽅方 案 对接资源室 获得组织结 构 对接175产品 定义管理理 Fitness Function执 ⾏行行引擎 集成Sonar Server 对接容器云 PaaS API变更更历史 部署架构变更更评审 定义 契约 契约变 更更评审 未评审 契约 提⽰示 已申请资源 登记 服务部署 脚本⽣生成 部署架构 推到⽬目标0 码力 | 42 页 | 2.95 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道我写了个消息Consumer,布到线上准备测测,结果,别人的消 息先到了,一下把我的预置数据全搞乱了… 7. 我的开发机性能还行,我想自己装一套依赖环境提高开发调测 效率,结果消息服务、缓存服务、服务框架装完一启动,80% 的系统资源就没有了,想想还有一堆的应用服务还没装,直接 泪崩… 8. 办公区断网,所有线上依赖环境都无法访问了,得,今天啥也 干不了了,回家洗洗睡吧…. … ….. ……… 1 2 3 解决之道 提供消息的发布、暂存、订阅、消费处理能力 代理门面 将MQ的调用用代理模式做一层封装。 开关机制 支持多级开关切换 消息预取 通过消息预判定,解决找不到消费者导致消息被抛弃 的问题。 优势:能用极低的资源损耗实现单机环境下对分布式 MQ服务的仿真模拟 分布式MQ服务 Producer2 …. Broker2 Topic1-q3 Topic2-q2 Topic3-q1 Broker3 … data1 score2 data2 … … 其它分布式服务的调测支持 对象存储 1.分布式环境下,为不同开发团队/人员配置独立的文件路径(Direction、Bucket)可以有效进行资源隔离。 2.单机环境下,可以参考MQ,采用本地File I/O实现的存储机制来mock 。 DataBase SandBox 1.为每个开发人员或测试人员提供一个单独(schema/catalog)的测试数据库。0 码力 | 19 页 | 2.74 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践和第三方系统交互需要互加白名单确保安全 5.系统全站提供HTTPS服务 6.和第三方系统交互报文需要加密传输 7.用户敏感数据做数据脱敏 8.预防页面被频繁请求,占用系统资源 9.预防API被频繁请求,占用系统资源 规范(续) SPECIFICATION (CONTINUED) 三 性能规范 1.常见OOM预防 2.禁止应用中显式创建线程,避免不可控出现unable to create 动多个线程,影响系统性能 定时器浪打浪情况下,如果定时任务处理过慢会导致内存耗尽 12.避免系统中出现单点故障,包括中间件和应用程序等所有的节点 13.能异步处理的别同步处理,异步可以释放线程资源,避免阻塞,提高响应效率 14.随着业务量的增加,考虑功能拆分和数据库表拆分,除此支付系统建议按照通道 拆分,不同的通道指定独立的work线程,分而治之,避免相互之间影响;提高并发的一个思路就是拆分,0 码力 | 35 页 | 6.05 MB | 1 年前3
全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdash华为量子计算云服务2.0,功能和性能全面大幅提升 量子应用 量子算法库 量子编程框架 量子控制 量子芯片 模拟器 化学模拟 组合优化 人工智能 模拟算法 优化算法 学习算法 编程语言 编译器 资源管理 资源调度 量子纠错 控制脉冲 量子-经典接口 超导 离子阱 金刚石色心 HiQ 1.0 展开 HiQ 2.0 展开 HiQ 2.0 量子化学 量子调控 编程框架 线路模拟 新增 HiQ Jordan-Wigner 1440 1092 Parity 1364 1344 Bravyi-Kitaev 1184 1092 Transforms Gates H2 LiH BeH2 资源估计 量子化学GUI HiQ Pulse: 全面的云上脉冲设计平台 量子调控 业界现状 量子芯片的挑战 外围测控设备的问题 量子计算能否实现,需要增加 量子比特的数量同时提高比特 的 质量。0 码力 | 34 页 | 5.57 MB | 1 年前3
共 18 条
- 1
- 2













