서비스(kubernetics) 구성 설계
Application Service

리소스 구성
정보
Client / BFF / GW – BO, CC
BO와 CC는 클라이언트(PC 브라우저 + JavaScript)를 대상으로 하며, Server Side Rendering(SSR)을 지원하는 Next.js로 어플리케이션아 구성된다.
Client / BFF / GW – FO (PC, MO)
FO(PC, MO) Client는 Next.js로 개발되며 FO Gateway로 부터 Restful API 서비스를 제공받는다.
위 그림은 논리적 구성을 표현하며 실제적으로는 Node.js를 이용한 SSR을 한다.
APIs
Springboot로 구현된 Restful API 서비스
order, member, common, goods, display, event와 bo API 서비스로 구성된다.
DBMS
회원/주문 {order, member, common}
상품/전시{goods, display}
이벤트 {event}
Master(Read-Write)/Replica(Read Only) 구조로 이중화
ETL 혹은 배치잡을 이용한 table 동기화
Log Stack

리소스 구성
정보
OpenSearch
수집되는 application 로그를 인덱싱하여 저장
Fluentd
Application의 로그를 수집하여 포매팅하여 OpenSearch에 전송
Kibana
OpenSearch의 로그를 개발자가 조회할 수 있는 UI 제공
EFK 서버 위치
fluentd : Kubernetes
OpenSearch : AWS(Managed Service)
Kibana : AWS(Managed Service)
로그 보관
OpenSearch와는 별개로 로그는 보관 기간에 따라 S3에 압축 보관
Telemetry

리소스 구성
정보
APM
어플리케이션 성능 관리. Request 처리 성능의 병목 구간을 찾아 개선
APM제공 라이브러리를 함께 application에 구성 (* 사용 제품 미정)
Prometheous-Grafana
Pod에 metric(cpu, memory, network utilization 등) 모니터링
Istio envoy에서 제공
Kiali
MSA 간 호출의 처리량, 응답속도, 정상여부 상황을 트래픽 flow로 모니터링
Istio envoy에서 제공
Jaeger
하나의 request 처리를 위한 MSA간의 호출, 처리 관계를 상세 분석할 수 있도록 기능 제공
Istio envoy에서 제공
Software 구성

리소스 구성
정보
Application
Springboot
Container
Docker
Orchestration
EKS(Kubernetes)
Servismesh
istio
CICD
Gitlab, Nexus, Jenkins, Sonarqube, Helm Chart, ArgoCD
Logging
EFK (OpenSearch, Fluentd, Kibana)
Telemetry
EKS
Batch Scheduler
Cronicle
APM
WhaTap or Scouter
DBMS
PostgreSQL
In-Memory
Redis(Session Clustering)
Software 목록
적용 영역
적용 솔루션
라이선스
버전 / 기타
** External Proxy (ALB)**
AWS ALB
AWS PaaS
Managed Service
Servie Mesh (G/W)
Istio
Apache License 2.0
Version 1.8 이상
Orchastration
Kubernetes
Apache License 2.0
Version 1.19 이상
Data Storage
S3(AWS)
AWS PaaS
Managed Service
CI/CD
Gitlab
MIT License
소스 통합
Jenkins
MIT License
CI/CD Pipeline
ArogCD
Apache License 2.0
Kubernetes Deployment
Helm
Apache License 2.0
Kubernetes Deployment
NexusOSS
Eclipse Public License
Library, Docker Image 저장소
Logging
Fluentd
Apache License 2.0
Application 로그 수집
OpenSearch
AWS PaaS
Managed Service, 로그 인덱스
Kibana
AWS PaaS
Managed Service, 로그 분석 화면
Telemetry
Prometheus
Apache License 2.0
서버 metric 수집
Grafana
Apache License 2.0
서버 metric UI 제공
Kiali
Apache License 2.0
API 호출 모니터링
Jaeger(Zipkin)
Apache License 2.0
API 호출 상세 분석
WhaTap (미정)
유료 라이선스
TP Monitor (미정)
DBMS
PostgreSQL
OSI License
Persistence DBMS
In-Memory DB
Redis
AWS PaaS
Managed Service, 세션 클러스터링
Kubernetes Apps

Deployment / Pod
Namespace
Workload
Node Label
Description
x2bee-fo
[고객사약어]-app
deployment
msa
Node.js Service for PC Web(Next.js Server Side Rendering)
x2bee-gw
[고객사약어]-app
deployment
msa
RestAPIs Service for Vue.js (Spring Cloud Gateway)
x2bee-bo
[고객사약어]-app
deployment
msa
Back Office Web Service (Spring Boot, Next.js)
x2bee-cc
[고객사약어]-app
deployment
msa
Customer Center Web Service (Spring Boot, Next.js)
x2bee-batch-mbod
[고객사약어]-app
deployment
msa
Batch service for member, order (Spring Batch)
x2bee-batch-gddp
[고객사약어]-app
deployment
msa
Batch service for goods, display (Spring Batch)
x2bee-api-member
[고객사약어]-app
deployment
msa
Member api service (Springboot, RestApis)
x2bee-api-order
[고객사약어]-app
deployment
msa
Order api service (Springboot, RestApis)
x2bee-api-goods
[고객사약어]-app
deployment
msa
Goods api service (Springboot, RestApis)
x2bee-api-display
[고객사약어]-app
deployment
msa
Display api service (Springboot, RestApis)
x2bee-api-event
[고객사약어]-app
deployment
msa
Event api service (Springboot, RestApis)
x2bee-api-common
[고객사약어]-app
deployment
msa
Common api service (Springboot, RestApis)
x2bee-api-bo
[고객사약어]-app
deployment
msa
Bo api service (Springboot, RestApis)
istio-ingressgateway
istio-system
deployment
msa
Istio ingress component
istio-tracing
istio-system
deployment
msa
istio tracing component
x2bee-batch-scheduler-mbod
[고객사약어]-app
deployment
msa
Batch scheduler for batch-mbod (node.js)
x2bee-batch-scheduler-gddp
[고객사약어]-app
deployment
msa
Batch scheduler for batch-gddp (node.js)
grafana
monitoring
deployment
msa
monitoring bi
prometheus
monitoring
deployment
msa
to gather pod metrics
kiali
istio-system
deployment
msa
to monitor msa calls flows
jaeger
istio-system
deployment
msa
to trace each msa call chain
마지막 업데이트