마이크로서비스란마이크로서비스 예시마이크로서비스 아키텍처마이크로서비스 아키텍처 장점backend

마이크로서비스란 무엇인가?

KUKJIN LEE
KUKJIN LEE
2024년 7월 15일
169

마이크로서비스는 애플리케이션을 느슨하게 결합된 독립적으로 배포 가능한 서비스들로 구성하는 아키텍처 스타일입니다. 각 서비스는 특정 비즈니스 기능에 초점을 맞추며 독립적으로 개발, 배포 및 확장될 수 있습니다.

 

주요 특성
  • 분산화: 각 서비스는 자체 코드베이스와 데이터베이스를 가지며, 분산된 데이터 관리 접근 방식을 촉진합니다.

  • 독립적 배포: 서비스는 다른 시스템에 영향을 주지 않고 업데이트, 배포 및 확장할 수 있습니다.

  • 기술 중립성: 다양한 서비스는 필요한 도구를 선택하여 서로 다른 기술과 프레임워크를 사용하여 구축할 수 있습니다.

  • 탄력성: 한 서비스의 장애가 다른 서비스에 영향을 미치지 않아 전체 애플리케이션의 탄력성이 향상됩니다.

 

예시

전자 상거래 예시를 들어보면, 각 모듈(사용자 인증, 제품 카탈로그, 주문 처리, 결제 처리)이 별도의 마이크로서비스로 개발되고 배포됩니다. 각 서비스는 자체 데이터베이스와 실행 환경을 가집니다.

 

클라우드에서 마이크로서비스 장점

  • 확장성: 개별 서비스를 독립적으로 확장할 수 있어 자원 사용과 비용을 최적화합니다.

  • 민첩성: 팀이 서로 다른 서비스를 동시에 작업할 수 있어 개발 및 배포 주기를 단축합니다.

  • 유연성: 필요한 경우 다양한 서비스에 새로운 기술과 프레임워크를 더 쉽게 도입할 수 있습니다.

  • 탄력성: 개선된 장애 격리로 인해 하나의 서비스에서 발생한 문제가 전체 시스템에 영향을 미치지 않습니다.

  • 지속적 배포: 간소화된 CI/CD 파이프라인을 통해 더 자주 신뢰성 있게 업데이트할 수 있습니다.

관련 글

[SQL 입문] 필요한 데이터만 콕 집어 가져올 수 있는 WHERE 절

사용자는 테이블에 있는 모든 데이터를 다 보고 싶어 하지는 않습니다. 오히려 특정 항목에 대한 데이터만 가져오고 싶을 때가 훨씬 많습니다. 예를 들어, 어떤 사용자의 이메일이나 ID는 알고 있는데, 그 사람이 언제 우리 앱에 가입했는지 확인하고 싶다고 가정해 봅시다...

2026년 1월 27일10

SQL에서 SELECT란 무엇인가?

데이터베이스를 거대한 서류 보관함이라고 생각하면 됩니다. 보관함 안에는 수많은 데이터가 차곡차곡 쌓입니다. SELECT는 이 보관함에서 "내가 원하는 정보를 찾아줘!"라고 요청하는 명령어입니다. 이 과정을 전문 용어로 '쿼리(Query)'라고 부릅니다. &nbs...

2026년 1월 26일10

[SQL 기초] "언제 하나씩 다 넣어?" 데이터 한 번에 넣기

개발을 하다 보면 데이터베이스(DB)에 샘플 데이터를 대량으로 넣어야 할 때가 있습니다. 메뉴 100개를 추가해야 하는데 INSERT 문을 100번 쓰고 있다면? 너무 비효율적이죠! 오늘은 SQL에서 여러 데이터를 한 번에 넣는 '다중 삽입(Multiple Inse...

2026년 1월 21일13

SQL 데이터 삽입하기

데이터가 없는 데이터베이스는 연료 없는 로켓과 같습니다. 이제 'Missions' 테이블에 새로운 행(row)을 추가하는 방법을 알아보겠습니다. "삽입(Inserting)"은 '데이터 추가'를 의미합니다. 기존 Missions 테이블 ...

2026년 1월 20일12