This site is is currently under maintenance, please try again later
Discover how Axinom Mosaic’s API-first design fosters flexible and secure interservice communication. The philosophy is simple — Everything doable in UI (and more) can also be achieved using API.
Don’t have time?
Book a demo
TRUSTED BY
Every Mosaic service provides a GraphQL API, making it easy for other services to access its features. While REST remains available for custom or third-party integrations, GraphQL is the native and preferred method for seamless communication within Mosaic.
Learn moreMosaic services communicate using RabbitMQ for messaging. Each environment has its own dedicated RabbitMQ virtual host (vhost), ensuring messages stay isolated and secure within that environment.
Learn MoreMosaic’s GraphQL APIs empower synchronous communication, offering a schema-based, strongly-typed interface for consistent and precise data access. Each Mosaic service offers a GraphQL API out of the box and follows the same pattern for authentication and authorization.
GraphQL Call
Ensures development consistency, provides immediate feedback on invalid requests, and acts as a source of truth for developers.
Tailor queries to specific client needs, reducing backend changes, and enabling faster frontend iteration.
Includes GraphiQL for schema exploration, Apollo Federation, Postgraphile for schema generation, Codegen, and more.
API evolution without breaking existing integrations, and in a backward-compatible manner due to client-defined queries, field-level deprecation, optional arguments, and input types.
Reduces traffic and improves performance with no over-fetching or under-fetching.
Mosaic runs its own cluster of a well-known message broker RabbitMQ. It provides scalable and reliable interservice communication. Mosaic abstracts away the complexities for developers and provides easy to use messaging interface supporting patterns like commands and events, but also transactional inbox/outbox.
Asynchronous communication with commands and events using RabbitMQ as a message broker
Services can send commands to other services requiring to perform a specific action or task; similar to API calls just in an asynchronous manner.
Services (publishers) can emit events to which other services (subscribers) can subscribe and perform their specific actions.
Mosaic uses AsyncAPI to specify asynchronous messages using JSON schemas, similarly to how OpenAPI defines REST interfaces. This enables automatic message payload validation.
Mosaic uses transactional inbox/outbox patterns to ensure message reliability and consistency when working with asynchronous messaging and databases.
Communication with RabbitMQ using the AMQP protocol is hidden behind a simple interface, where all the messaging complexities, such as retries and error handling, are handled by Mosaic and 3rd party libraries.
Don’t have time now?
Book
a call