1、Simon MartinelliSession:2793Goodbye Microservices,Hello Self-Contained SystemsAbout Me 30 years of Software Engineering Java for 25 years Self-employed since 2009 University teacher for 18 years JUG Switzerland,Location BernThe Evolution of ArchitectureUntil 19992000-20102011-Are These the Same Thin
2、g?7Its All About ModularityModuleA self-contained componentof a system,often interchangeable,which has a well-defined interfaceto the other components.Source:https:/en.wiktionary.org/wiki/module81972The effectiveness of a modularization is dependent upon the criteria used in dividing the system into
3、 modules.On the criteria to be used in decomposing systems into modules-David L.ParnasPublished in Communications of the ACM Volume 15 Issue 12,Dec.1972Does Size Matter?The term MICRO is misleading Scope matters Bounded Contexts Design for Maintenance 3 to 10 developers per Microservice during proje
4、ct development But how many developers will maintain the system?10Modularity and Distribution11DistributionModularityModular monolithMonolithic big ball of mudDistributed big ball of mudMicroservicesDistributed Big Ball of Mud If you cant build a modular monolith,what makes you think microservices a
5、re the answer?-Simon Brown12CustomerOrderCatalogDistribution and Communciation First Law of Distributed Object Design:Dont distribute your objects-Martin Fowler13SynchronousAsynchronousEvent basedBeware of the N+1 Select Problem Use Case:Select all orders of certain customers1.1 request to get all c
6、ustomers2.n requests to get orders of customer14CustomerOrderClient11.nAnti-PatternsDatabase BBackend DDatabase DFrontend BFrontend CBackend BBackend CMonolithic frontendIntegration DatabaseSelf-Contained Systems Architecturehttps:/scs-architecture.orgThe content in this section is licensed under th