Building Microservices: Designing Fine-Grained Systems
Rate it:
0%
Flag icon
with their own lifecycles,
3%
Flag icon
“Gather together those things that change for the same reason, and separate those things that change for different reasons.”
5%
Flag icon
Chapter 4. Services can and should make heavy use of third-party libraries to reuse common code. But they don’t get us all the way there.
7%
Flag icon
Our requirements shift more rapidly than they do for people who design and build buildings
7%
Flag icon
The things we create are not fixed points in time.
7%
Flag icon
Thus, our architects need to shift their thinking away from creating the perfect end product, and instead focus on helping create a framework in which the right systems can emerge, and continue to grow as we learn more.
7%
Flag icon
he zones a city. So as in SimCity, you might designate part of your city as an industrial zone, and another part as a residential zone. It is then up to other people to decide what exact buildings get created, but there are restrictions: if you want to build a factory, it will need to be in an industrial zone.
7%
Flag icon
the town planner will instead spend far more time working out how people and utilities move from one zone to another.
7%
Flag icon
The town planner does his best to anticipate these changes, but accepts that trying to exert direct control over all aspects of what happens is futile.
7%
Flag icon
As architects, we need to worry much less about what happens inside the zone than what happens between the zones.
12%
Flag icon
When services are loosely coupled, a change to one service should not require a change to another.
12%
Flag icon
We want related behavior to sit together, and unrelated behavior to sit elsewhere.
13%
Flag icon
seen. Prematurely decomposing a system into microservices can be costly, especially if you are new to the domain. In many ways, having an existing codebase you want to decompose into microservices is much easier than trying to go to microservices from the beginning.
13%
Flag icon
When you start to think about the bounded contexts that exist in your organization, you should be thinking not in terms of data that is shared, but about the capabilities those contexts provide the rest of the domain.