은은하게 코드 뿌시기

CBD / SOA / MSA 본문

자바/실무 유용한 것!

CBD / SOA / MSA

은은하게미친자 2024. 4. 3. 10:06
728x90

1. CBD , Components-Based Development

  • 컴포넌트 기반개발
  • 소프트웨어를 작은 독립적인 구성요소인 컴포넌트로 나누고, 이러한 컴포넌트들을 조합하여 소프트웨어를 개발하는 방법론
  • 각각의 컴포넌트는 특정기능을 수행하며, 다른 컴포넌트와의 상호작용을 최소하기 위해 잘 정의된 인터페이스를 가지고 있습니다.
  • 코드의 재사용성을 높이고 , 유지보수성을 향상시키며, 개발 생산성을 증가시키는 장점을 제공합니다.

2. SOA  , Service-Oriented Architecture

  • 서비스지향 아키텍처
  • 소프트웨어를 서비스로 나누고, 이러한 서비스들간에 표준화된 프로토콜을 사용하여 상호 작요 하도록 설계 하는 아키텍쳐 스타일
  • 각가의 서비스는특정 기능이나 비즈니스 프로세스를 수행하며, 다른 서비스와의 독립적으로 배포, 확장, 관리될 수 있습니다.
  • SOA는 시스템의 유연성을 확장성을 향상시키며, 비즈니스 프로세스의 재사용성을 높이는데 중점을 두고있습니다.

3. MSA , Microservices Architecture 또는 Microservices

  • 소프트웨어를 작은 독립적인 서비스 단위로 분리하고, 각 서비스는 잘 정의도니 인터페이스를 통해 통신하는 아키텍처 패턴입니다. 이것은 모놀리식 아키텍처와 대조됩니다. MSA는 서비스 지향 아키텍처(SOA)  의 확장으로 볼 수있으며, 주로 클라우드환경에서 많이 사용 됩니다.
  • 독립적인 배포 및 확장 : 각가의 마이크로 서비스는 독립적으로 배포되고 확장될 수있습니다. 이는 서비스간의 강한 결합을 방지하고, 전체 시스템의 유연성과 확장성을 향상 시킵니다.
  • 기술다양성 : 각 마이크로 서비스는 독립적으로 개발 되기 때문에에 다른 기술 스택을 사용할 수 있습니다. 이는 팀의 기술적 선택을 존중하고, 최신 기술을 적용할 수있는 장점을 제공합니다.
  • 상호운영성 : 각서비스는 잘 정의된 API를 통해 통신합니다. 이는 서비스 간의 상호 운용성을 보장하고, 개발자들이 서비스를 쉽게 이해하고 사용할 수 있도록 도와줍니다.
  • 장애격리 : 하나의 마이크로서비스의 장애가 전체 시스템에 영향을 미치지 않도로 설계됩니다. 이는 시스템 안정성을 높이는데 도움이 됩니다.
  • 빠른개발 및 배포 : 각 서비스는 작고 간단하며, 특정기능에만 집중하기때문에 빠른 개발과 배포가 가능합니다.

 

 

 

MSA 프로젝트를 진행하면서도 MSA 라는 말을 모르고있엇다. ㅎㅅㅎ

배포도 편리하고 하지만

꼭 MSA가 꼭 장점만 있는것은 아닌거같다.

 

각각 이 호출되는 API들이  반복되면서 네트워크 오버헤드 된다던가

트랜잭션 문제도 중점있게 보아야하고, 구조 자체도 중요도가 높아지는거 같다.

 

디버깅이 어렵다고하는데  솔직히 디버깅면에선

API를 다이렉트로 호출해 보면되서 나는더 편한거같다. ㅎㅅㅎ

728x90

'자바 > 실무 유용한 것!' 카테고리의 다른 글

통화 포맷 / java 원단위/krw  (0) 2024.06.17
java integer string으로 쉽게바꾸기  (0) 2024.05.29
크롬 단축키  (0) 2024.05.14
name id  (0) 2024.04.30
접속 아이피 반환 예제 소스  (0) 2024.04.01
Comments