blokworks-transport-service/README.md

48 lines
3.8 KiB
Markdown
Raw Permalink Normal View History

2023-09-18 23:17:53 +00:00
# [BlokWorks] Transport Service #
DataLake 역할을 하는 모듈 중 하나로,장비에서 들어오는 데이터를 수집하여 저장소에 저장하고, 조회할 수 있는 Spring boot 기반 Java 애플리케이션입니다.
## 기반 기술 ##
* Java 17
* Spring Boot 3.1.3
* Gradle 8.2.1
## 주요 의존성 ##
* AMQP
* MongoDB
* AOP
* Zipkin
* Actuator
## 구동 ##
### 사전 구동 애플리케이션 및 모듈 ###
1. RabbitMQ 컨테이너 모듈
- Inference 결과 데이터를 구독하기 위한 Message Broker 입니다.
2. MongoDB 컨테이너 모듈
- Inference 결과 데이터를 저장하고 조회할 수 있는 NoSQL 입니다.
3. StackBase Tree Service 애플리케이션(`stackbase-tree-service`)
- Inference 결과 이미지 및 원본 이미지를 조회할 수 있는 서비스 입니다.
4. StackBase API gateway 애플리케이션(`stackbase-api-gateway`)
- StackBase 마이크로서비스의 API를 요청하기 위한 Gateway 입니다.
### 배포 ###
k8s 배포 시, manifest로 작성한 Deployment 오브젝트에 반드시 명시해야 하는 설정 정보(`env`)는 아래와 같습니다.
| 옵션 | 설명 | 필수 여부 | 예시 |
|:-------------------------:|:-------------------------------------------------:|:-----:|:------------------------------------------------------------------------------------------------:|
| SPRING_PROFILES_ACTIVE | 구동 profile | O | k8s |
| SERVER_PORT | 애플리케이션이 등록될 포트 | O | 8185 |
| AMQP_HOST | RabbitMQ의 URL | O | rabbitmq.sdt-cloud.svc.cluster.local |
| AMQP_PORT | RabbitMQ의 포트 | O | 5672 |
| AMQP_USERNAME | RabbitMQ에 접속할 계정 | O | guest |
| AMQP_PASSWORD | RabbitMQ에 접속할 비밀번호 | O | guest |
| INFERENCE_RESULT_QUEUE | RabbitMQ 모듈의 구독할 Inference 결과 데이터 Queue 이름 | O | gseps-ResultQ |
| UPLOADED_INFERENCE_RESULT_QUEUE | RabbitMQ 모듈의 구독할 Inference 결과 이미지 업로드 완료 Queue 이름 | O | gseps-Result-uploadQ |
| MONGODB_URI | MongoDB 모듈의 연결을 위한 URI | O | mongodb://mongoadmin:secret@mongo-db.database.svc.cluster.local:27017/blokworks?authSource=admin |
| STACKBASE_HOST | StackBase API Gateway의 URL | O | http://stackbase-api-gateway.sdt-cloud.svc.cluster.local:8180/stackbase |
| ZIPKIN_TRACING_ENDPOINT | 모니터링을 위해 추적 데이터를 수집할 Zipkin의 Endpoint | O | http://zipkin.sdt-cloud.svc.cluster.local:9411/api/v2/spans |