Download the PHP package lushdigital/microservice-aggregator-transport without Composer

On this page you can find all versions of the php package lushdigital/microservice-aggregator-transport. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package microservice-aggregator-transport

Lush Digital - Micro Service Aggregator Transport

A set of convenience classes and interfaces for simplifying aggregation of data from multiple microservices.

The purpose of the package is to provide a reliable, testable and easy to use means of communicating with microservices within a service oriented architecture.

Package Contents

Installation

Install the package as normal:

Copy the src/config/transport.php file into your config folder in the root of your app.

Finally add the following line to your bootstrap/app.php file:

Creating a Service

The first thing you need to do to utilise this package is to create a class to interact with your service.

This class will extend one of the base classes this package provides; you add your own methods for each endpoint of the service you want to access.

Local Service

A 'local' service is used when you can communicate with a service via some kind of local DNS. In that you do not need to call out over the internet to access the service. For example you might be using Kubernetes DNS.

Before you can create a cloud service you need to ensure the following config options are set (explicitly or via environment variables):

Then for each local service, you must define:

You can also optionally specify a version of a service:

To create a local service you need to extend the \LushDigital\MicroserviceAggregatorTransport\Service class:

As you can see in this service we have created a method which calls a POST endpoint to save a thing.

Cloud Service

A cloud service is used when you need to communicate with a service over the internet. The assumption is that the service is accessed via some kind of API gateway and can't be accessed directly.

Before you can create a cloud service you need to ensure the following config options are set (explicitly or via environment variables):

Then for each cloud service, you must define:

You can also optionally specify a version of a service:

Then you can define your service:

As you can the service looks very similar to a local one. The only major difference is the base class. The base class does all the heavy lifting of authentication and API gateway routing so you don't have to!

Using a Service

Once you have created your service it can be used just like any other PHP class. Think of them like you would a repository object in a database environment.

Example usage in a controller:

Asynchronous Requests

In some situations you made need to make multiple requests in quick succession. This can often be improved by running the requests concurrently. The package utilises Guzzle promises to do just that. First you need to define a service with an asynchronous call:

You can then use this in your controller:


All versions of microservice-aggregator-transport with dependencies

PHP Build Version
Package Version
Requires laravel/lumen-framework Version 5.3.*
guzzlehttp/guzzle Version ^6.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package lushdigital/microservice-aggregator-transport contains the following files

Loading the files please wait ....