jafaripur / php-microservice
微服务服务器和客户端。
dev-master
2022-08-18 11:25 UTC
Requires
- php: ^8.1
- enqueue/amqp-bunny: ^0.10.9
- enqueue/amqp-ext: ^0.10.9
- psr/container: ^1.0 || ^2.0
- psr/log: ^1.1 || ^2.0 || ^3.0
- yiisoft/injector: ^1.0
- yiisoft/json: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- overtrue/phplint: ^4.0
- phpunit/phpunit: ^9.4
- vimeo/psalm: ^4.18
Suggests
- ext-amqp: Using native AMQP wrapper.
- ext-msgpack: Using for msgpack for payload serialize and unserialize.
- jafaripur/php-microservice-application: Sample microservice application template using this library with Spiral framework
- jafaripur/php-microservice-application-symfony: Sample microservice application template using this library with Symfony framework
- jafaripur/php-microservice-application-yii2: Sample microservice application template using this library with Yii2 framework
- jafaripur/php-microservice-application-yii3: Sample microservice application template using this library with Yii3 framework
This package is auto-updated.
Last update: 2024-09-18 15:54:56 UTC
README
一个独立的包,用于在PHP中实现微服务节点之间的消息传递,包括服务器和客户端。服务器消费者监听接收消息并进行处理,客户端将数据推送到消息队列,服务器消费者抓取并处理。
特性
- 使用PHP AMQP扩展,如果未安装
ext-amqp
,则切换到Bunny库。 - PSR-3兼容的日志系统。
- PSR-11兼容的服务容器,用于在处理器文件上进行依赖注入。
- 定义处理器类以响应客户端调用的方法。
- 定义消费者类,并为其附加处理器以启动消费。
- 异步命令发送。
- 每个微服务都可以是服务器或客户端,并且可以相互通信。
- 向队列发送消息的客户端。
安装
安装此包的首选方式是通过composer
composer require jafaripur/php-microservice
文档
有关更多详细信息,请参阅完整文档 http://php-microservice.readthedocs.io/。
测试
# Run test docker-compose up --build --exit-code-from micro micro # Stop and remove created containers docker-compose down