liveBook · Manning

External input

As explained in Apache Kafka in Action

Data on the outside is service-external data structured for exchange across service boundaries and independent of any one service's internal model.

External input is data outside a service boundary, structured for exchange between services rather than optimized for one service’s internal model. This separation lets internal data models evolve independently when the exchanged data remains service-agnostic. section 17.1

Design external input around these practical properties:

  • Keep producers and consumers loosely coupled so an internal model change does not automatically require changes elsewhere. section 17.1
  • Prefer immutability: once another service may have consumed the data, avoid altering or deleting it. section 17.1
  • Use asynchronous exchange when independent services need real-time flow without synchronous dependencies that can cascade failures. section 17.6

Changing an internal model

A service can reorganize or aggregate its own internal data for performance and usability while continuing to publish service-agnostic external data. Other services can consume that exchange format without adopting the internal reorganization. section 17.1

Figure 17.1 We differentiate between service-internal data, that is, data on the inside, and data exchanged between services, that is, data on the outside.
A red and green paper with black text

AI-generated content may be incorrect.

Use the boundary diagram to distinguish service-internal data, tightly coupled to its managing service, from external data exchanged across services. section 17.1

How Apache Kafka in Action covers it

How deep it goes
Defines coupling, immutability, and model independence, but does not specify a concrete schema or implementation.
Examples
Illustrates independent internal-model changes, service-boundary data exchange, and retained historical messages.
What you can do after
Evaluate service boundaries and choose decoupled exchange patterns alongside tightly coupled internal storage.
How it connects
Connects service boundaries with asynchronous communication, Kafka, HTTP-REST, and relational databases.

Also explained in

Compare how 2 books explain external input →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Apache Kafka in Action. The section links point to the parts of the book it draws on.