SwooleWorker分布式长连接开发框架

联合创作 · 2023-09-29 12:12

SwooleWorker是基于swoole4开发的一款分布式长连接开发框架。

常驻内存,协程,分布式部署,横向扩容,无感知安全重启,高性能高并发,SwooleWorker可以广泛应用于云计算、物联网(IOT)、车联网、智能家居、网络游戏、互联网+、移动通信等领域。使用SwooleWorker可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

  _____                    _   __          __        _
 / ____|                  | |  \ \        / /       | |           ®
| (_____      _____   ___ | | __\ \  /\  / /__  _ __| | _____ _ __
 \___ \ \ /\ / / _ \ / _ \| |/ _ \ \/  \/ / _ \| '__| |/ / _ \ '__|
 ____) \ V  V / (_) | (_) | |  __/\  /\  / (_) | |  |   <  __/ |
|_____/ \_/\_/ \___/ \___/|_|\___| \/  \/ \___/|_|  |_|\_\___|_|

=================================================
SwooleWorker is a distributed long connection
development framework based on Swoole4.

[Github] https://github.com/xielei/swoole-worker
=================================================

Press [Ctrl+C] to exit, send 'help' to show help.
> help
****************************  HELP  ****************************
* cmd                           description...
* help                          display help
* exit                          exit cmd panel
* clear                         clear screen
* start [-d]                    start the service,'-d' daemonize mode
* restart [-d]                  restart the service,'-d' daemonize mode
* reload                        reload worker and task
* stop [-f]                     stop the service,'-f' force stop
* status                        displays the running status of the service
****************************************************************
> 

【Github】 【官方网站】

系统架构

架构图

基本接口

  • sendToClient(string client,stringclient,stringmessage)
  • sendToUid(string uid,stringuid,stringmessage)
  • sendToGroup(string group,stringgroup,stringmessage, array $without_client_list = [])
  • sendToAll(string message,arraymessage,arraywithout_client_list = [])
  • isOnline(string $client)
  • isUidOnline(string $uid): bool
  • getClientListByGroup(string group,stringgroup,stringprev_client = null): iterable
  • getClientCount(): int
  • getClientCountByGroup(string $group): int
  • getClientList(string $prev_client = null): iterable
  • getClientListByUid(string uid,stringuid,stringprev_client = null): iterable
  • getClientInfo(string client,intclient,inttype = 255): array
  • getUidListByGroup(string group,boolgroup,boolunique = true): iterable
  • getUidList(bool $unique = true): iterable
  • getUidCount(float $unique_percent = null): int
  • getGroupList(bool $unique = true): iterable
  • getUidCountByGroup(string $group): int
  • closeClient(string client,boolclient,boolforce = false)
  • bindUid(string client,stringclient,stringuid)
  • unBindUid(string $client)
  • joinGroup(string client,stringclient,stringgroup)
  • leaveGroup(string client,stringclient,stringgroup)
  • unGroup(string $group)
  • setSession(string client,arrayclient,arraysession)
  • updateSession(string client,arrayclient,arraysession)
  • deleteSession(string $client)
  • getSession(string $client): ?array
  • sendToAddressListAndRecv(array items,floatitems,floattimeout = 1): array
  • sendToAddressAndRecv(array address,stringaddress,stringbuffer, float $timeout = 1): string
  • sendToAddress(array address,stringaddress,stringbuffer, $timeout = 1)

系统特色

  • 分布式部署,横向扩容
  • 代码更新无缝重启,用户无感知,数据无差错
  • 协程,常驻内存,高性能

安装

推荐composer方式安装

composer require xielei/swoole-worker
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报