2.1.5 千万级高性能长连接Go服务架构实践GO CN 千万级高性能长连接Go服务架构实践 彭宝江 百度公司 资深研发工程师 统一长连接服务背景 01 统一长连接服务介绍 02 统一长连接服务架构 03 统一长连接golang实践 04 总结和规划 05 01统一长连接服务背景 ’ alt=‘OCR图片’/> 什么是长连接 长连接 长连接 APP生命期常驻 支持全双工上下行 提升实时性、互动性 应用场景:消息&直播&PUSH ’ alt=‘OCR图片’/> 统一长连接服务背景 ’ alt=‘OCR图片’/> 02统一长连接服务介绍 ’ alt=‘OCR图片’/> 支持的业务场景 业务 支持能力 推送场景 推送预计UPS 消息 请求转发下行推送 单播/批量单播 万级 直播 请求转发下行推送 组播 千万级 云控 请求转发下行推送 批量单播 百万级 PUSH 请求转发下行推送 批量单播 百万级 统一长连接-功能目标 统一长连接-功能目标 功能目标 服务能力 服务特性 服务接入 ’ alt=‘OCR图片’/> 统一长连接-性能目标 性能项 性能支持 说明 并发连接数 千万级长连接 支持横向扩容 下行QPS 百万级批量单播推送千万级组播推送 支持横向扩容 服务延时 毫秒级 - ’ alt=‘OCR图片’/> 统一长连接设计目标 稳定性 少出问题 快速恢复 高性能 高并发 高实时0 码力 | 34 页 | 1.24 MB | 1 月前3
Golang在接入层长连接服务中的实践-黄欣## Golang 在接入层长连接服务中的实践 黄欣 基础平台—架构部 - 背景 - 架构 - 心得 ## 目录 - 背景 - 架构 - 心得 ## 目录 ## 背景—why 长连接? - 业务场景 - 大量实时计算 - 司机乘客撮合 - 实时计价 - 高频度的数据交互 - 坐标数据 - 计价数据 - launcher: 接收连接,接收请求,go出去,等待业务层返回结果,并write back business:业务代码,拿到请求自行处理,完事之后return到laucher backend:和长连接系统中的其他模块异步通信模块 storage:和存储交互模块,提供统一的封装 util:其他通用模块(时间轮、对象池、wait封装等) ## 心得—coding-实现 • 过程编程 - route0 码力 | 31 页 | 1.67 MB | 2 年前3
Tornado 6.4 Documentation
0 码力 | 268 页 | 1.09 MB | 2 年前3
Tornado 6.4 Documentation
0 码力 | 268 页 | 1.09 MB | 2 年前3
Tornado 4.5 Documentation
0 码力 | 222 页 | 833.04 KB | 2 年前3
消息中间件RocketMQ原理解析 - 斩秋分布式事物消息落地.....12 第二章 consumer.....14 一:consumer 启动流程.....15 二:消费端负载均衡.....17 三:长轮询.....20 四:push 消息—并发消费消息.....24 五:push 消费-顺序消费消息.....26 六:pull 消息消费.....28 七:shutdown 发送消息只发送到 master 的 broker 机器,在通过 broker 的主从复制机制拷贝到 broker 的 slave 上去 ## 二 :Producer 如何发送消息 Producer 轮询某 topic 下的所有队列的方式来实现发送方的负载均衡 Producer 如何实现轮询队列: Producer 从 namesrv 获取的到 Topic_A 路由信息 TopicPublishInfo --ListmessageQueueList //Topic_A 0 码力 | 57 页 | 2.39 MB | 1 年前3
RocketMQ v3.2.4 开发指南3.1 按照 Message Id 查询消息 ..... 20 7.3.2 按照 Message Key 查询消息 ..... 20 7.4 服务器消息过滤 ..... 21 7.5 长轮询 Pull ..... 22 7.6 顺序消息 ..... 22 7.6.1 顺序消息原理 ..... 22 7.6.2 顺序消息缺陷 ..... 22 7.7 事务消息 ..... 0 版本开始支持同步双写。 ### 4.7 Low Latency Messaging 在消息不堆积情况下,消息到达 Broker 后,能立刻到达 Consumer。 RocketMQ 使用长轮询 Pull 方式,可保证消息非常实时,消息实时性不低于 Push。 ### 4.8 At least Once 是指每个消息必须投递一次 RocketMQ Consumer 先 pull 消息到本地,消费完成后,才向服务器返回 也可以部署多个。每个 Broker 与 Name Server 集群中的所有节点建立长连接,定时注册 Topic 信息到所有 Name Server。 ■ Producer 与 Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从 Name Server 取 Topic 路由信息,并向提供 Topic 服务的 Master 建立长连接,且定时向 Master 发送心跳。Producer 完全无状态,可集群部署。0 码力 | 52 页 | 1.61 MB | 1 年前3
张波-虎牙直播在微服务改造中的实践MESH MEETUP #6 广州站 ## 虎牙直播在微服务改造中的实践 张波 虎牙基础保障部中间件团队负责人 2019.8.11 ## 微服务改造事项 数据库故障恢复时间长 服务故障牵引慢,流量接入生效时间长 DNS生效慢 内部服务无 就近接入能 服务性能下降流量不摘除 DNS-F在数据库场景的落地  ## 背景 负载均衡变更需要更新配置发布后才能生效,节点扩缩容,屏蔽操作需要人工参与,流量接入接出时间长  ## 目标 流量接入接出时长低于30秒 /0/2/7/7/02778e7136ba92d454ae313dec65f51e/p7_1.jpg) 服务端下发文件更新配置,更新配置生效时间长,由于需要预先知道负责均衡集群的机器信息,扩缩容需要等元信息同步以后才能接入流量,扩容流量接入时间长 ## 配置IP方式 负载均衡配置固话在配置文件中,节点操作需要人工上系统操作增减节点 。 95 参数名称必须配 范围 默认值 描述信息 TLSCAFile 否 含 用 于 对 等 证 书 验 证 的 顶 级 CA (s) 证 书 的 文 件 的 完 整 路 径 名, 范围 默认值 描述信息 VMwareTimeout 否 -300 0 mware 采 集 器 等 待 VMware 服 务 (vCen- ter or ESX 管 理 程 序) 响 应 的 最 大 时 长。 从 Zab- bix 2.2.9, 2.4.4 开 始 支 持 该 参 数。 注脚 1 请注意,太多的数据采集进程 (pollers, unreachable pollers, HTTP pollers 置唯一的大 写 敏 感 的 Proxy 名 称。 确 保 Server 端 能 正 确 解 析 这 个 proxy 名 称。 允 许 的 字 符: 字 母, ’.’, ’ ’, ’_’ 和’- ’. 最 大 长 度: 128 136 参数名称必须配 范围 默认值 描述信息 HostnameItem no system.hostname 当 参 数 Host- name 没 有 定 义 时 使 用 这 个0 码力 | 2715 页 | 28.60 MB | 2 年前3
Nacos架构&原理
9291665e511b517/p14_7.jpg) 规模 ## Nacos 生态 Nacos 几乎支持所有主流语言,其中 Java/Golang/Python 已经支持 Nacos 2.0 长链接协议,能最大限度发挥 Nacos 性能。阿里微服务 DNS(Dubbo+Nacos+Spring-cloud-alibaba/Seata/Sentinel)最佳实践,是 Java 微服务生态最佳解决方案;除此之外,Nacos Server 与存储、Server 间、Server 与 SDK 间高效通信问题。 容量管理:管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性。 • 流量管理:按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制。 • 缓存机制:容灾目录,本地缓存,Server 缓存机制,是 Nacos 高可用的关键。 启动模式:按照单机模式,配置模式,服务模式,DNS 模式模式,启动不同的模块。 配置管理的基础模型: 1. Nacos 提供可视化的控制台,可以对配置进行发布、更新、删除、灰度、版本管理等功能。 2. SDK 可以提供发布配置、更新配置、监听配置等功能。 3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5 是否相等,不相等推送配置变更。 4. SDK 会保存配置的快照,当服务端出现问题的时候从本地获取。 ## 配置资源模型0 码力 | 326 页 | 12.83 MB | 1 年前3
共 654 条
- 1
- 2
- 3
- 4
- 5
- 6
- 66













