Im Cloud Save

原生swoole 全协程化分布式im中间件、多节点扩容、多节点服务

Project README

im-cloud

Documentation License: Apache Docker Build Status Php Version Swoole Version GitHub last commit GitHub repo size

基于原生 swoole 全协程化构建 im-cloud中间件,多节点扩容

概述

  • 基于swoole原生构建即时推送im分布式服务,不进行业务处理,单独作为中间件使用,可弹性扩充节点增加性能处理,业务demo:(todo)
  • 高性能 水平扩容 分布式服务架构 接入服务治理
  • cloud 作为中心服务节点 grpc-server 节点,对外可以进行tcp、websocket 客户端进行长连接注册,可水平扩容至多个节点 并注册到服务中心 例如consul,每个cloud节点维护自己的客户端
  • job 节点作为消费节点 消费队列数据 然后进行grpc 和cloud服务进行通讯 进行 push push room broadcast,作为节点中间件,消费kafakarabbitmq。。。之类,可以通过配置切换消息队列类型
  • 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 业务流程

相关文档

📝 License

Copyright © 2019 brewlin.
This project is Apache2.0 licensed.

Open Source Agenda is not affiliated with "Im Cloud" Project. README Source: brewlin/im-cloud

Open Source Agenda Badge

Open Source Agenda Rating