高性能高可用机票实时搜索系统
⾼性能⾼可⽤机票实时搜索系统 去哪⼉⺴ 梁启康 议题 系统诉求 海海量量数据 设计思路路 搜索框架 报价引擎 待解问题 系统诉求 • 全⽹网价最低 • 航线报价最全 • 实时性最好 • 产品最丰富 • 预定最流畅 ⾯面临问题 航班舱位时刻变动 供应商规则调整密集 航司政策各有不不同 供应商的office权限不不⼀一致 运价规则变化繁多 GDS数据成本不不菲 • Date • Integer • Set • byte, byte[] • short, short[] • int, int[] • obj pool 报价引擎 — 性能优化 • 异步、并⾏行行、⽆无锁化 • 剪枝 • 空间换时间 • 缩短对象驻留留内存时间,减少gc次数,优化单机吞吐 • 数据交换采⽤用protobuf + gzip处理理 •0 码力 | 26 页 | 1.94 MB | 1 年前3全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdash
simultaneously 经典计算机的量子物理极限:《摩尔定律》的失效 算力代表着未来 《摩尔定律》失效 表明未来算力依赖 于量子领域的探索 摩尔定律: 集成电路上的晶体管数目 每隔18个月翻倍,性能也会 翻倍 一般业界认为量子 计算的应用如下: • 量子化学模拟 • 量子材料模拟 • 量子优化问题 • 量子机器学习 • 量子密码系统 • 量子精密测量 • 量子启发算法 量子计算优势 基于硬件的量子调控 量子-经典混合计算 随着量子工艺和调控技术的进步,“可用”量子 比特数在短期内将达到50-100个,量子-经典混 合计算是发挥其应用潜力的最重要途径之一! 华为量子计算云服务2.0,功能和性能全面大幅提升 量子应用 量子算法库 量子编程框架 量子控制 量子芯片 模拟器 化学模拟 组合优化 人工智能 模拟算法 优化算法 学习算法 编程语言 编译器 资源管理 资源调度 量子纠错 和 Monte Carlo 3. 兼容业界主力调控包Qutip等 4. 高性能计算能力(核心技术:新的计算Propagator方法,自主研发的 ODE计算模块,并行计算) 5.支持多比特优化 6. 为用户提供友好GUI 华为量子调控软件包 HIQ Pulse 1: 基于多种新型算法和技术实现量子优化控制算法性能数倍提升 2: 自研新型量子优化控制算法适应更广泛的应用场景 HiQ Pulse0 码力 | 34 页 | 5.57 MB | 1 年前3高可用分布式流数据存储设计-李玥
分布式实时计算和⾼高可⽤用分 布式系统架构等技术领域。 从事互联⽹网研发、架构10余年年,曾在浪潮集团、当当⽹网等公司从事架构相关⼯工作。2017年年加⼊入京东,期间提升京 东商城相关系统的性能和吞吐量量数倍。 ⽬目前致⼒力力于推进京东基础架构技术的创新、对外赋能与开源。 ⽬目录 Why 有什么用? What 如何定位?如何融入生态系统? How 如何实现?如何优化? Hive 统⼀一的流数据存储平台 我们的愿景 Services Streaming Storage Data 有序 Append only:尾部写入,不变 顺序读取 分布式 高性能 可靠性 顺序一致性 (近乎)无限容量 我们需要什什么样的存储? WHAT Pub/Sub Powered by United Stream Store Streaming Connector Connector Distributed Application Coordinating Service Binlog Replication 挖坑填坑 带你 废话少说 HOW 性能 计算机到底有多快? CPU 3 GHz 内存 20 GB/s SSD 1 GB/s 1 ns 6, 000 ns 70, 000 ns 1 ms = 1, 000, 000 ns JournalQ有多快?0 码力 | 36 页 | 6.02 MB | 1 年前3领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践
• ⾯面向数据 • 操作、组合 ⾯面向流 • 业务逻辑 → 数据变换 • 数据变换 → 业务逻辑 数据 vs 逻辑 ⾯面向流编程是 ⾯面向数据编程 流式架构 流 分布式 性能 并发控制 业务编写 流 - 业务编写 创建 just / from* / range / repeat /interval / timer 过滤 filter / take 业务顺序编写 并发⽅方式执⾏行行 • 不不同的流 • ⽆无依赖 • 切过 Scheduler 就可以⾃自动并发 多流并发 • 业务按照语义顺序编写 • 更更友好的控制并发 维护性 和 性能 更更优! 优雅控制 processors.flatMap(processor -> processor.process(request)) .filter(Result::isSuccess) filter(Result::isSuccess) .map(Result::getData) .reduce(0, (acc, data) -> acc + data); 流 - 性能 全异步、流式 CPU数个业务线程 更更少的上下⽂文切换、更更少(⽆无)的竞争、更更低的LOAD 业务等效依赖的异步并发 更更⾼高效的资源利利⽤用率 Universal Scalability0 码力 | 27 页 | 1.13 MB | 1 年前3微服务和Service Mesh 在多个行业落地实践
配置 中心 服务 监控 服务 告警 认证 鉴权 统计 概览 知识 库 APM (应用运行期监控) 运行时 拓扑 性能 监控 服务 筛选 调用 链 调用 栈 JVM 监控 数据库 监控 性能 告警 自定义 数据 服务 告警 监控 大屏 账户 审计 CICD (开发流程管理) 代 码 检 出 代 码 编 译 镜 仓库 历史 管理 批量 导入 接口 监控 www.163yun.com 多样需求 持续集成 中台化 PaaS托管 容器化 分布式事务 服务治理 全链路压测 性能监控 注册发现 服务管理 www.163yun.com ZIP源码包 持续集成 重新开发 迭代修改 个性开发 统一模版 接口统一 利于复用 文档一致 减少沟通 com 网易容器平台优势 集群规模大:30000+节点 生产检验时间长:国内首个K8S公有云容器平台稳定运行1000+天 全球首批通过K8S一致性认证 基于OVS的网络性能优化 基于Ceph的存储性能优化 多集群统一管理 www.163yun.com 某物流企业 www.163yun.com 线上 系统A API网关 (流量接入层) 路由 路由 插件0 码力 | 39 页 | 3.06 MB | 1 年前3QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+
业务高速发展下的 互联网金融系统架构演变 演讲者/张现双� 自我介绍 张现双,宜人贷研发架构师,移动后台负责人,负责 移动后台的技术研发和系统架构设计,并随着业务增长持续 不断的进行性能优化和系统架构升级。 从事过研发、运维、dba等工作,在应对互联网系统流 量、并发、安全、一致性问题等方面有一些经验。 翻译出版专著:《可伸缩架构:面向增长应用的高可用》 N多业务排队上线,瓶颈明显 热点场景频发,影响单体稳定 2pizza团队,系统单体制约 商城 核心服务 业务 网贷 保险 基金 商城 财富圈 健康财富 加密 验签 拦截 校验 安全 性能 并发 幂等 交易 缓存 基础服务 消息 监控 配置 报警 MIS OpenAPI 微信 财富圈 移动后台 商城MIS WAP … … Android/ios/h5/php/openApi 业务节点 业务数据 业务数据统计 监控 数据流 系统统计 经典流式计算架构,流水线策略,线性扩展 高性能监控核心,灵活的监控策略 关键词模式、上下文模式、时间窗口模式等 轻量、高效、稳定,0侵入 日志监控平台 微信 微信/邮件/短信 高可靠,高响应 高性能 灵活配置 谈点感想 感想 01 微服务≠spring cloud≠容器化≠RPC 工具/框架是手段而不是目的0 码力 | 42 页 | 19.96 MB | 1 年前3领域驱动设计&中台/架构分层模型适配
为前端和第三⽅方应⽤用提供API服务,关注服务编排,事务和 分布式等 前端应⽤用 应⽤用服务 业务领域 基础设施 ⼲干系⼈人: 应⽤用开发⼈人员 诉求: 灵活易易使⽤用的API 技术点: 性能,事务,分布式,安全等⾮非功能性需求 API服务 ⼯工作内容: • 接收外部请求并响应: 如HTTP请求, 消息处理理 • 事务管理理 • 认证 • 缓存 • ⽇日志 • 异常处理理 不不同模型适配(名词) 资源模型: 应⽤用想要⼀一把查询获取所有信息,⼀一个操作做完业务 前端应⽤用 API服务 业务领域 基础设施 业务模型: 精确表达⼀一个业务概念,分治管理理复杂度 存储模型: 性能最优化 DDD分层架构 不不同模型适配(动词) HTTP⽅方法: POST GET PUT DELETE 前端应⽤用 API服务 业务领域 基础设施 业务操作: 注册 注销 登录 退出 撤销 存储动作: INSERT UPDATE DELETE 资源模型: 应⽤用想要⼀一把查询获取所有信息,⼀一个操作做完业务 业务模型: 精确表达⼀一个业务概念,分治管理理复杂度 存储模型: 性能最优化 不不同层级的模型坚决隔离, 严格⼀一对⼀一翻译映射,不不准复⽤用 DDD分层架构治理理 HTTP⽅方法: POST GET PUT DELETE 前端应⽤用 API服务0 码力 | 39 页 | 2.54 MB | 1 年前3付钱拉金融云系统架构演进和最佳实践
和第三方系统交互报文需要加密传输 7.用户敏感数据做数据脱敏 8.预防页面被频繁请求,占用系统资源 9.预防API被频繁请求,占用系统资源 规范(续) SPECIFICATION (CONTINUED) 三 性能规范 1.常见OOM预防 2.禁止应用中显式创建线程,避免不可控出现unable to create new native thread 3.控制select/update/delete/in 响数 据库性能并且多个操作可能在并发下导致数据库死锁 9.数据库单表达到一定数据量级需要做分库分表或者冷热数据隔离,避免业 务增加带来的性能问题 10.尽量避免使用全局变量防止并发出现线程安全问题,从而影响业务 11.定时器问题预防 定时器浪打浪情况下,任务重复处理会导致资金风险,建议使用redis避免 定时器浪打浪情况下,启动多个定时器即默认启动多个线程,影响系统性能 定时器浪打0 码力 | 35 页 | 6.05 MB | 1 年前3海尔实时计算平台技术选型与实践
Flink Ganglia Sqoop zeppelin Saiku Caravel CBoard Nagios 实时数据采集技术选型要求 • 完整 • 低延时 • 不影响业务系统性能 代码埋点: • 优点:采集能力强 • 缺点:时间、人力成本大 实时数据采集-数据如何获取? 可视化埋点: • 优点:成本低,速度快 • 缺点:行为记录信息少,支持的分析方式少 • Flume Mysql CDC可选方案: • Canal Postgresql CDC 建议方案 BottledWater: • 支持postgresql 9.4及以后版本 • 几乎不影响数据库本身性能 • 事务一致性的输出 • 容错 上图摘自confluent官网 Flume适合: • 日志收集 • 日志传输 • 拦截数据 消息队列适合: • 消息持久化 • 解耦 推荐:Flume+ • Spark • Flink Core Storm or Storm Trident? Storm Trident: • Batch • Exactly-once 选型考虑 : • 性能 • 状态 Storm流式日志处理常见架构 Applicaton Logback FlumeA ppender Flume Log Messages Kafka Queue Kafka0 码力 | 41 页 | 3.21 MB | 1 年前3分布式 KV 存储系统 Cellar 演进之路
中心化集群问题 • 可用性问题 • 性能问题 • 运维问题 Cellar起源—Tair问题 Cellar起源 架构升级 性能优化 可用性优 化 可运维性 Cellar 开源 Tair • Cellar起源 • 中心节点架构演进 • 节点高可用和异地容灾 • 服务可用性提升 • Cellar规划 目录 Cellar—中心节点架构演进 • 性能问题 客户端集中获取路由表 • 隔离性问题0 码力 | 34 页 | 1.66 MB | 1 年前3
共 20 条
- 1
- 2