From 06ded91ab326294913df11b0eec154902108df48 Mon Sep 17 00:00:00 2001 From: hyojeongchoi <63584457+hyojeongchoi@users.noreply.github.com> Date: Thu, 2 May 2024 03:34:13 +0900 Subject: [PATCH] docs: Add 230809 MSA & EDA post(#23) --- content/posts/weekly_topic/MSA & EDA.md | 78 ++++++++++++++++++++++++ static/media/MSA.png | Bin 0 -> 42685 bytes static/media/Monolothic.png | Bin 0 -> 18894 bytes 3 files changed, 78 insertions(+) create mode 100644 content/posts/weekly_topic/MSA & EDA.md create mode 100644 static/media/MSA.png create mode 100644 static/media/Monolothic.png diff --git a/content/posts/weekly_topic/MSA & EDA.md b/content/posts/weekly_topic/MSA & EDA.md new file mode 100644 index 0000000..f9568fc --- /dev/null +++ b/content/posts/weekly_topic/MSA & EDA.md @@ -0,0 +1,78 @@ +--- +title: MSA & EDA +date: 2024-05-01 +image: '../../../static/media/MSA.png' +tags: + - weekly topic +description: 20230809 금주의 토픽 MSA & EDA - hyojeongchoi +--- +--- + + +# MSA & EDA + +## MSA + +### MSA란? + +**Micro Service Architecture** + +Microservice란 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크를 이야기 한다. + +즉, 하나의 큰 애플리케이션을 **여러 개의 다른 역할을 수행하는 애플리케이션으로 분리**하였을 때 **각 애플리케이션**을 의미한다. + +마이크로서비스는 하나의 비즈니스 범위에 맞춰 만들어짐 + +### MSA는 언제 필요한가? + +모든 애플리케이션이 MSA로 구성될 필요는 없다. MSA는 Monolithic 아키텍처의 문제점을 보완하기 위해 등장했다. + +![Monolothic](../../../static\media\Monolothic.png) + +Monolithic 아키텍처란 위의 사진과 같이 모든 코드가 하나의 묶음으로 구성되어있어 간편하고 단순한 아키텍처이다. + +로컬 환경에서 개발하기에도 편리하고, 통합 시나리오 테스트를 수행하기에도 손쉬운 구성이다. + +그러나 서비스가 지속적으로 성장해 규모가 커질 경우에는 한계에 부딪힌다. 하나의 기능을 추가하기 위해서는 매우 많은 줄의 코드를 수정해야하기 때문이다. + +![MSA](../../../static\media\MSA.png) + +이럴 경우에 MSA를 이용해 하나의 큰 애플리케이션을 **여러 개의 다른 역할을 수행하는 애플리케이션으로 분리**할 수 있다. + +하나의 DB에 중앙 집중화 하지 않고 서비스 별 별도의 데이터베이스 사용서비스별 독립적 배포가 가능해지기 때문이다. CD도 Monolithic에 비해 가볍게 할 수 있다. + +### **MSA의 장점** + +MSA의 장점은 서비스가 개별적으로 독립적인 단위의 애플리케이션이기에 변경이 용이하다는 점이다. + +서비스 단위로 독립적인 배포가 가능하기에 배포 비용도 기존의 Monolithic 아키텍처보다 훨씬 경제적이다. + +### MSA의 단점 + +대표적인 단점으로는 Monolithic 아키텍처에 비해 서비스 간의 통신 관련 처리가 필요하다는 점이다. 이는 응답속도에도 영향을 미친다. + +수백개 이상의 마이크로 서비스를 사용할 경우에는 서로 분산되어있기에 관리 포인트가 증가하기 때문이다. + +# EDA + +### EDA란? + +**Event Driven Architecture** + +분산된 시스템에서 이벤트를 생성(발행)하고 발행된 이벤트를 수신자에게 전송하는 구조로 수신자는 그 이벤트를 처리하는 방식의 아키텍처이다. + +즉, 요약하자면 분산 아키텍처 환경에서 이벤트를 생성하고 발행된 이벤트를 수신자에게 전송하는 구조이다. + +MSA가 적용된 시스템의 단점을 보완하는 아키텍처라고 생각해도 좋다. + +상호 간 결합도를 낮추기 위해 비동기 방식으로 메시지를 전달하는 패턴인데, 비동기 방식을 사용하기에 처리 성능이 향상된다. + +특정 서비스에서 다른 서비스가 관심을 가질 수 있는 일부 작업을 수행할 때 해당 서비스는 이벤트- (작업의 기록)를 생성한다. + +발행-구독(Pub-Sub) 비동기 통신을 사용히는데, Rest와 달리 요청을 생성하는 서비스는(Publish) 요청을 소비하는 서비스(Subscribe)의 세부 정보(주소, 이벤트 수신 여부)를 알 필요가 없다. + +이벤트 게시자는 구독자의 주소를 몰라도 되고 이벤트를 수신했는지 여부를 파악하지 않아도 되는 Non-Blocking 모델이다. + +수신자의 서비스가 항상 떠 있지 않아도 게시자는 메시지를 발송할 수 있다. + +Message Broker(Kafka, RabbitMQ)와 결합하여 구성되고 MSA 도입 시 발생하는 새로운 요구 사항을 달성할 수 있다. \ No newline at end of file diff --git a/static/media/MSA.png b/static/media/MSA.png new file mode 100644 index 0000000000000000000000000000000000000000..403add1fb5326a87a857d0bcc9cac3ab8c0c04ff GIT binary patch literal 42685 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�OxSUW(i?KHeM5hEV*QvVf z^0>uts?7{xG%AkL{_|7elTBzgQ|-BC@J2I8?5(Vd%5Id{dX zzG`-xuN3Ppp7om<*lhc9L*4CI^HvW4jy%(=Dq?QKo%r`=YHpWaW)*h*h*C$)p3Mrp z5kGOIq{eo}sd8AgC!En*n4&zm;eUh}TsZuUoQYSoxXYf9onmO-)!s@0CZs5B&uYlP z-M;gfeSb=&0b5mH_qxhIgcKy@?i8v6v=>ki20x*8um@^;lmmiEL8rZ@LJ%kl>$hx{ zDLxN?Ep9Gpw&U~2nTs9d#Q>l@)$j6q->k>AOJr~-s9 zrTIi@WjhcHjCAjs1ge0gAvw|^TL846kbjmuYsEKbq`1GFLC(yYB4_0|9oa!kw5*YJ z1Q6x<&=FG$6eSV@z#AvM0vK>VHnatQ<`*?(xP5gccnQ z`^Dmxi`$)JGvI)je@;7RLhP3AvALorvKJZx-2LHm#vRAi#5UNk)~9ZF7W0EWq_%ft zk2f+`O?$#OM>Md*4%dOhW9K=;HdqTi1rr^r{OG9$xgJ>dLdWsDQD0&MS7%Yd#r%ju zV2PhlS-^q?+kWSCKLTibHmx6hnDyuJ-+`vakAl0U=DT92Ea!6pW%mCmOLrIe%W~GH zHgJ6b=NI6c$Usoxe_{0dZVysV0phxORaFiAH>}wV;Y6FZ!4jDtKCljrzKs1GY`K=a z{}3Pey+3Qm!}!~m)?;F*BsRV8CR=d!Uq-=EsErd<3qakR$m3ml;;5M5h(6betj|Bz z7c=Kdc?tEazcQa||2Mf3ih6+?%mMh=apL2M Wmh3$4$zLGgXMWA*D%r#{>Hh#?b!_qg literal 0 HcmV?d00001 diff --git a/static/media/Monolothic.png b/static/media/Monolothic.png new file mode 100644 index 0000000000000000000000000000000000000000..439e8c2010886e36aa02e1ff7f875c54bdc922ff GIT binary patch literal 18894 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