其它

Hyperf 发布 v1.0.10 版本,企业级 PHP 微服务协程框架

2021-01-19 17:49:48 阅读数 9656 收藏 0

更新内容

本次更新主要加强了 JSON RPC 的相关功能支持,提供了一个服务治理更加完善的版本,显著的几个新特性有,支持对象数组的自动反序列化,动态代理的 RPC 客户端,更完善的异常响应处理及性能更好的服务注册流程。以及我们为 make() 函数增加索引数组的传参方式,再也不用写变量名称了。同时修复了一些其它组件的 Bug🐛,发布于 1.0.10 版。
相关组件的文档可通过上面的超链接进入查看,或直接访问 官网 https://hyperf.io 或 文档 https://doc.hyperf.io 查看。

新增

  • #321 为 HTTP Server 的 Controller/RequestHandler 参数增加自定义对象类型的数组支持,特别适用于 JSON RPC 下,现在你可以通过在方法上定义 @var Object[] 来获得框架自动反序列化对应对象的支持
  • #324 增加一个实现于 Hyperf\Contract\IdGeneratorInterface 的 ID 生成器 NodeRequestIdGenerator
  • #336 增加动态代理的 RPC 客户端功能
  • #346 #348 为 hyperf/cache 缓存组件增加文件驱动

变更

  • #330 当扫描的 $paths 为空时,不输出扫描信息
  • #328 根据 Composer 的 PSR-4 定义的规则加载业务项目
  • #329 优化 JSON RPC 服务端和客户端的异常消息处理
  • #340 为 make 函数增加索引数组的传参方式
  • #349 重命名下列类,修正由于拼错错误导致的命名错误
原类名 修改后的类名
Hyperf\Database\Commands\Ast\ModelUpdateVistor Hyperf\Database\Commands\Ast\ModelUpdateVisitor
Hyperf\Di\Aop\ProxyClassNameVistor Hyperf\Di\Aop\ProxyClassNameVisitor
Hyperf\Di\Aop\ProxyCallVistor Hyperf\Di\Aop\ProxyCallVisitor

修复

  • #325 优化 RPC 服务注册时会多次调用 Consul Services 的问题
  • #332 修复 Hyperf\Tracer\Middleware\TraceMiddeware 在新版的 openzipkin/zipkin 下的类型约束错误
  • #333 修复 Redis::delete() 方法在 5.0 版不存在的问题
  • #334 修复向阿里云 ACM 配置中心拉取配置时,部分情况下部分配置无法更新的问题
  • #337 修复当 Header 的 key 为非字符串类型时,会返回 500 响应的问题
  • #338 修复 ProviderConfig::load 在遇到重复 key 时会导致在深度合并时将字符串转换成数组的问题

关于 Hyperf

Hyperf 是基于 Swoole 4.3+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换 与 可复用 的。     框架组件库除了常见的协程版的 MySQL 客户端Redis 客户端,还为您准备了协程版的 Eloquent ORMWebSocket 服务端及客户端JSON RPC 服务端及客户端GRPC 服务端及客户端Zipkin (OpenTracing) 客户端Guzzle HTTP 客户端Elasticsearch 客户端Consul 客户端ETCD 客户端AMQP 组件Apollo 配置中心阿里云 ACM 应用配置管理ETCD 配置中心基于令牌桶算法的限流器通用连接池熔断器Swagger 文档生成Swoole Enterprise 企业版Blade 和 Smarty 视图引擎 等组件,省去了自己实现对应协程版本的麻烦。

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 官方开发文档

生产可用

我们为组件进行了大量的单元测试以保证逻辑的正确,目前存在 552 个单测共 1843 个断言条件,同时维护了高质量的文档,在 Hyperf 正式对外开放(2019年6月20日)之前,便已经过了严酷的生产环境的考验,我们才正式的对外开放该项目。   

官网及交流

Github 👈 点 Star 支持我们

Hyperf 官网