- Write code that is easy to delete, not easy to extend
- Write code that’s easy to delete, and easy to debug too
- Repeat yourself, do more than one thing, and rewrite everything
- How do you cut a monolith in half?
- Scaling in the presence of errors—don’t ignore them
twitter: @tef_ebooks
How do you cut a monolith in half?
Quando a coordenação central se torna o fator limitante, mover responsabilidades para as bordas pode produzir ganhos desproporcionais de escala e resiliência — desde que você aceite a complexidade adicional que inevitavelmente virá junto.
O verdadeiro desafio de sistemas distribuídos não é mover código para processos diferentes; é definir corretamente os protocolos que governam as interações entre esses processos.
O protocolo é:
O broker apenas entrega o envelope. O protocolo é o acordo social que existe entre os sistemas que estão trocando aquelas mensagens. É esse acordo que determina se sua arquitetura será simples ou se ela se transformará num conjunto de serviços aparentemente desacoplados, mas semanticamente inseparáveis.