V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
limingxinleo
V2EX  ›  PHP

Hyperf 发布 v2.0.17 版本 | 企业级的 PHP 微服务云原生协程框架

  •  
  •   limingxinleo · 2020-11-02 14:16:18 +08:00 · 2025 次点击
    这是一个创建于 1501 天前的主题,其中的信息可能已经有所发展或是发生改变。

    更新内容

    本周主要新增了 view-engine 组件,view-engine 组件衍生于 LaravelBlade 模板引擎,可以直接在 Worker 进程中渲染视图,无需启动额外的 Task 进程。同时我们修复了一些组件的 🐛Bug,继续提升 Hyperf 的稳定性,发布于 2.0.17 版。

    建议用户使用以下命令更新此版本。

    composer update "hyperf/*" -o
    

    直接访问 官网 hyperf.io 或 文档 hyperf.wiki 查看更新内容

    新增

    • #2625 新增 Hyperf\Tracer\Aspect\JsonRpcAspect, 可以让 Tracer 组件支持 JsonRPC 的链路追踪。
    • #2709 #2733Model 新增了对应的 @mixin 注释,提升模型的静态方法提示能力。
    • #2726 #2733gen:model 脚本增加可选项 --with-ide, 可以生成对应的 IDE 文件。
    • #2737 新增 view-engine 组件,可以不需要在 Task 进程中渲染页面。

    修复

    • #2719 修复 Arr::merge 会因 array1 中不包含 array2 中存在的 $key 时,导致的报错问题。
    • #2723 修复 Paginator::resolveCurrentPath 无法正常工作的问题。

    优化

    • #2746 优化 @Task 注解,只会在 worker 进程中执行时,会投递到 task 进程执行对应逻辑,其他进程则会降级为同步执行。

    变更

    • #2728 JsonRPC 中,以 __ 为前缀的方法,都不会在注册到 RPC 服务中,例如 __construct, __call

    关于 Hyperf

    Hyperf 是基于 Swoole 4.5+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换可复用 的。

    框架组件库除了常见的协程版的 MySQL 客户端Redis 客户端,还为您准备了协程版的 Eloquent ORMWebSocket 服务端及客户端JSON RPC 服务端及客户端GRPC 服务端及客户端OpenTracing(Zipkin, Jaeger) 客户端Guzzle HTTP 客户端Elasticsearch 客户端Consul 、Nacos 服务中心ETCD 客户端AMQP 组件Nats 组件Apollo 、ETCD 、Zookeeper 、Nacos 和阿里云 ACM 的配置中心基于令牌桶算法的限流器通用连接池熔断器Swagger 文档生成Swoole TrackerBlade 、Smarty 、Twig 、Plates 和 ThinkTemplate 视图引擎Snowflake 全局 ID 生成器Prometheus 服务监控 等组件,省去了自己实现对应协程版本的麻烦。

    Hyperf 还提供了 基于 PSR-11 的依赖注入容器注解AOP 面向切面编程基于 PSR-15 的中间件自定义进程基于 PSR-14 的事件管理器Redis/RabbitMQ 消息队列自动模型缓存基于 PSR-16 的缓存Crontab 秒级定时任务Sessioni18n 国际化Validation 表单验证 等非常便捷的功能,满足丰富的技术场景和业务场景,开箱即用。

    框架初衷

    尽管现在基于 PHP 语言开发的框架处于一个百花争鸣的时代,但仍旧未能看到一个优雅的设计与超高性能的共存的完美框架,亦没有看到一个真正为 PHP 微服务铺路的框架,此为 Hyperf 及其团队成员的初衷,我们将持续投入并为此付出努力,也欢迎你加入我们参与开源建设。

    设计理念

    Hyperspeed + Flexibility = Hyperf,从名字上我们就将 超高速灵活性 作为 Hyperf 的基因。

    • 对于超高速,我们基于 Swoole 协程并在框架设计上进行大量的优化以确保超高性能的输出。
    • 对于灵活性,我们基于 Hyperf 强大的依赖注入组件,组件均基于 PSR 标准 的契约和由 Hyperf 定义的契约实现,达到框架内的绝大部分的组件或类都是可替换的。

    基于以上的特点,Hyperf 将存在丰富的可能性,如实现 单体 Web 服务,API 服务,网关服务,分布式中间件,微服务架构,游戏服务器,物联网( IOT )等。

    文档齐全

    我们投入了大量的时间用于文档的建设以提供高质量的文档体验,以解决各种因为文档缺失所带来的问题,文档上也提供了大量的示例,对新手同样友好。
    Hyperf 官方开发文档

    生产可用

    我们为组件进行了大量的单元测试以保证逻辑的正确,目前存在 1555 个单测共 4834 个断言条件,Hyperf 是一款经历过严酷的生产环境考验的一个项目,目前已有很多的大型互联网企业都已将 Hyperf 部署到了自己的生产环境上并稳定运行。

    官网及交流

    Github 👈👈👈👈👈 点 Star 支持我们
    Gitee 码云 👈👈👈👈👈 点 Star 支持我们
    Hyperf 官网
    Hyperf 文档
    Hyperf 交流群(已满): 862099724
    Hyperf 交流 2 群: 811414891

    3 条回复    2020-11-03 10:54:49 +08:00
    ben1024
        1
    ben1024  
       2020-11-02 20:58:15 +08:00
    emm 。。。什么时候整个线上热重启多好
    limingxinleo
        2
    limingxinleo  
    OP
       2020-11-02 22:38:34 +08:00
    @ben1024 线上热重启这么鸡肋的东西,真的有这么迫切的需求么?
    ben1024
        3
    ben1024  
       2020-11-03 10:54:49 +08:00
    @limingxinleo
    开发习惯了,现在线上用的冷重启经常崩溃,部署起来还是麻烦的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2387 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:33 · PVG 23:33 · LAX 07:33 · JFK 10:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.