๐ซ
MSA (Micro Service Architecture)
is anarchitectural pattern
that organises anapplication
into theloosely-coupled
andindependently 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 ifMSA
implements theindependent 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
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
)
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.
F-Lab
Microsoft
์๋ฐ ๊ธฐ๋ฐ์ ๋ง์ดํฌ๋ก์๋น์ค ์ดํด์ ์ํคํ
์ฒ ๊ตฌ์ถํ๊ธฐ