- Full Stack Development with JHipster
- Deepu K Sasidharan Sendil Kumar N
- 252字
- 2021-08-27 19:57:31
When to choose a microservice architecture
The following list can be used as a general guide when choosing a microservice architecture. This is not a definitive list but gives an idea of when to go with microservices architecture over a monolith. Please note that unlike choosing a monolithic architecture, the decision here is more complex and may involve cross consideration among many of the following points:
- When the application scope is large and well defined and you are sure that the application will grow tremendously in terms of features. For example, an online e-commerce store, a social media service, a video streaming service with a large user base, an API provider, and so on.
- When the team size is large, there must be enough members to effectively develop individual components independently.
- When the average skill set of the team is good and team members are confident about advanced microservice patterns.
- When time to market is not critical. The microservice architecture will take more time to get right up front.
- When you are ready to spend more on infrastructure, monitoring, and so on, in order to improve the product quality.
- When your user base is huge and you expect them to grow. For example, a social media application targeting users all over the world.
Though a monolithic architecture would suffice in most cases, investing up front in a microservice architecture will reap long-term benefits when the application grows huge.
For more on these architecture patterns, you can refer to https://articles.microservices.com/monolithic-vs-microservices-architecture-5c4848858f59.
推薦閱讀
- Oracle從入門到精通(第3版)
- Mobile Web Performance Optimization
- Getting started with Google Guava
- DevOps入門與實踐
- Visual C++串口通信技術詳解(第2版)
- Mastering Kali Linux for Web Penetration Testing
- 實戰Java高并發程序設計(第3版)
- 重學Java設計模式
- HTML5從入門到精通 (第2版)
- 大學計算機基礎實驗指導
- SQL 經典實例
- IPython Interactive Computing and Visualization Cookbook
- Developing Java Applications with Spring and Spring Boot
- AI輔助編程Python實戰:基于GitHub Copilot和ChatGPT
- Python人工智能項目實戰