Hyperf 发布 Nats 组件及 v1.1.5 版本 | PHP 微服务云原生协程框架
更新内容
本周更新主要为新增 hyperf/nats 组件,Nats 是一个开源、轻量级、高性能的云原生消息系统,本组件使 Hyperf 与 Nats 进行交互提供了可能性。同时对 Consul 集群作为服务注册中心提供了支持,以及为 Redis 集群提供了客户端支持,同时我们还修复了一些组件的 🐛Bug,使 Hyperf 1.1.* 系列版本更加的健壮了,发布于 1.1.4 版,建议使用 1.1 的用户更新。
直接访问 官网 hyperf.io 或 文档 hyperf.wiki 查看。
新增
- #812 新增计划任务在集群下仅执行一次的支持;
- #820 新增 hyperf/nats 组件;
- #832 新增
Hyperf\Utils\Codec\Json
; - #833 新增
Hyperf\Utils\Backoff
; - #852 为
Hyperf\Utils\Parallel
新增clear()
方法来清理所有已添加的回调; - #854 新增
Hyperf\GraphQL\GraphQLMiddleware
用于解析 GraphQL 请求; - #859 新增 Consul 集群的支持,现在可以从 Consul 集群中拉取服务提供者的节点信息;
- #873 新增 Redis 集群的客户端支持;
修复
- #831 修复 Redis 客户端连接在 Redis Server 重启后不会自动重连的问题;
- #835 修复
Request::inputs
方法的默认值参数与预期效果不一致的问题; - #841 修复数据库迁移在多数据库的情况下连接无效的问题;
- #844 修复 Composer 阅读器不支持根命名空间的用法的问题;
- #846 修复 Redis 客户端的
scan
,hScan
,zScan
,sScan
无法使用的问题; - #850 修复 Logger group 在 name 一样时不生效的问题;
优化
- #832 优化了 Response 对象在转 JSON 格式时的异常处理逻辑;
- #840 使用
\Swoole\Timer::*
来替代swoole_timer_*
函数; - #859 优化了 RPC 客户端去 Consul 获取健康的节点信息的逻辑;
关于 Hyperf
Hyperf 是基于 Swoole 4.4+
实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM
的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换
与 可复用
的。
框架组件库除了常见的协程版的 MySQL 客户端
、Redis 客户端
,还为您准备了协程版的 Eloquent ORM
、WebSocket 服务端及客户端
、JSON RPC 服务端及客户端
、GRPC 服务端及客户端
、OpenTracing(Zipkin, Jaeger) 客户端
、Guzzle HTTP 客户端
、Elasticsearch 客户端
、Consul 客户端
、ETCD 客户端
、AMQP 组件
、Nats 组件
、Apollo 配置中心
、阿里云 ACM 应用配置管理
、ETCD 配置中心
、基于令牌桶算法的限流器
、通用连接池
、熔断器
、Swagger 文档生成
、Swoole Tracker
、Blade 和 Smarty 视图引擎
、Snowflake 全局ID生成器
等组件,省去了自己实现对应协程版本的麻烦。
Hyperf 还提供了 基于 PSR-11 的依赖注入容器
、注解
、AOP 面向切面编程
、基于 PSR-15 的中间件
、自定义进程
、基于 PSR-14 的事件管理器
、Redis/RabbitMQ 消息队列
、自动模型缓存
、基于 PSR-16 的缓存
、Crontab 秒级定时任务
、i18n 国际化
、Validation 表达验证
等非常便捷的功能,满足丰富的技术场景和业务场景,开箱即用。
框架初衷
尽管现在基于 PHP 语言开发的框架处于一个百花争鸣的时代,但仍旧未能看到一个优雅的设计与超高性能的共存的完美框架,亦没有看到一个真正为 PHP 微服务铺路的框架,此为 Hyperf 及其团队成员的初衷,我们将持续投入并为此付出努力,也欢迎你加入我们参与开源建设。
设计理念
Hyperspeed + Flexibility = Hyperf
,从名字上我们就将 超高速
和 灵活性
作为 Hyperf 的基因。
- 对于超高速,我们基于 Swoole 协程并在框架设计上进行大量的优化以确保超高性能的输出。
- 对于灵活性,我们基于 Hyperf 强大的依赖注入组件,组件均基于 PSR 标准 的契约和由 Hyperf 定义的契约实现,达到框架内的绝大部分的组件或类都是可替换的。
基于以上的特点,Hyperf 将存在丰富的可能性,如实现 单体 Web 服务,API 服务,网关服务,分布式中间件,微服务架构,游戏服务器,物联网(IOT)等。
文档齐全
我们投入了大量的时间用于文档的建设,以解决各种因为文档缺失所带来的问题,文档上也提供了大量的示例,对新手同样友好。
Hyperf 官方开发文档
生产可用
我们为组件进行了大量的单元测试以保证逻辑的正确,目前存在 1163
个单测共 3427
个断言条件,同时维护了高质量的文档,在 Hyperf 正式对外开放(2019年6月20日)之前,便已经过了严酷的生产环境的考验,我们才正式的对外开放该项目,现在已有很多的大型互联网企业都已将 Hyperf 部署到了自己的生产环境上并稳定运行。
官网及交流
Github 👈👈👈👈👈 点 Star 支持我们
Gitee 码云 👈👈👈👈👈 点 Star 支持我们
QQ 群: 862099724
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《吊打面试官》系列-Redis哨兵、持久化、主从、手撕LRU
你知道的越多,你不知道的越多 点赞再看,养成习惯 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法),打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚,在一个寂寞难耐的夜晚,我痛定思痛,决定开始写《吊打面试官》系列,希望能帮助各位读者以后面试势如破竹,对面试官进行360°的反击,吊打问你的面试官,让一同面试的同僚瞠目结舌,疯狂收割大厂Offer! 絮叨 写这期其实比较纠结,我之前的写的比较通俗易懂,一是我都知道这些点,二是之前我在所在的电商公司对雪崩,击穿啥的还算有场景去接触。但是线上的Redis集群我实际操作经验很少,总不能在公司线上环境实践那些操作吧,所以最后看了下官网,还有一些资料(文章后面我都会贴出来),强行怼了这么篇出来。 最近双十一小忙,周末双十一值班目测没时间写,那我是暖男呀,我不能鸽啊,就有了这一篇,下一篇迟到你们不要喷我哈,而且下一篇还是Redis的终章还是得构思下,不熟悉的知识点我...
- 下一篇
Spring Boot 2.2.1 已更新
spring boot开发团队宣布,SpringBoot2.2.1已经发布,现在已经可以从repo.spring.io和Maven仓库获得. 此版本包括110次修复、改进和依赖升级 对于从SpringBoot 2.2.0升级到SpringBoot 2.2.1的用户,如果您依赖@ConfigurationProperties扫描支持,请注意,默认情况下,此功能已被禁用。需要通过添加@ConfigurationPropertiesScan注释显式地选择对@ConfigurationProperties的扫描
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8