? hyperf releases v1.1.3 version; enterprise level PHP micro service cloud native collaboration framework

Time:2019-12-2

Update content

This week’s updates are mainlyParallel feature increases the function of cooperation control, which is also a combination of parallel and concurrent features. At the same time, we fixed some components’ bugs, making the hyperf 1.1. * series more robust. It was released in version 1.1.3, and it is recommended to use the 1.1 user update.
Visit the official website hyperf.io or the document hyperf.wiki directly.

Newly added

  • #745 isgen:modelCommand increasewith-commentsOption to mark whether field comments are generated;
  • #747 increase for AMQP consumersAfterConsume, BeforeConsume, FailToConsumeEvent;
  • #762 adds the function of process control to parallel feature;

change

  • #767 renameAbstractProcessOfrunningProperty name islisteningοΌ›

repair

  • #741 repair executiondb:seedThe command is missing the file name and reports an error;
  • #748 repairSymfonyNormalizerNot deal witharrayType data problems;
  • #769 fixes the problem that an invalid request will be thrown when the result and error properties of the JSON RPC response are null;

Parallel process control

When using parallel, it can greatly improve the processing speed of multiple requests. However, if a service is processed in batches and the amount of cooperation is very large, it is easy to crush the opposite end. When we want to both batch requests and control the maximum number of cooperation at the same time to protect the opposite end, then you can give The first parameter of the parallel constructor passes in the maximum number of collaborations you want at the same time, as follows:

<?php
use Hyperf\Utils\Parallel;

//Up to 10 concurrent processes are allowed
$concurrent = 10;
$parallel = new Parallel($concurrent);
$parallel->add(function () {
    sleep(1);
    return 1;
});
$result = $parallel->wait();

About hyperf

Hyperf is based onSwoole 4.4+The implementation of high-performance, high flexibility PHP cooperation framework, built-in cooperation server and a large number of commonly used components, performance based on traditionalPHP-FPMWhile providing ultra-high performance, our framework also maintains extremely flexible scalability. Standard components are implemented based on PSR standards, and based on strong dependency injection design, ensuring that most components or classes areReplaceableAndReusable.

In addition to the common collaborative version ofMySQL client、Redis clientIt also provides you with a collaborative version ofEloquent ORM、Websocket server and client、JSON RPC server and client、Grpc server and client、Zipkin (opentracking) client、Guzzle HTTP client、Elasticsearch client、Consul client、Etcd client、AMQP component、Apollo configuration center、Alicloud ACM application configuration management、Etcd configuration center、Current limiter based on token bucket algorithm、Universal connection pool、Fuse、Swagger document generation、Swoole Tracker、Blade and Smarty view engine、Snowflake global ID generatorAnd other components save the trouble of implementing the corresponding version.

Hyperf also providesDependency injection container based on psr-11、annotation、AOP aspect oriented programming、Middleware based on psr-15、Custom process、Event manager based on psr-14、Redis / rabbitmq message queue、Automatic model caching、Cache based on psr-16、Crontab second level scheduled task、I18N internationalization、Validation expression validationAnd other very convenient functions, to meet the rich technical and business scenarios, out of the box.

Original intention of framework

Although the framework based on PHP language development is in an era of a hundred flowers contending, we still can’t see a perfect framework with elegant design and ultra-high performance coexisting, nor a framework that really paves the way for PHP microservices. This is the original intention of hyperf and its team members. We will continue to invest in and make efforts for this, and welcome you to join us Source construction.

Design concept

Hyperspeed + Flexibility = HyperfFrom the name, we willSuper high speedandflexibilityAs a gene of hyperf.
Β  Β 

  • For ultra-high speed, we are based on the swoole process and make a lot of optimization in the framework design to ensure the output of ultra-high performance.
  • For flexibility, we are based on the powerful dependency injection component of hyperf, which is based on the contract of PSR standard and the contract implementation defined by hyperf, so that most of the components or classes in the framework are replaceable.

Based on the above characteristics, hyperf will have rich possibilities, such as the realization of single web services, API services, gateway services, distributed middleware, micro service architecture, game servers, Internet of things (IOT), etc.

Complete documentation

We have invested a lot of time in the construction of documents to solve various problems caused by the lack of documents. Documents also provide a large number of examples, which are also friendly to novices.
Hyperf official development document

Production available

We do a lot of unit tests for components to ensure the logic is correct. Currently, there are1125Single survey3381Four assertion conditions and high-quality documents have been maintained. Before hyperf officially opened to the outside world (June 20, 2019), it had passed the test of harsh production environment, and we officially opened the project to the outside world. Now many large Internet enterprises have deployed hyperf to their own production environment and operated stably.

Official website and communication

GitHub, point star support us
Gitee code cloud, point star support us
Hyperf official website
Hyperf document
QQ group: 862099724