唯品会调度系统的前世今生位与选型 需要解决的问题 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 Job A Job B 作业调度器 控制台UI 消息系统 控制、调度结果下发 作业控制 结点监听 作业调度 执行日志 监控日志 日志查询 消息订阅 告警信息 执行结果 统一认证 架构体系 部署模型(跨机房) IDC-A IDC-B 接入域-A 执行结点 作业实现 ZK saturn-zk-* saturn.vip.com 控制台集群 (Tomcat) ZK0 码力 | 58 页 | 5.40 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔降级预案在同程艺⻰龙的⼯工程实践 演讲者 / 王俊翔 同程艺龙 ⾃自我介绍 搜索故障 微信⼩小程序 API⽹网关 资源1 搜索引擎 统⼀一资源⽹网关 资源2 资源3 资源4 …… 资源4 ⼤大量量超时 统⼀一资源⽹网关 搜索引擎 API⽹网关 ⼤大量量请求超时 缺乏熔断设计 交易易故障 第三⽅方⽀支付 ⽀支付中⼼心 ⽀支付回写 消息队列列 ⽀支付通知 交易易中台 serviceC serviceC- degrade 弱依赖 强依赖 强依赖 备选服务 熔断、限流 降级 业界解决⽅方案 - HYSTRIX Netflix开源的一款容错框架,支持多种降级熔断技术 资源隔离 断路路器器 降级操作 请求合并 请求缓存 实践过程中遇到的问题 • 业务改造成本⾼高,代码耦合,维护成本增⾼高 • 固化策略略,需线下修改代码,测试,发布,线上应急策略略响应不不 发现潜在故障,多维度验证预案 有效性,评估系统可靠性,提供 降级策略略、参数调整的优化依据 整体架构 Agent 服务降级注册 降级熔断通知 元数据存储 控制 中⼼心 ETCD ETCD ETCD ETCD 服务注册监听 降级控制中⼼心 元数据 TurboMQ 熔断降级监听 Application Application Application SDK 熔断降级接⼊入0 码力 | 26 页 | 18.67 MB | 1 年前3
全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdash合计算是发挥其应用潜力的最重要途径之一! 华为量子计算云服务2.0,功能和性能全面大幅提升 量子应用 量子算法库 量子编程框架 量子控制 量子芯片 模拟器 化学模拟 组合优化 人工智能 模拟算法 优化算法 学习算法 编程语言 编译器 资源管理 资源调度 量子纠错 控制脉冲 量子-经典接口 超导 离子阱 金刚石色心 HiQ 1.0 展开 HiQ 2.0 展开 HiQ 2.0 量子化学 量子调控 Framework 升级 HiQ Simulator 提供丰富 Ansatzes 选项 兼容多种常用化学 软件 Drivers 实现 VQE 业界最 大规模分子模拟 包含丰富的控制脉 冲库 兼容业界多款优化 控制软件 运行速度数倍加速 合作高校实验平台 演示 全新设计IDE界面 上线Block UI编 程模式 推出 mapper功 能 开放 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
QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+移动后台打散 轻业务上浮 重业务下沉 API接入 指标监控 配置管理 业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制 Ng+ LUA 流量调度 降级 限流 灰度 接口分发 ??� FNS Fund 宜睿 P2P BASE 统一接口标准 措施:剥组件[深度定制网关] API接入 指标监控 配置管理 业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制 Ng+ LUA 流量调度 降级 限流 灰度 接口分发 运营活动动态配置,接口重新编排 热点功能前置,网关分发许可限流,保护底层 -------Joe Armstrong 关键点 分而治之,缩小竞争面 加速资源交换,更快响应 共享资源串行操作 数据一致性(脏读,丢失更新等) 业务纵向拆分,化整为零 资源拆分,横向扩展 cache,index,partition parallel non-blocking sync、lock,cas0 码力 | 42 页 | 19.96 MB | 1 年前3
领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践01 架构升级的效果 02 架构升级的思考 03 架构升级的实践 架构升级的思考 现有架构的问题? 现有架构的问题 同步等待 • 现有同步模型,线程 多 load ⾼高 • 资源利利⽤用率 应⽤用本身的解决⽅方案? 并⾏行行度有限 • ⽆无法纯业务依赖并发 • 微服务化让问题更更凸 显 • RT 累积 RT 与 ⽤用户增⻓长 RT 累积带来成本 • ⾯面向数据 • 操作、组合 ⾯面向流 • 业务逻辑 → 数据变换 • 数据变换 → 业务逻辑 数据 vs 逻辑 ⾯面向流编程是 ⾯面向数据编程 流式架构 流 分布式 性能 并发控制 业务编写 流 - 业务编写 创建 just / from* / range / repeat /interval / timer 过滤 filter / take / skip 完备、更更⾼高级、更更快捷 requestFlow .buffer(10, MILLISECONDS, 16) .flatMap(service::batchOps) 流 - 并发控制 切过 Scheduler是指: • 远程调⽤用已经异步化,所以是已经且过 Scheduler • 可以⼿手⼯工切 Scheduler (subscribeOn / observeOn)0 码力 | 27 页 | 1.13 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道我写了个消息Consumer,布到线上准备测测,结果,别人的消 息先到了,一下把我的预置数据全搞乱了… 7. 我的开发机性能还行,我想自己装一套依赖环境提高开发调测 效率,结果消息服务、缓存服务、服务框架装完一启动,80% 的系统资源就没有了,想想还有一堆的应用服务还没装,直接 泪崩… 8. 办公区断网,所有线上依赖环境都无法访问了,得,今天啥也 干不了了,回家洗洗睡吧…. … ….. ……… 1 2 3 解决之道 分布式服务框架mock能力构建 应用 服务容器(Consumer) Filter Chain 将mock能力内置到分布式服务框架中 开发mock能力过滤器,在服务调用链路上对服务调用进行挡截。 “开关机制”控制mock能力启停 mock能力启用时,服务容器初始化期间将加载mock数据文件到内存中,每个服务请求将和mock数据的入参定 义进行比对,满足(静态匹配 或动态匹配)规范的请求,直接用mock数据的出参定义作为服务调用的结果。 提供消息的发布、暂存、订阅、消费处理能力 代理门面 将MQ的调用用代理模式做一层封装。 开关机制 支持多级开关切换 消息预取 通过消息预判定,解决找不到消费者导致消息被抛弃 的问题。 优势:能用极低的资源损耗实现单机环境下对分布式 MQ服务的仿真模拟 分布式MQ服务 Producer2 …. Broker2 Topic1-q3 Topic2-q2 Topic3-q1 Broker3 …0 码力 | 19 页 | 2.74 MB | 1 年前3
ServiceComb 开源微服务框架技术演进之路 巨震• 何为Service Mesh • 演进:从SDK到Service Mesh • 拥抱Service Mesh开源生态 • 相关资源 #微服务 #Service Mesh #Sidecar #云原生 #SDK #数据面,控制面 大纲 服务形态的演进 SDK SDK SDK SDK proxy proxy proxy proxy • Handler chain接入不同生态,不依赖Mixer Istio Pilot Proxy SDK Discovery Config xDS API Server 控制面接口层 拥抱Cloud Native技术 • sidecar-injector 满足条件: • Kubernetes 1.9 or later • MutatingAdmissionWebhook开启 –c40 -n20 –d10s http://client-host:port client server http payload payload size is: n bytes 相关资源 • Apache ServiceComb项目网站 http://servicecomb.apache.org/ • ServiceComb混合部署示例项目0 码力 | 20 页 | 861.58 KB | 1 年前3
付钱拉金融云系统架构演进和最佳实践7.用户敏感数据做数据脱敏 8.预防页面被频繁请求,占用系统资源 9.预防API被频繁请求,占用系统资源 规范(续) SPECIFICATION (CONTINUED) 三 性能规范 1.常见OOM预防 2.禁止应用中显式创建线程,避免不可控出现unable to create new native thread 3.控制select/update/delete/insert的数据级和可变集合的size,避免随着业务增加 动多个线程,影响系统性能 定时器浪打浪情况下,如果定时任务处理过慢会导致内存耗尽 12.避免系统中出现单点故障,包括中间件和应用程序等所有的节点 13.能异步处理的别同步处理,异步可以释放线程资源,避免阻塞,提高响应效率 14.随着业务量的增加,考虑功能拆分和数据库表拆分,除此支付系统建议按照通道 拆分,不同的通道指定独立的work线程,分而治之,避免相互之间影响;提高并发的一个思路就是拆分,0 码力 | 35 页 | 6.05 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践www.163yun.com 设计要点亓:数据库横向扩展 www.163yun.com 设计要点六:缓存的设计 APP缓存 CDN 接入层 静态资源 动态资源静态化 应用本地缓存 分布式缓存 数据库为中心 缓存为中心 www.163yun.com 设计要点七:消息队列与异步化 www.163yun 调用审计 - 统一API规范与接口管理 - 基于ak/sk的认证鉴权 - 服务/API审计与调用分析 - 不同维度故障隔离、服务熔断与降级 - 不同维度的灵活流量控制 - 自定义分流插件 …… www.163yun.com 从API网关到Service Mesh 目前G0/G1网关在一定程度上充当了“代理”的角色,基 于Java语言实现0 码力 | 39 页 | 3.06 MB | 1 年前3
苏宁易购小程序架构实践 苏宁 禹立彬转化率 3 小程序业务组件 CONTENTS • 使用原生的方式开发,没有使用wepy等框架 • 分包加载,主包原则只放购物主流程 • 尽量压缩业务代码,减少文件大小 • 控制基础库版本,减少对用户的影响 request,登录与302 request,登录与302 在网页状态下运行良好的登录机制,在小程 序下,无法兼容。 loginRequest组件 将cookie作为hash拼接到URL中 • 内嵌的web页面用JS取hash里的cookie参数,document.cookie写入 • cookie写入后,登录状态存续 • 页面本身不需要登录,限制资源请求在cookie写入后 • cookie不能是http only Webview + 后端中转 发起真正的请求前将cookie,POST 到后端服务,获得cookie对应的key ,然后请求0 码力 | 36 页 | 833.39 KB | 1 年前3
共 23 条
- 1
- 2
- 3













