Digital Garden of Paul

Cell-based Architecture

In a cell-based architecture the cell is defined as a collection of components. It is grouped from design and implementation into deployment. Each cell is independently deployable, manageable and observable. Inside the cell communication can communicate via supported transports of communication. External communication must happen via edge-gateways or proxy as APIs, events or streams.

Components in a cell are reusable and can be seen in multiple cells. Dependencies of a cell must be integrated via accessible endpoints, for example network endpoints as APIs, events or streams. Every component in a cell should be versioned, enforcing that each cell has a name and a version.

External communication with a cell can be achieved via three API types.

  • Request Response API types provide an abstraction over everything that can be queried or activated.
  • Events allow action in real-time based on changes that occur in the environment, allowing work to be triggered.
  • Streams capture the ongoing evolving nature of the environment, allowing pattern matching and analysis.

Source: wso2/reference-architecture ยท GitHub

Cell-based Architecture