Download the PHP package lushdigital/microservice-remote-models without Composer
On this page you can find all versions of the php package lushdigital/microservice-remote-models. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download lushdigital/microservice-remote-models
More information about lushdigital/microservice-remote-models
Files in lushdigital/microservice-remote-models
Package microservice-remote-models
Short Description A Lumen package to provide a familiar model paradigm for distributed data.
License MIT
Informations about the package microservice-remote-models
Lush Digital - Microservice Remote Models
A Lumen package to provide a familiar model paradigm for distributed data.
Description
This package provides a model system, similar to Eloquent, but with the key focus on distributed data. Each model class is bound to a remote microservice with an expected RESTful API. This allows developers to create service aggregators which can manipulate data, via models, just as easily as if the data was in a local database.
To allow this to work the package is quite opinionated on the request/response data in the remote services. This data should always conform to the following standard:
https://github.com/LUSHDigital/microservice-core/blob/master/spec/swagger.yaml
This package is intended to operate within a Kubernetes cluster whereby service discovery is handled by DNS names.
Relationships
The package also handles relationships between remote models via the use of gRPC. As well as the microservices existing to power the remote models, it is also expected that a gRPC application will be available to manage the relationships. This gRPC application is based upon this protocol buffer.
See the Configuration documentation for information on DNS and ports.
Installation
Install the package as normal:
Register the service provider with Lumen in the bootstrap/app.php file:
The package requires that the following changes are made to the Lumen config in bootstrap/app.php
Documentation
All versions of microservice-remote-models with dependencies
laravel/lumen-framework Version 5.3.*
guzzlehttp/promises Version ^1.3
guzzlehttp/guzzle Version ^6.2
grpc/grpc Version ^1.2
lushdigital/microservice-model-utils Version ^1.0