- Microservices Development Cookbook
- Paul Osman
- 271字
- 2021-07-16 17:48:25
Decomposing by business capability
In the early stages of product development, monoliths are the best suited to delivering features to users as quickly and simply as possible. This is appropriate, as at this point in a products development you do not have luxury problems of having to scale your teams, code bases or ability to serve customer traffic. Following good design practices, you separate your applications concerns into easy-to-read, modular code patterns. Doing so allows engineers to work on different sections of the code autonomously and limits the possibility of having to untangle complicated merge conflicts when it comes time to merge your branch into the master and deploy your code.
Microservices require you to go a step further than the good design practices you've already been following in your monolith. To organize your small, autonomous teams around microservices, you should consider first identifying the core business capabilities that your application provides. Business capability is a business school term that describes the various ways your organization produces value. For example, your internal order management is responsible for processing customer orders. If you have a social application that allows users to submit user-generated content such as photos, your photo upload system provides a business capability.
When thinking about system design, business capabilities are closely related to the Single Responsibility Principle (SRP) from object-oriented design (OOD). Microservices are essentially SRP extended to code bases. Thinking about this will help you design appropriately sized microservices. Services should have one primary job and they should do it well. This could be storing and serving images, delivering messages, or creating and authenticating user accounts.
- CorelDRAW X6 中文版圖形設(shè)計實戰(zhàn)從入門到精通
- EDA技術(shù)與VHDL編程
- SEO 20日
- 互聯(lián)網(wǎng)基礎(chǔ)資源技術(shù)與應(yīng)用發(fā)展態(tài)勢(2021—2023)
- 計算機(jī)網(wǎng)絡(luò)工程實用教程(第2版)
- CCNP TSHOOT(642-832)認(rèn)證考試指南
- Building Web Applications with ArcGIS
- 通信十年:擁抱互聯(lián)網(wǎng)
- Getting Started with Memcached
- 從實踐中學(xué)習(xí)手機(jī)抓包與數(shù)據(jù)分析
- 高級網(wǎng)絡(luò)技術(shù)
- 大型企業(yè)微服務(wù)架構(gòu)實踐與運營
- 云計算技術(shù)與標(biāo)準(zhǔn)化
- 深入理解計算機(jī)網(wǎng)絡(luò)
- Guide to NoSQL with Azure Cosmos DB