2022年swoole流行的框架有哪些?

简介: 如果公司愿意提供付费服务支持,建议选择Hyperf,因为该框架对付费用户提供技术支持,并提供技术培训支持。如果您无法提供付费,同时有PHP-FPM做切面式的性能优化需求,建议选择 SW-X 该框架支持纯框架实现的RPC服务,无任何第三方依赖的服务中心管理非常方便。同时该框架除了提供Mysql、Redis、MonggoDB、RBMQ、Crontab、校验器、中间件、限流器等常用组件外,还提供了大量丰富的免费组件库,包括:身份证解析、经纬度反查省市区镇等大数据查询组件等,非常值得企业级开发使用。

Swoole

Swoole是实现各种协议及实现异步高性能的一个库,不是框架。包括上层的编程API和底层的hack,协程只不过是实现异步的一种方式。


基于Swoole,PHP开发者可以轻松快速开发出支持高并发的应用,比如即时通讯类应用,甚至游戏服务器,进一步拓宽了PHP的应用场景。


越来越多的PHP项目已经享受到Swoole带来的技术红利。


基于异步协程库Swoole的PHP框架越来越多了。


【教你Swoole入门到饿死】


目前基于Swoole的都有哪些框架:

Hyperf: PHP企业级微服务协程框架(官方团队合作,但文档不够清晰,语法偏向Laravel)

EasySwoole: 老牌框架(已经挺久没更新,语法比较凌乱)

Swoft: 老牌框架(已停止维护)

MixPHP: 老牌框架(已停止维护)

SW-X:PHP企业级微服务协程框架(民间团队维护,大量独立组件支持,语法偏向ThinkPHP5)


swoole+php与go的比较

CSP 模型:swoole 与 go 只差一个 select,go还有多线程协程 runtime.GOMAXPROCS,当然单线程又有单线程的好处,少考虑很多线程安全问题。


抽象能力:php5之后 与 java 比较接近,面向对象能力更好,设计模式更好运用,业务实现用php会更好,如果是做中间件使用go更好一些。


错误处理:php 的 try/catch/finally 虽然内置不足,且传统但可以少写不少处理异常的代码,异常不容导致服务停止,go 则在错误处理的粒度更精细一些,需要要更加细心处理每个异常错误,否则一不小心服务就挂了,php确实适合快速实现业务。


组件库生态:php 现有的库分 c 扩展和 composer 包,其中 composer 包中有一些使用了一些全局变量/方法,导致无法在协程中使用,而很多老的c扩展都没有考虑到异步的场景,导致很多细粒度的功能实现不了,还有使用单独网络库无法 hook 为协程的,而 go 所有的库都天然的可以用协程,并且是用本身 go 编写的,没有用到c,也便于调试修改源码。显然在生态方面java和go是很占优的。


类型系统:强弱类型自有各自的优势,强类型执行效率肯定高,弱类型比较自由灵活。


性能:swoole主要提供了websocket/长链接的服务、协程异步实现,而协程异步主要是异步IO,解决以往php只能同步IO带来的低效,但对于密集运算的话,swoole解决不了cpu这块效率问题。swoole通过协程把原php磁盘IO、网络IO的同步阻塞方式升级为异步不阻塞的方式,提高CPU利用率,加快请求处理。


我们需要基于swoole的框架吗?还是可用在第三方框架上加入swoole扩展,比如laravel或thinkphp的swoole扩展?


项目不大,用户量不大,那本身就不会遇到性能瓶颈问题,那还是用自己熟悉的传统的mvc框架即可,效率高,容错率好,易维护。


项目大,用户量大,并发大,公司只有php技术栈,那就先考虑前端优化(代码逻辑优化、加载优化、资源优化等)、负载均衡、后端优化(业务逻辑或算法优化、流量限流、异步队列等)、数据层优化(适当缓存机制、数据库读写分离、sql语句优化、数据库索引优化等)等等


为了进一步优化,及可能还会考虑更完整的分布式,数据库主从与集群、缓存主从与集群、消息队列集群,再考虑服务剥离,慢慢发展成为微服务架构,一方面提高性能,还提高开发测试部署效率。


而微服务常用的RPC、API(RESTful)技术,如果要求提高新能,显然客户端(后端业务客户端)需要支持异步实现,RPC服务端也需要支持异步,才能保证连接快速处理并结束,避免系统连接太多最后导致三高宕机。


选择哪一个Swoole框架

如果公司愿意提供付费服务支持,建议选择Hyperf,因为该框架对付费用户提供技术支持,并提供技术培训支持。


如果您无法提供付费,同时有PHP-FPM做切面式的性能优化需求,建议选择 SW-X 该框架支持纯框架实现的RPC服务,无任何第三方依赖的服务中心管理非常方便。


同时该框架除了提供Mysql、Redis、MonggoDB、RBMQ、Crontab、校验器、中间件、限流器等常用组件外,还提供了大量丰富的免费组件库,包括:身份证解析、经纬度反查省市区镇等大数据查询组件等,非常值得企业级开发使用。

相关文章
|
8月前
|
缓存 安全 PHP
【PHP开发专栏】Symfony框架核心组件解析
【4月更文挑战第30天】本文介绍了Symfony框架,一个模块化且高性能的PHP框架,以其可扩展性和灵活性备受开发者青睐。文章分为三部分,首先概述了Symfony的历史、特点和版本。接着,详细解析了HttpFoundation(处理HTTP请求和响应)、Routing(映射HTTP请求到控制器)、DependencyInjection(管理依赖关系)、EventDispatcher(实现事件驱动编程)以及Security(处理安全和认证)等核心组件。
166 3
|
JSON Ubuntu 搜索推荐
【Crow】一款开源C++Web框架的安装与构建
【Crow】一款开源C++Web框架的安装与构建
1461 0
|
3月前
|
SQL 安全 关系型数据库
PHP作为一种流行的服务端脚本语言,在Web开发领域具有显著的优势
【10月更文挑战第11天】PHP作为一种流行的服务端脚本语言,在Web开发领域具有显著的优势
61 0
|
5月前
|
前端开发 中间件 PHP
|
6月前
|
测试技术 PHP 数据库
深入解析PHP框架:Symfony框架详解与应用
📚 Symfony框架深度解析:模块化设计提升开发效率,性能优越,灵活性高,支持MVC模式。探索控制器、路由、模板(如Twig)、服务容器、事件调度器等核心概念。还包括表单处理、数据库集成( Doctrine ORM)、安全组件、国际化支持及调试工具。使用Symfony CLI快速创建应用,内置PHPUnit测试支持。开始你的高质量Web开发之旅吧!
90 2
|
6月前
|
缓存 中间件 API
PHP框架详解 - Laravel 框架
PHP框架详解 - Laravel 框架
|
7月前
|
前端开发 PHP 数据库
PHP框架详解之Symfony框架
在现代Web开发中,PHP作为一种灵活且功能强大的编程语言,广泛应用于各种Web应用程序的开发中。为了提高开发效率、代码的可维护性和可扩展性,开发者通常会选择使用框架来构建应用程序。在众多PHP框架中,Symfony以其强大的功能和灵活性脱颖而出,成为开发者们的首选之一。本文将详细介绍Symfony框架,包括其历史、核心功能、组件、安装和使用方法,以及在实际开发中的应用案例。
62 2
|
8月前
|
JSON Rust 安全
【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz
【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz
267 0
|
6月前
|
设计模式 前端开发 PHP
PHP框架详解 - CodeIgniter 框架
PHP框架详解 - CodeIgniter 框架
|
6月前
|
存储 缓存 安全
PHP框架详解 - symfony框架
PHP框架详解 - symfony框架

热门文章

最新文章