- Microservices Development Cookbook
- Paul Osman
- 286字
- 2021-07-16 17:48:25
How to do it...
Decomposing your monolith by business capability is a process. These steps can be carried out in parallel for each new service you identify a need for, but you may want to start with one service and apply the lessons you learn to subsequent efforts:
- Identify a business capability that is currently provided by your monolith. This will be the target for our first service. Ideally this business capability is something that has some focus on the roadmap you worked on in the previous recipe and ownership can be given to one of your newly created teams. Let's use our fictional photo messaging service as an example and assume we'll start with the ability to upload and display media as our first identified business capability. This functionality is currently implemented as a single model and controller in your Ruby on Rails monolith:

- In the preceding screenshot, AttachmentsController has four methods (called actions in Ruby on Rails lingo), which roughly correspond to the create, retrieve, update, delete (CRUD) operations you want to perform on an Attachment resource. We don't strictly need it, and so will omit the update action. This maps very nicely to a RESTful service, so you can design, implement, and deploy a microservice with the following API:
POST /attachments
GET /attachments/:id
DELETE /attachments/:id
- With the new microservice deployed (migrating data is discussed in a later recipe), you can now begin modifying client code paths to use the new service. You can begin by replacing the code in the AttachmentsController action's methods to make an HTTP request to our new microservice. Techniques for doing this are covered in the Evolving your monolith into services recipe later in this chapter.
推薦閱讀
- Modern JavaScript Web Development Cookbook
- 物聯網智慧安監技術
- 物聯網識別技術
- Hands-On Chatbots and Conversational UI Development
- 物聯網技術與應用
- 面向5G-Advanced的關鍵技術
- Learning Storm
- Scala Design Patterns.
- Practical Web Penetration Testing
- 云工廠:開啟中國制造云時代
- 現代通信系統(第5版)
- bash網絡安全運維
- Enterprise ApplicationDevelopment with Ext JSand Spring
- 人際網絡
- 趣話通信:6G的前世、今生和未來