# [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 |