비슷한 포스트 를 올렸지만, 이번 프로젝트를 만들면서 또 헤메길래 제대로 기억하기 위해 다시 한번 포스트...
출저:레드헷
최근에 여러 서비스를 만들어보기도 하는데, 트래픽이 몰리지 않는 작은 서비스여서 마이크로 서비스 아키텍쳐 로 구축해보려고 한다.
text
1인터넷 (외부 사용자)2 ↓3 [도메인 요청]4 ↓5┌─────────────────────────────────────────┐6│ nginx-proxy (리버스 프록시) │ ← 포트 80/443 독점7│ "쇼핑몰 안내데스크 역할" │8└─────────────────────────────────────────┘9 ↓ (도메인별 라우팅)10 ┌────┴────┐11 ↓ ↓ ↓12[csmorning] [kidsbugs] [growpromise]13 ↓ ↓ ↓14┌─────────┐ ┌─────────┐ ┌─────────┐15│nginx-cs │ │nginx-kb │ │nginx-gp │ ← 각 서비스별 nginx16└─────────┘ └─────────┘ └─────────┘17 ↓ ↓ ↓18┌─────────┐ ┌─────────┐ ┌─────────┐19│front+api│ │front+api│ │ api │ ← 실제 애플리케이션20└─────────┘ └─────────┘ └─────────┘이렇게 구현을 했는데, 구글에 의하면
마이크로서비스 아키텍처(MSA)는 애플리케이션을 작은 독립적인 서비스 단위로 분할하여 구축하는 아키텍처 스타일입니다. 각 서비스는 특정 비즈니스 기능을 수행하며, 서로 독립적으로 배포, 확장 및 유지 보수할 수 있습니다.
최상위 : nginx-proxy(게이트웨이)
yaml
1포트: 80 (HTTP), 443 (HTTPS)2역할: 도메인별 트래픽 분산3위치: ~/nginx-proxy/