im-cloud
im-cloud copied to clipboard
原生swoole 全协程化分布式im中间件、多节点扩容、多节点服务
基于原生 swoole 全协程化构建 im-cloud中间件,多节点扩容
概述
- 基于
swoole
原生构建即时推送im分布式服务,不进行业务处理,单独作为中间件使用,可弹性扩充节点增加性能处理,业务demo:(todo) - 高性能 水平扩容 分布式服务架构 接入服务治理
-
cloud
作为中心服务节点grpc-server
节点,对外可以进行tcp、websocket 客户端进行长连接
注册,可水平扩容至多个节点 并注册到服务中心 例如consul
,每个cloud节点维护自己的客户端 -
job
节点作为消费节点 消费队列数据 然后进行grpc
和cloud服务进行通讯 进行push
push room
broadcast
,作为节点中间件,消费kafaka
,rabbitmq。。。
之类,可以通过配置切换消息队列类型 -
logic
节点 提供rest api接口,作为生产节点 和 grpc客户端,可写入队列作为生产者,也可以扩展自己的业务进行rpc直接调用center中心进行推送,客户端数据缓存至redis中,多个logic节点访问redis数据同步 -
cloud,job,logic
等节点可水平扩容多个节点增加并发处理
appm & apps
-
appm
多进程版本(multi process coroutine
) 测试和单元测试中-
test version
-
-
apps
单进程全协程化server版本(single process coroutine
)-
test version
-
流程图
im-cloud 连接流程图
im-cloud 数据流程图
im-cloud 业务流程
相关文档
- im-cloud 基于swoole 原生协程构建分布式推送中间件
- im-cloud 分布式中间件的安装部署
- im-cloud <> goim 分布式中间件并发压测对比
- im-cloud分布式中间件分析(一)-通讯协议
- im-cloud分布式中间件分析(二)-cloud节点实现
- im-cloud分布式中间件分析(三)-job节点实现
- im-cloud分布式中间件分析(四)-logic节点实现
📝 License
Copyright © 2019 brewlin.
This project is Apache2.0 licensed.