基于原生 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
等节点可水平扩容多个节点增加并发处理
相关组件为纯swoole实现
@core (done) 核心架构
@grpc (done) grpc包依赖 grpc-client连接池
@discovery (done) 服务发现注册
@process(done) 自定义进程管理器
@redis(done) redis连接池
@queue(done amqp,soon kafak) 消息队列连接池
@task(done) 异步任务投递组件
@cloud (test verion)
@job (test version)
@logic (test version)
- im-cloud 基于swoole 原生协程构建分布式推送中间件
- im-cloud 分布式中间件的安装部署
- im-cloud <> goim 分布式中间件并发压测对比
- im-cloud分布式中间件分析(一)-通讯协议
- im-cloud分布式中间件分析(二)-cloud节点实现
- im-cloud分布式中间件分析(三)-job节点实现
- im-cloud分布式中间件分析(四)-logic节点实现
Copyright © 2019 brewlin.
This project is Apache2.0 licensed.