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在接入层长连接服务中的实践-黄欣在接入层长连接服务中的实践 黄欣 基础平台—架构部 - 背景 - 架构 - 心得 ## 目录 - 背景 - 架构 - 心得 ## 目录 ## 背景—why 长连接? - 业务场景 - 大量实时计算 - 司机乘客撮合 - 实时计价 - 高频度的数据交互 - 坐标数据 - 计价数据 - App和服务端双向可达 代码上各种回调、思维中保持冷静 - Go: 代码上同步,思维自然 • 性能够用,工具齐全 - 100w? 10w? ~~ – Memprof、cpuprof~ • 社区活跃,发展迅猛 ## 背景—使用现状 • 每天服务于千万级别的司机,数亿的用户 • 实时在线百万级别 • 每天平均70亿次的推送量 ## 背景—总结 • 业务上核心依赖 • Golang成功的使用案例 背景 架构 心得 ## 目录 (golang) - 接口设计分层 • 框架层:模块间通信协议(类似tcp/udp) • 业务层:bytes(类似应用层)留给业务自己定义就好了 ## 架构—性能 • conn svr |连接数|qps|内存|cpu(平均)|gc(STW)| |---|---|---|---|---| |30000|3w上行 3w下行|3~4G|300%左右|8~40ms| |60000|6w上行 4w0 码力 | 31 页 | 1.67 MB | 2 年前3
使用JDBC连接数据库## ☐ ## 使用JDBC连接数据库 北京理工大学计算机学院金旭亮 ## Java数据库应用程序全局视图 Java应用程序 JDBC数据库驱动(*.jar) JDBC规定了一整套访问数据库的标准API,所有数据库都需要实现它,因此,使用JDBC访问数据库的Java应用程序,是很容易切换底层数据库的。 ## JDBC核心类型一览表 |核心类型 (java.sql)|说明| |---|---| 载驱动程序| |Connection|与数据库建立连接| |Statement|在一个给定的连接中执行SQL语句| |PreparedStatement|用于执行预编译的SQL命令| |CallableStatement|用于调用数据库中存储过程| |ResultSet|保存SQL命令的执行结果| 上述组件是独立于底层数据库的,也就是说,只要连接上了数据库,相同的代码,就可以顺利工作..... ## ## JDBC访问数据库的基本步骤 加载JDBC驱动程序 创建数据库连接 执行SQL语句 接收并处理SQL的返回结果 关闭创建的各个对象 对于有可视化界面的应用程序,或者是Server端应用程序,应该在独立的线程中完成这些步骤。 出于精简学习负担的目的,我们将以SQLite为例介绍JDBC的基本使用,在此基础之上,后面选择微软的SQL Server来介绍JDBC的高级特性…… ![Im0 码力 | 20 页 | 1.02 MB | 2 年前3
全连接神经网络实战. pytorch 版全连接神经网络实战 PYTORCH 版 DEZEMING FAMILY DEZEMING Copyright $ \copyright $ 2021-10-02 Dezeming Family ## Copying prohibited All rights reserved. No part of this publication may be reproduced or transmitted 。本书不可避免要参考 $ ^{[2]} $ 的讲解方式,但我们对讲解顺序和内容,以及程序代码都做了大量的改进。说了那么多,总之,我们的目标是写一个最好的最容易上手的 pytorch 入门教程——从全连接网络开始。 书中的示例代码在网站页面可以找到。每节末尾会提示“本节代码见 chapterX.py”。 20211006:完成本书第一版。 ### 1. 准备章节 1.1 导入 pytorch NeuralNetwork 内部定义函数: def weight_init(self): # 遍历网络的每一层 for m in self.modules(): # 如果该层是线性连接层 if isinstance(m, nn.Linear): print(m.weight.shape) print(m.bias.shape)0 码力 | 29 页 | 1.40 MB | 2 年前3
1-Noah-Chen-连接世界的Python社区0 码力 | 24 页 | 2.98 MB | 2 年前3
添加测试服务0 码力 | 1 页 | 128.00 B | 1 年前3
Tornado 4.5 Documentation
version 4.0: Added the ability to pass file-like objects in addition to raw file descriptors. ## 原生服务端 原生服务端 Callbacks and timeouts IOLoop.add_callback(callback,*args,**kwargs) Calls the given callback0 码力 | 222 页 | 833.04 KB | 2 年前3
Rainbond服务日志管理## RAINBOND服务日志管理 好雨交付工程师-郭逊 ## 大纲 1. Rainbond自身的日志管理机制 2. 对接 Elasticsearch 3. 演示示例 2019-07-31T03:29:22.251Z INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": /4/b/d/24bd0bda2e50810fa43321ee941db5bf/p4_1.jpg) # 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 编程模型 












