rollun-com / rollun-mesh
Rollun realisation mesh
Installs: 52
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^7.0
- http-interop/http-middleware: 0.4.1
- rollun-com/rollun-datastore: ^5.0
- zendframework/zend-servicemanager: ^3.3
Requires (Dev)
- filp/whoops: ^2.1.7
- phpunit/phpunit: ^6.0.8
- squizlabs/php_codesniffer: ^2.8.1
- zendframework/zend-component-installer: ^1.0
- zendframework/zend-config-aggregator: ^1.0
- zfcampus/zf-development-mode: ^3.1
This package is auto-updated.
Last update: 2021-02-06 02:08:09 UTC
README
Реализация service-mesh на php.
Клиент rollun/mesh/MeshHttpClient
основаный на Zend\Http\Client
позволяет отпралять запросы используя
вместо host-name (ip, domain, ip:port, ...) имя сервиса к которому вы хотите обратиться.
Для этого используется DataStore инъецированный в клиент.
Это может быть кастомный dataStore, либо можно использовать реализацию в виде MeshTable::class
.
DataStore который представляет таблицу в базе данных.
Можно установить используя
MeshTableInstaller::class
.
В случае если хост не был найден по имени в dataStore, то имя будет использовать в качетсве хоста по умолчанию.
Это означает что если вы не заполните dataStore данными, то данный клиент будет работать так же как и
Zend\Http\Client
Для того что бы воспользоваться данным клиентом, используйте предоставленый по умолчанию MeshTable::class
в качесве MeshDataStore.
Можно установить используя
MeshTableInstaller::class
.
Либо создайте и настройте свой MeshDataStore.
В таком случае Вам необходимо реализовать
MeshInterface::class
, и сделать ваш сервсис(dataStore) доступным по имениMeshInterface::class
.
После подключите rollun/mesh/ConfigProvider
как это сделано в файле config/config.php
Теперь вы можете получить клиент из контейнера по имени MeshHttpClient::class
.