mimik Developer Documentation

How Does edgeEngine Service Mesh Work?

The edgeEngine Service Mesh is intended to unify under a single organizational unit all the microservices running on the edgeEngine nodes within a given edgeEngine Cluster. This organizational unit is, as the name implies, the edgeEngine Service Mesh and be inspected accordingly.

As mentioned previously in the section What Does edgeEngine Service Mesh Do?, edgeEngine microservices are organized within an edgeEngine Service Mesh according to Network, Account or Proximity types.

You can read the details of the Service Mesh Network, Account and Proximity types in the Key Concepts section of this document here.

The way an edgeEngine Mesh works is that an edgeEngine cluster's superNode keeps track of all the edgeEngine nodes and microservices that are members of a given cluster. Part of the superNode's activity is to report back to the edgeEngine Cloud the members of the given cluster as well as the state of each node and microservices within the cluster. This information is managed by set of subordinate services that are internal to the edgeEngine Cloud. The internal mechanisms coordinate the formation of an edgeEngine Service Mesh.

In addition to unifying the microservices running on the various edgeEngine clusters that are in force, event and log information about the activities of microservices running with the given edgeEngine Service Mesh can be accessed from the edgeEngine Cloud. (See Figure 1, below.)

The edgeEngine Service Mesh
Figure 1: edgeEngine Service Mesh uses various internal services within the edgeEngine Cloud to collect, store and report information about the nodes running in edgeEngine clusters (click to enlarge)

Registering a microservice to the edgeEngine Service Mesh is automatic. Developers do not have to do anything special to have an edgeEngine node, and subsequently the microservices running on the given node, be part of a particular edgeEngine Service Mesh.

Registering to an edgeEngine microservice to a edgeEngine Service Mesh is done automatically when an edgeEngine microservice comes online during deployment.

All the developer needs to do in order to get an edgeEngine microservice up and running on a device is to first, create an edgeEngine node should one not exist. Then, once a node is identified and made operational, the developer builds an edgeEngine Microservice Image and then deploys an edgeEngine Microservice Container using the edgeEngine Microservice Image. (The particulars of edgeEngine microservice creation are discussed in the Key Concepts section of the Developer Documentation.)

Developers gather information about the state of and the activities within the edgeEngine Service Mesh by working with the edgeEngine API and the edgeEngine Context Object. The edgeEngine Context Object is intrinsic to all microservices running under the edgeEngine Runtime. (The particulars of edgeEngine API and the edgeEngine Context Object are discussed in the Key Concepts section of the Developer Documentation.)