blokworks-transport-service/README.md

3.8 KiB

[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