Hyperf v1.0.11 发布,企业级 PHP 微服务协程框架
更新内容
本周更新主要加强了数据库模型、Collection 对象和消息队列消息体通过实现 CompressInterface
来实现对自身对象的压缩,以便于投递到消息队列或其它需要低数据量的传输场景,以及增加了 GRPC 客户端的灵活度,同时修复了一些其它组件的 Bug🐛,发布于 1.0.11 版。 相关组件的文档可通过上面的超链接进入查看,或直接访问 官网 https://hyperf.io 或 文档 https://doc.hyperf.io 查看。
新增
- #366 增加
Hyperf\Server\Listener\InitProcessTitleListener
监听者来设置进程名称, 同时增加了Hyperf\Framework\Event\OnStart
和Hyperf\Framework\Event\OnManagerStart
事件;
修复
- #361 修复
db:model
命令在 MySQL 8 下不能正常运行; - #369 修复实现
\Serializable
接口的自定义异常类不能正确的序列化和反序列化问题; - #384 修复用户自定义的
ExceptionHandler
在 JSON RPC Server 下无法正常工作的问题,因为框架默认自动处理了对应的异常; - #370 修复了
Hyperf\GrpcClient\BaseClient
的$client
属性在流式传输的时候设置了错误的类型的值的问题, 同时增加了默认的content-type
为application/grpc+proto
,以及允许用户通过自定义Request
对象来重写buildRequest()
方法;
变更
- #356 #390 优化 aysnc-queue 组件当生成 Job 时,如果 Job 实现了
Hyperf\Contract\CompressInterface
,那么 Job 对象会被压缩为一个更小的对象; - #358 只有当
$enableCache
为true
时才生成注解缓存文件; - #359 #390 为
Collection
和Model
增加压缩能力,当类实现Hyperf\Contract\CompressInterface
可通过compress
方法生成一个更小的对象;
关于 Hyperf
Hyperf 是基于 Swoole 4.3+
实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM
的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换
与 可复用
的。 框架组件库除了常见的协程版的 MySQL 客户端
、Redis 客户端
,还为您准备了协程版的 Eloquent ORM
、WebSocket 服务端及客户端
、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 官方开发文档
生产可用
我们为组件进行了大量的单元测试以保证逻辑的正确,目前存在 566
个单测共 1880
个断言条件,同时维护了高质量的文档,在 Hyperf 正式对外开放(2019年6月20日)之前,便已经过了严酷的生产环境的考验,我们才正式的对外开放该项目。
官网及交流
Github 👈 点 Star 支持我们
Gitee 码云 👈 点 Star 支持我们
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ApiBoot 2.1.3发布,支持 Logging Admin 界面管理
ApiBoot 为接口服务而生,基于 SpringBoot 完成扩展、自动化配置,通过封装一系列 Starter 来让调用者快速集成组件,降低学习、使用门槛,提高开发效率。 从2.1.3.RELEASE版本开始,ApiBoot内的全部Plugin会从api-boot-plugins模块从陆续迁移到minbox-projects开源组织作为独立的项目进行升级维护,大家注意访问源码地址。 minbox-projects开源组织地址:https://gitee.com/minbox-projects ApiBoot 官网 官网地址:http://apiboot.minbox.io ApiBoot 2.1.3.RELEASE (2019-8-15日发布) 一、ApiBoot Logging 1. 修复 #IZQCY 2. 添加 RestTemplate 支持透传链路信息 3. 修改 OpenFeign 透传链路信息方式 4. 修改日志异步上传到 Admin,提高接口访问响应效率 5. 分离 Logging 到"minbox-projects"开源组织"minbox-logging"项目内 二、...
- 下一篇
SOFARegistry v5.2.1 发布,蚂蚁金服开源服务注册中心
发布 SOFARegistry 5.2.1, 主要变更如下: i. 安全修改,升级 Jettyserver 版本到 9.4.17.v20190418. ii. jraft bug 修正版本到1.2.5 iii. 修复 dataServer 启动没有 working 时刻一些操作延迟处理问题 iv. data 重连 meta 逻辑 bug 导致所有 data 无法连接 meta 修改 v. data 从 working 状态变回 init 状态 bug 修改 Abstract This version mainly made bug fixes, and merged some errors in the internal version. Enhancement Upgrade jraft version to 1.2.5#28 Upgrade org.eclipse.jetty:jetty-server to version 9.4.17.v20190418#16 Feature Provide an interface to get session data.#14 Provide...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8