Golang在接入层长连接服务中的实践-黄欣## Golang 在接入层长连接服务中的实践 黄欣 基础平台—架构部 - 背景 - 架构 - 心得 ## 目录 - 背景 - 架构 - 心得 ## 目录 ## 背景—why 长连接? - 业务场景 - 大量实时计算 - 司机乘客撮合 - 实时计价 - 高频度的数据交互 - 坐标数据 - 计价数据 - - App和服务端双向可达 - 上行(抢单) - 下行(派单) ## 背景—why golang? · 开发效率 • 异步模型,同步原语 - C: 代码上各种回调、思维中保持冷静 - Go: 代码上同步,思维自然 • 性能够用,工具齐全 - 100w? 10w? ~~ – Memprof、cpuprof~ • 社区活跃,发展迅猛 ## 背景—使用现状 • 每天服务于千万级别的司机,数亿的用户 每天服务于千万级别的司机,数亿的用户 • 实时在线百万级别 • 每天平均70亿次的推送量 ## 背景—总结 • 业务上核心依赖 • Golang成功的使用案例 背景 架构 心得 ## 目录 ## • 整体架构图  ## 架构—接口设计0 码力 | 31 页 | 1.67 MB | 2 年前3
基于Consul的多Beats接入管控与多ES搜索编排## 基于Consul的多Beats接入管控与多ES搜索编排 梁成 腾讯云, barryliang@tencent.com ## 拥抱开源、释放云原生的力量 背景与挑战 多Beats/Logstash接入管控 多ES搜索编排系统 日志AIOps探索 ## 背景与挑战 如何降低日志接入门槛 如何保证日志实时上报 如何保障日志采集不影响业务 如何做配置标准化 如何帮助业务快速排障 如何提供方便便捷的性能分析调优能力 100+ 产品数量 ## 1000 人员规模 10000 主机规模 ## 多Beats/Logstash接入 管控 提供多产品接入管理,多beats标准化、界面化、自动化的日志接入方案 ## 案例:1000+业务10000+台 主机如何快速实现日志接入? 业务规模 1000+业务、10000+业务主机、每天百T日志增量 日志需求 收集业务日志文件用于故障分析与告警监控 收集业务日志文件用于故障分析与告警监控 收集主机性能数据做容量分析 日志热数据保存七天 历史数据冷备一个月 其他诉求 日志上报不能影响核心业务 数据上报延时可感知 传统Beats接入流程  ## 系统架构  # 1.RAINBOND自身日志管理机制 ### 1.1 日志界面 首页 / 我的应用 / 服务日志对接Es示例 / NGINX NGINX 访问 关闭 管理容器 其他操作 最近1000条日志 2019-07-30T15:59:22.251Z INFO [monitoring] log/log RAINBOND自身日志管理机制 1.3 日志来源,以及相关原理 node服务功能与角色 NODE服务会监视DOCKERD进程,观察其创建与销毁容器。获取文件系统中容器日志的路径,监视来自容器标准输出和标准错误输出,并以UDP协议分发到RBD-EVENTLOG组件。 rbd-eventlog组件功能与角色 接收来自NODE服务的推送,用WEBSOCKET协议将日志内容推送到用户所操作的应用控制台。0 码力 | 11 页 | 1.62 MB | 2 年前3
rocketmq 服务部署 链滴 ## rocketmq 服务部署 作者:gitsilence 原文链接:https://ld246.com/article/1632123166220 来源网站:链滴 许可协议:署名-相同方式共享4.0国际(CC BY-SA brokerRole=ASYNC_MASTER # 刷盘方式,ASYNC_FLUSH=异步刷盘,SYNC_FLUSH=同步刷盘 flushDiskType=ASYNC_FLUSH # broker对外服务的监听端口 listenPort=10911 # nameServer地址,如果name server是多台集群的话,就用分号分隔 namesrvAddr=192.168.166.20:9876;192 lave节点 brokerRole=SLAVE # 刷盘方式,ASYNC_FLUSH=异步刷盘,SYNC_FLUSH=同步刷盘 flushDiskType=ASYNC_FLUSH # broker对外服务的监听端口 listenPort=11011 # nameServer地址,如果name server是多台集群的话,就用分号分隔 namesrvAddr=192.168.166.20:9876;1920 码力 | 11 页 | 284.35 KB | 2 年前3
ServiceComb 微服务框架ServiceComb 微服务框架 杨波 ServiceComb 社区 / 华为开源软件能力中心 ## ServiceComb微服务解决方案 云 平滑上云 ServiceComb 微服务解决方案 Java编程 (POJO/SpringM VC/JAX-RS) 熔断/容错 处理链 限流 负载均衡 JWT认证 Golang 编程 边缘服务 服务契约 微服务脚手架 通信协议 (Rest&RPC) Saga事务一致性 ServiceMesh 动态配置 服务注册 分布式追踪 服务度量 开源生态能力互通 SpringBoot Zipkin Apollo Istio SpringCloud Skywalking Others..... Dubbo Prometheus 微服务生态 APM/Tracing生态 配置中心生态 ServiceMesh生态 ServiceComb子系统 服务中心 ServiceCenter 是一个使用Go构造的、建立在etcd存储上的高性能、高可用服务中心。 Java微服务SDK Java Chassis是一个由编程模型、运行模型、通信模型和服务契约四个部分组成的微服务框架。 Saga 分布式事务解决方案 Saga 是一个微服务数据一致性解决方案。 Go微服务SDK 编程模型  ## 为什么需要服务注册中心? 是单体架构向微服务服务化演进的需要。 ! jpg) ## 服务注册中心 1. 服务端发现 1. DNS 2. 客户端发现 1. ServiceCenter, eureka 2. etcd, zookeeper, consul  ## 为什么实现自己的服务注册中心? 1. 提供标准接口(RESTful) 2. 负载均衡,服务订阅(客户端LB,长连接) 3. 运行时依赖(Go) 4. 可靠性(BASE,最终一致性)  ## 从服务注册中心到服务管理中心 1. 元数据 2. 依赖关系 3. 实例变化推送0 码力 | 18 页 | 856.27 KB | 2 年前3
微服务架构云端应用## 微服务架构云端应用 好雨云创始人 刘凡 ## 自我介绍 刘凡,好雨云创始人兼CEO。曾任澳客网 CTO和CEO职位。拥有超过12年互联网产品开发和管理经验,专注于互联网技术架构设计,对产品设计、敏捷开发、安全、OKRs、大数据等领域有深入研究。推崇反应式编程(http://www.reactivemanifesto.org/),并在多个产品中成功应用。 ## 大纲 01 微服务架构介绍 02 架构模式 03 应用 ## 01 微服务架构 介绍 微服务架构(Microservices Architecture)是将应用拆分成小业务单元开发和部署,使用轻量级协议通信,通过协同工作实现应用逻辑的架构模式。  ## 改变 按职能划分 程序模块 重构 组织结构 按服务划分 逻辑复用 代码臃肿 微服务 废弃或重写 ## 适合互联网公司特点 快速交付 响应变化 不断试错 优点 01 可独立部署、升级、替换、伸缩 02 自由选择开发语言 03 高效利用资源 04 故障隔离 缺点 01 服务多,带来更多操作 02 管理复杂度提升 03 部署难度加大 Twitter0 码力 | 32 页 | 864.40 KB | 2 年前3
微服务容灾治理## 微服务容灾治理 ### 1. go-zero 稳定性能力概览 经过这么多年大流量服务端架构设计的沉淀,go-zero 在保护服务的稳定性上下足了功夫,不管是 CPU 密集型还是 IO 密集型服务,go-zero 都能很好的保护服务在如下场景不被拖垮或卡死: 远超服务容量的突发大流量 CPU 打满 • 上下游故障或者超时 • MySQL、MongoDB、Redis 等中间件故障或者超负载(典型的是 如图,我们从三个方面来保护系统的稳定性: 服务端自适应过载保护 服务端自适应熔断 • 客户端自适应熔断 当然,我们还有自动适配后端服务能力的负载均衡算法,对稳定性进一步保驾护航。本文主要讲解自适应过载保护的原理、场景和表现。 ### 2. 自适应过载保护压测 用过 Windows 的同学对这个界面应该都不陌生,这就是典型 CPU 打满服务不可用的表现。此时,我们一般都是心里默默骂一句,然后点左边那个按钮,对吧? jpg) 那我们想想,如果我们的服务 CPU 被打满了,是不是后面所有的请求也都被卡住了?等服务处理完请求的时候,用户那里可能已经超时离开了,结果服务器很忙,但都是做的无用功。如果这里不能理解,停下来好好思考一番,如果还不懂的话,可以来 go-zero 群里讨论讨论。。。 ### 2.1 模拟 CPU 密集型服务 有人可能会问 CPU 密集型服务怎么定义?你的服务 CPU 会打满吗?处理请求会包含复杂的计算逻辑吗?你经常需要通过0 码力 | 13 页 | 1.68 MB | 2 年前3
华为微服务框架ServiceCombCloud Native 架构下的 K8S 和微服务实践 ## 华为微服务框架 ServiceComb 姜宁 华为公司 技术专家 ## SPEAKER INTRODUCTION 华为公司 ServiceComb项目负责人. Apache Member Apache Camel, Apache CXF, Apache ServiceMix PMC member, Committer. 侵入式 微服务 解决方案 非侵入式 多语言 ## ServiceComb的来源  ## ServiceComb项目介绍 ## • Java/Go Chassis • Java/Go 微服务框架 • 提供微服务注册发现以及限流降级,容错熔断等治理功能 提供微服务注册发现以及限流降级,容错熔断等治理功能 ## • Service Center • 高性能,高可用服务注册中心 ## • Saga • 微服务数据一致性问题解决方案 • 提供一个集中式的事务协调器,协调微服务之间的事务,保证事务最终一致性 ## ServiceComb Chassis架构 












