• MSA 와 SpringCloud
    • MSA(Micro Service Archetecture) 란?
      • 중요 기능들을 작게 나누어, 독립적인 모듈 실행이 가능하도록 하자. (Transaction 단위로 나눔을 추천함)
      • 각 모듈의 추가,수정,배포,복구 등등이 쉽고~ 해당 장애의 영향력을 최소화 할 수 있다.
      • 묘듈간에는 RestAPI, JSON등을 통해서, 통신을 하는 식.
    • Spring Cloud
      • 가장 보편적인 분산시스템 패턴으로 프로그래밍을 할 수 있도록 제공.
      • SpringBoot + Library(잡다한)
      • 설정 자동화를 통하여, 각종 Cloud-Flatform에 쉽게 배포한다. (지속적인 배포가 용이)
      • Eureka는 MSA를 구성함에 있어서, 각 모듈의 Look-Up 및 Scale-Status 등을 관리하는 Health-Check 모듈.
    • SpringCloud Stream
      • (외부시스템과 통신가능한) Application을 빠르게 개발 할 수 있는 경량의 Event기반 MSA Framework.
      • 즉, Message기반 Application을 개발 위해~ Rabbit-MQ 및 Kafka 와 같은 메세지브로커와 쉽게 바인딩.
      • SpringBoot 기반이라서, 간편하고 직관적인 어노테이션 제공.
      • (예 : @EnableBinding, @StreamListener, @InboundChannelAdapter, @ToSend)
      • 개발자는 메세지브로커 신경쓸 필요 없이, 비즈니스로직에만 집중을 할 수 있다.
    • 비동기 Messaga-Driven
      • 느슨한 결합으로, 분산시스템 및 MSA간 협업에 있어서 상호 의존성을 배제 할 수 있다.
      • (동기 API 경우, 상대 성능 및 상태에 직접적인 영향을 받아~ Exception 및 FailBack 처리가 필수적...)
      • 상호 시스템의 성능 및 상태에 영향을 받지 않는다.
      • 상호 시스템간 서로가 알 필요없이, 정보 교환이 가능하다. (Pub-Sub만 잘 하면 됨)
      • 상호 시스템은 각자 독립적으로 서버 증설 및 삭감을 할 수 있다.
  • ...

-끝-

'랭귀지&프레임웤' 카테고리의 다른 글

Python 이란?  (0) 2019.11.06
STS 개발  (0) 2019.11.06
Spring Batch 란?  (0) 2019.11.06
Spring 개론  (0) 2019.10.30
자바 메모장  (0) 2019.10.23

+ Recent posts