SwooleDistributed

一个高性能多协议支持分布式部署的服务器框架

什么是 SwooleDistributed?

SwooleDistributed是一款PHP结合swoole扩展开发的开源高性能的服务器框架。可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、协程、分布式部署等众多功能。

我们的优势

*超详细的技术文档
*结合Swoole扩展性能极强
*PHP特性开发迅速
*支持协程编程不需要写回调方法
*MVC架构清晰明了
*拥有可扩展的异步连接池
*拥有可配置的定时任务

上线运营的案例

SD框架已经有几款线上作品,可以在文档的案例中看到。
使用SwooleDistributed,开发效率可以大大提升。
框架提供的API和功能足以满足日常的开发需求。

初衷

对开发者友好,提高开发效率一直以来是PHP的初衷,通过与Swoole的相结合我们不仅仅能够快速开发也能达到优秀的性能,SD将Swoole的性能表现的淋漓尽致,提供了更加友好的API丰富的功能,并且支持分布式部署。

如何使用

安装完Swoole扩展后,下载项目源码,然后通过composer安装依赖,通过命令启动服务器。

composer install

启动服务器

php ("start_swoole_server.php", start);

分布式的支持

SwooleDistribute原生支持分布式部署
基本零配置使用

php ("start_swoole_dispatch.php", start);

分布式部署时需要让所有的服务器都处于同一个网段环境,然后启动Dispatch组件,组件会自动发现服务器组并保持连接。在此之上可以使用LVS进行负载均衡,这样一来分布式环境就搭建好了,SD框架的所有与客户端交互的API都支持单机和集群环境,使用起来非常方便。

项目由来

经历了一个又一个项目,也接触了很多的PHP框架,我欣赏CI的简约,又贪婪swoole的效率,我将CI和swoole很草率的结合到了一起。起初呢风平浪静,慢慢的就遇到了不少的瓶颈,毕竟CI的设计理念还是贴合FPM模式,如何更加得心应手的使用swoole,同时追求开发上和运行时的效率呢,最主要的还是要方便扩展,就萌生了SwooleDistributed这个开源框架的想法。 在SwooleDistributed发布之前,开源社区还没有过针对swoole的分布式框架,起初的目的并不是一个完整的应用框架,而是一个简单的分布式通讯框架,后来需求变多了,框架也就慢慢的丰满了。--白猫