Golang在接入层长连接服务中的实践-黄欣
Golang 在接入层长连接服务中的实践 黄欣 基础平台-架构部 目录 • 背景 • 架构 • 心得 目录 • 架构 • 心得 背景—why 长连接? • 业务场景 – 大量实时计算 • 司机乘客撮合 • 实时计价 – 高频度的数据交互 • 坐标数据 • 计价数据 – App和服务端双向可达 • 上行(抢单) • 下行(派单) 背景—why golang? • 开发效率0 码力 | 31 页 | 1.67 MB | 1 年前3go-zero开源项目的成长史
0 码力 | 31 页 | 4.83 MB | 9 月前3消息中间件RocketMQ原理解析 - 斩秋
.......................................................................................... 17 三: 长轮询 .................................................................................................. master 的 broker 机器,在通过 broker 的主从复制机制拷贝到 broker 的 slave 上去 二:Producer 如何发送消息 Producer 轮询某 topic 下的所有队列的方式来实现发送方的负载均衡 1) Topic 下的所有队列如何理解: 比如 broker1, broker2, borker3 三台 broker 机器都配置了 broker1_queue1, broker2_queue0, broker2_queue1, broker2_queue2, broker3_queue0, 2) Producer 如何实现轮询队列: Producer 从 namesrv 获取的到 Topic_A 路由信息 TopicPublishInfo --ListmessageQueueList 0 码力 | 57 页 | 2.39 MB | 1 年前3RocketMQ v3.2.4 开发指南
....................................................................................... 21 7.5 长轮询 Pull ............................................................................................. 3.0 版本开始支持同步双写。 4.7 Low Latency Messaging 在消息丌堆积情冴下,消息到达 Broker 后,能立刻到达 Consumer。 RocketMQ 使用长轮询 Pull 方式,可保证消息非常实时,消息实时性丌低亍 Push。 项目开源主页:https://github.com/alibaba/RocketMQ 7 4.8 At least Once Broker 不 Name Server 集群中的所有节 点建立长连接,定时注册 Topic 信息到所有 Name Server。 Producer 不 Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从 Name Server 叏 Topic 路 由信息,幵吐提供 Topic 服务的 Master 建立长连接,丏定时吐 Master 収送心跳。Producer 完全无状态,可0 码力 | 52 页 | 1.61 MB | 1 年前3张波-虎牙直播在微服务改造中的实践
Meetup #6 广州站 微服务改造事项 DNS-F在数据 库场景的落地 名字服务在负 载均衡场景的 落地 DNS-F在微服 务场景的落地 应用层探活 数据库故障 恢复时间长 服务故障牵 引慢,流量 接入生效时 间长 DNS生效慢 内部服务无 就近接入能 力 服务性能下 降流量不摘 除 实 例 切 换 能 力 秒 级 流 量 牵 引 能 力 D N S 就 近 接 入 能 力 华中IDC 华北IDC Nginx Nginx Nginx Web server 专线 背景 负载均衡变更需要更新配置发布后 才能生效,节点扩缩容,屏蔽操作 需要人工参与,流量接入接出时间 长 目标 流量接入接出时长低于30秒 负载均衡配置下发无状态改造 虎牙负载均衡部署的机器数百,配置下发的可靠性保障,一致性保障要求特别严格, 如果出现配置下发不及时,或下发配置失败,极大可能出现故障,同时负载均衡服 客户端主动监听配置更新,配置秒 级生效,新扩容服务主动拉取全量 配置,流量接入时长缩短3分钟+ 配置名字服务 配置IP方式 服务端下发文件更新配置,更新配 置生效时间长,由于需要预先知道 负责均衡集群的机器信息,扩缩容 需要等元信息同步以后才能接入流 量,扩容流量接入时间长 负载均衡节点对接名字服务 虎牙负载均衡部署的机器一台机器上可能存在数百的配置,每次节点生效需要重新 reload配置,且节点新增或删除需人工上系统操作配置,配置生效对服务会有中断0 码力 | 27 页 | 1.03 MB | 1 年前3Zabbix 5.0 Manual
house- keep- ing 只 能 通 过 house- keeper_execute 启 动, 在 一 个 housue- keep- ing 周 期 内 删 除 的 过 期 信 息 时 长 为 从 最 后 一 次 house- keep- ing 以 来 到 配 置 周 期 的 4 倍, 不 少 于 4 小 时 且 不 大 于 4 天。 也 可 参 见运 行 控 制 选 项。 bix 4.2.0 开 始 支 持 此 参 数。 94 参数名称必须配 范围 默认值 描述信息 Timeout 否 -30 gent, SNMP 设 备 或 外 部 检 查 的 超 时 时 长 (单 位 为 秒)。 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, HTTP0 码力 | 2715 页 | 28.60 MB | 1 年前3Zabbix 3.4 中文手册
器 的 子 进 程 实 例 个 数\\Zabbix 2.2.0 后 支 持 该 参 数。 Timeout no 1-30 3 agent, SNMP 设 备 或 外 部 检 查 的 超 时 时 长 (单 位 秒)。 43 参数必 范围 默认值 描述 TLSCAFile no 包 含 用 于 对 等 证 书 验 证 的 顶 级 CA 证 书 的 文 件 的 完 整 路 径 名, 用 于 VMwareTimeout no 1-300 10 vmware 采 集 器 等 等 VMware 服 务 (vCen- ter or ESX 管 理 程 序) 响 应 的 最 大 时 长. Zabbix 2.2.9, 2.4.4 后 支 持 该 参 数。 Note: Zabbix 支持的配置文件是无BOM的 utf-8 编码. 注释只能在行的开头以”#” 开始. 2 Zabbix .conf. Zabbix 2.4.0 后都支持模式匹 配. 参看关于限制条件特例 。 JavaGateway no Zabbix Java 网关的 IP 地址 (或 主机名) 。 Java 轮询器启动时才需要该参 数。 Zabbix 2.0.0 后的所有版本支 持该参数。 JavaGatewayPort no 1024-32767 10052 Zabbix Java 网关监听端口。 Zabbix0 码力 | 1757 页 | 12.63 MB | 1 年前3Nacos架构&原理
规模:十万级服务/配置,百万级连接,具备强大扩展性。 15 > 简介 Nacos 生态 Nacos 几乎支持所有主流语言,其中 Java/Golang/Python 已经支持 Nacos 2.0 长链接协议,能 最大限度发挥 Nacos 性能。阿里微服务 DNS(Dubbo+Nacos+Spring-cloud-alibaba/Seata/ Sentinel)最佳实践,是 Java 微服务生态最佳解决方案;除此之外,Nacos 与存储、Server 间、Server 与 SDK 间高效通信问题。 容量管理:管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性。 流量管理:按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制。 缓存机制:容灾目录,本地缓存,Server 缓存机制,是 Nacos 高可用的关键。 启动模式:按照单机模式,配置模式,服务模式,DNS 模式模式,启动不同的模块。 Nacos 架构 1. Nacos 提供可视化的控制台,可以对配置进行发布、更新、删除、灰度、版本管理等功能。 2. SDK 可以提供发布配置、更新配置、监听配置等功能。 3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5 是否相等,不相等推送配置变更。 4. SDK 会保存配置的快照,当服务端出现问题的时候从本地获取。 配置资源模型0 码力 | 326 页 | 12.83 MB | 9 月前3Zabbix 4.0 中文手册
Zabbix 2.4.0. See special notes about limitations. JavaGateway 否 abbix Java 网关的 IP 地址 (或主机名) 。 Java 轮询器启动时才需 要该参数。 Zabbix 2.0.0 以后的所 有版本都支持该参数. JavaGateway no IP address (or hostname) of Zabbix Java instances of escalators. This parameter is supported since Zabbix 3.0.0. StartHTTPPollers 否 -1000 TTP 轮询进程的初始实 例数量。 在 Zabbix 1.8.5 版本 之前,最大能设置为 255。 StartHTTPPollers no 0-1000 1 Number of pre-forked instances HTTP pollers1. The upper limit used to be 255 before version 1.8.5. StartIPMIPollers 否 -1000 PMI 轮询进程的初始实 例数量。 在 Zabbix 1.8.5 版本 之前,最大能设置为 255。 StartIPMIPollers no 0-1000 0 Number of pre-forked instances0 码力 | 1992 页 | 17.90 MB | 1 年前3Zabbix 4.4 中文手册
Zabbix 2.4.0. See special notes about limitations. JavaGateway 否 abbix Java 网关的 IP 地址 (或主机名) 。 Java 轮询器启动时才需 要该参数。 Zabbix 2.0.0 以后的所 有版本都支持该参数. JavaGateway no IP address (or hostname) of Zabbix Java instances of escalators. This parameter is supported since Zabbix 3.0.0. StartHTTPPollers 否 -1000 TTP 轮询进程的初始实 例数量。 在 Zabbix 1.8.5 版本 之前,最大能设置为 255。 StartHTTPPollers no 0-1000 1 Number of pre-forked instances HTTP pollers1. The upper limit used to be 255 before version 1.8.5. StartIPMIPollers 否 -1000 PMI 轮询进程的初始实 例数量。 在 Zabbix 1.8.5 版本 之前,最大能设置为 255。 StartIPMIPollers no 0-1000 0 Number of pre-forked instances0 码力 | 1850 页 | 13.52 MB | 1 年前3
共 650 条
- 1
- 2
- 3
- 4
- 5
- 6
- 65