๐Ÿซ™ MSA

Gunhoยท2024๋…„ 12์›” 22์ผ
0

Object Oriented Programming (OOP) & Java

๋ชฉ๋ก ๋ณด๊ธฐ
25/29

๐Ÿซ™ MSA

๐Ÿซ™ MSA (Micro Service Architecture) is an architectural pattern that organises an application into the loosely-coupled and independently functioning services.

Available at here


MSA is often implemented via REST APIs where each services communicate via APIs or message queues where some services follow the subscription model combined with light protocols than the REST API.

The core of MSA (Microservices Architecture) lies in the independence of services where each microservice has its own independent database.

๐Ÿ“ฆ Database synchronisation has to be as well implemented if MSA implements the independent database.

Implementing MSA can be considered as MSA:

  • ๐Ÿ™ improves app-wise flexibility and scalability

    • allows modifications or updates to be made to specific parts of the system without impacting the entire system

    • when the demand for a specific service increases, only that service can be scaled

    • various technology stacks can be implemented independently

  • ๐Ÿ‹ improves stability from the fault isolation

    • followed by limited effects over an entire application from a single service failing over
  • ๐ŸŽž๏ธ simplifies CI/CD processes


MSA, however, has the following drawbacks:

  • ๐ŸŽฎ increased overall complexities at the architecture level

  • ๐Ÿ“Ÿ high overhead from network latencies and message processing times from the inter-service calls

  • ๐Ÿ‘ท followed by possibilities of MSA built in different tools, engineers moving between projects frequently could be challenging (high learning curve)


๐ŸŒŽ Real-World Scenario

MSA (Microservices Architecture) has been successfully adopted by many companies worldwide. For example, Netflix, Amazon, and eBay have significantly improved the scalability and flexibility of their systems through MSA.

Netflix is one of the most prominent examples of MSA adoption. Netflix implemented MSA to support its rapid service growth and global expansion. This enabled Netflix to efficiently handle high traffic volumes and large amounts of data.

Amazon initially used a large monolithic architecture but transitioned to MSA due to its business growth and the need for diverse services. This transition allowed Amazon to enable independent development and deployment of services, thereby enhancing the scalability of its system.

These companies adopted MSA to achieve faster development and deployment of services, higher system stability, and the ability to utilise diverse technology stacks. This demonstrates that MSA is a well-suited architecture for modern software development.

These real-world examples show that adopting MSA provides tangible benefits to businesses, enabling them to respond flexibly to growth and change. As a result, MSA will continue to be adopted by many companies in the future.


๐Ÿ“š References

F-Lab
Microsoft
์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ดํ•ด์™€ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์ถ•ํ•˜๊ธฐ

profile
Hello

0๊ฐœ์˜ ๋Œ“๊ธ€