当前位置: 首页 > 后端技术 > PHP

?Hyperf发布v1.0.16版本-企业级PHP微服务协程框架

时间:2023-03-29 20:32:32 PHP

更新内容本周更新主要增加协程运行控制功能。通过Hyperf\Utils\Coroutine\Concurrent,可以实现一个代码块限制同时运行的最大协程数的功能,同时也修复了部分组件的bug,1.0.16版本发布,推荐使用gRPC、JSONRPC、View、Task、Snowflake、ExceptionHandler相关组件用户更新。直接访问官网hyperf.io或文档hyperf.wiki查看。添加#565以添加对Redis客户端上选项配置参数的支持;#580增加协程并发控制功能,通过Hyperf\Utils\Coroutine\Concurrent,可以限制一个代码块中最大并发运行的协程数;更改#583当BaseClient::start失败时,它会抛出Hyperf\GrpcClient\Exception\GrpcClientException;#585当下发给TaskWorker的Task失败时,会向Worker进程返回异常;修复#564,修复Coroutine\Http2在某些情况下\Client->send返回值不正确的问题;#567修复JSONRPC消费者配置名非接口时无法生成代理类的问题;#571修复ExceptionHandler的stopPropagation的协程变量污染问题;#579动态初始化snowflake的MetaData,主要修复在命令模式下使用Snowflake时,比如di:init-proxy命令,会连接到Redis服务器直到超时;当协程运行控制需要通过多个子协程来执行一些逻辑,但是为了保护peer或者连接池连接等场景,希望控制某些函数同时运行的协程数量,这可以通过Hyperf\Utils\Coroutine\Concurrent类来实现:useHyperf\Utils\Coroutine\Concurrent;//$maxRunningCoroutine是最大运行协程数,$timeout是等待的秒数$concurrent=newConcurrent($maxRunningCoroutine=2,$timeout=1);$concurrent->create(function(){sleep(1);});$concurrent->create(function(){sleep(1);});//更多的协程创建...关于HyperfHyperf是一个高基于Swoole4.3+协程框架的高性能和高灵活性PHP,内置协程服务器和大量常用组件,与基于PHP-FPM的传统框架相比,可以得到质的提升。在提供超高性能的同时,还保持了极其灵活的可扩展性。标准组件均基于PSR标准实现。基于强大的依赖注入设计,保证了很好的一些组件或类的可替换和可重用性。框架组件库除了常见的协程版MySQL客户端和Redis客户端,还准备了协程版EloquentORM、WebSocket服务端和客户端、JSONRPC服务端和客户端、GRPC服务端和客户端、Zipkin(OpenTracing)客户端、GuzzleHTTP客户端、Elasticsearch客户端、Consul客户端、ETCD客户端、AMQP组件、Apollo配置中心、阿里云ACM应用配置管理、ETCD配置中心、基于令牌桶算法的限流器、通用连接池、断路器、Swagger文档生成、SwooleEnterprise企业版、Blade和Smarty视图引擎、Snowflake全局ID生成器等组件,免去了自己实现对应协程版本的麻烦。Hyperf还提供了基于PSR-11的依赖注入容器、注解、AOP面向方面编程、基于PSR-15的中间件、自定义流程、基于PSR-14的事件管理器、Redis/RabbitMQ消息队列和自动模型缓存、PSR-16位缓存、Crontab定时任务、国际化等非常便捷的功能,满足丰富的技术和业务场景,开箱即用。框架的初衷虽然基于PHP语言开发的框架现在已经是百花齐放的时代,但是仍然没有看到一个优雅设计与超高性能并存的完美框架,也没有看到一个框架真正为PHP微服务铺路,这是Hyperf和团队成员的初衷,我们会为此继续投入和努力,欢迎大家加入我们一起参与开源建设。设计理念Hyperspeed+Flexibility=Hyperf,从名字上我们就把超高速和灵活性视为Hyperf的基因。针对超高速,我们基于Swoole协程,在框架设计上做了很多优化,保证了超高性能的输出。为了灵活性,我们基于Hyperf强大的依赖注入组件。组件全部基于PSR标准契约和Hyperf定义的契约,使得框架中的大部分组件或类都是可替换的。基于以上特点,Hyperf将有丰富的可能性,比如实现单体web服务、API服务、网关服务、分布式中间件、微服务架构、游戏服务器、物联网(IOT)等。完整的文档我们投入了很多在文档建设中投入大量时间,解决文档缺失带来的各种问题。文档还提供了大量示例,对新手同样友好。Hyperf官方开发文档可用于生产。我们对组件进行了大量的单元测试,以保证逻辑的正确性。目前,有661个单元测试,共有2062个断言条件。同时,保持高质量的文档。Hyperf正式对外开放(2019年6月5月20日之前),我们在正式对外开放项目之前,已经通过了严酷生产环境的考验。现在很多大型互联网公司已经将Hyperf部署到他们的生产环境中并稳定运行。官网和通讯Github??????点个星来支持我们的Gitee码云?????点星支持我们Hyperf官网Hyperf文档QQ群:862099724