Flow is a visual tool that gives you an up-to-date view of your entire system. Flow helps you improve your microservices architecture by letting you instantly identify which services depend on each other and how they work together.
Having access to a zoomed out representation of your system can be invaluable in pretty much all parts of the development cycle. Flow helps you:
- Track down bottlenecks before they grow into big problems.
- Get someone new to the team up onboarded and up to speed.
- Pinpoint hot paths in your system, services that might need extra attention.
Services and PubSub topics are represented as boxes, arrows indicate a dependency. In the example below
login service has dependencies on the
authentication services. Dashed arrows shows publications or
subscriptions to a topic. Here,
payment publishes to the
payment-made topic and
Hover over a service, or PubSub topic, to instantly reveal the nature and scale of its dependencies.
login service and its dependencies are highlighted. We can see that
login makes queries to the
database and requests to two of the endpoints from the
user service as well as requests to one endpoint from
Flow is available in the Development Dashboard which is accessible after
encore run in your terminal. From there, Flow will auto update in real-time to reflect your architecture as you
develop your application. This helps you be mindful of important dependencies and make it clear if you introduce new ones.
In the example below a new subscription on the topic
payment-made is introduced and then removed in