우주선? 관심 부족으로 버려졌습니다
생산적인 개발이 시작되기 전에도 프로젝트가 포기되었다는 사실에도 불구 하고이 프로젝트에서 좋은 것을 선택할 수 있습니다.
셔틀 프로젝트는 우주 택시를 통제하기위한 봄 부츠를 기반으로 한 마이크로 서비스 세트입니다. 이 프로젝트의 프레임 워크 내에서 우주 비행과 마이크로 서비스 간의 상호 작용을위한 다양한 기능이 구현되었습니다.
프로젝트를 시작하는 방법
셔틀 프로젝트를 시작하려면 다음 단계를 따르십시오.
전제 조건
시스템에 다음 소프트웨어가 설치되어 있는지 확인하십시오.
- Docker와 Docker Compose
- Java 21 이상
- Gradle 6.8 또는 새로운
1 단계 : 데이터베이스 설정
이 프로젝트에는 PostgreSQL 및 MongoDB 데이터베이스가 필요합니다. 수동으로 설치하거나 Docker를 사용하여 설정할 수 있습니다.
옵션 A : 데이터베이스를 수동으로 설치하십시오
postgresql :
- 공식 웹 사이트에서 PostgreSQL을 다운로드하여 설치하십시오.
- PostgreSQL 서비스를 시작하십시오.
mongodb :
- 공식 웹 사이트에서 MongoDB를 다운로드하여 설치하십시오.
- MongoDB 서비스를 시작하십시오.
옵션 B : 데이터베이스에 Docker를 사용하십시오
- postgresql :
docker pull postgres:latest
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
- mongodb :
export MONGODB_VERSION=6.0-ubi8
docker run --name mongodb -d mongodb/mongodb-community-server: $MONGODB_VERSION
2 단계 : Kafka, Zookeeper, Otel-Collector, Prometheus, Graphana를 실행하십시오.
cd docker
docker compose up
3 단계 : Maven Local에 게시하십시오
cd shared
./gradlew publishToMavenLocal
4 단계 : 검색 및 구성 서버를 실행하십시오
cd discovery-server
./gradlew bootRun
cd ../config-server
./gradlew bootRun
5 단계 : 나머지 마이크로 서비스를 한 번에 하나씩 실행합니다.
그러한 불편 함에 대해 사과드립니다. 향후 모든 마이크로 서비스는 Kybernetes를 통해 출시됩니다.
마이크로 서비스
다음 목록에는 구현 상태가 포함 된 프로젝트의 마이크로 서비스가 나와 있습니다 (이 목록은 새로운 기능 및 아키텍처 리팩토링으로 인해 정기적으로 변경 될 수 있습니다).
- 파일럿 피드백 서비스 및 사용자 피드백 서비스 (테스트되지 않은, 구현) ✅
- 셔틀 정보 서비스 (구현되지 않음)?
- 파일럿 정보 서비스 (구현되지 않음)?
- 사용자 정보 서비스 (구현되지 않음)?
- 파일럿 랭크 서비스 (진행중인)?
- 트립 경로 파인더 서비스 (진행중인)?
- 여행 계산 서비스 (구현되지 않음)?
- 지불 서비스 (구현되지 않음)?
- 파일럿 개인 데이터 서비스 (진행중인)?
- 주문 서비스 (구현되지 않음)?
- 스테이션 정보 서비스 (구현되지 않음)?
마이크로 서비스는 Apache Kafka를 통해 서로 통신하며, 이는 메시징 및 등급 업데이트를 제공합니다.
기능?
- 궤도에서의 움직임을 고려하여 한 행성에서 다른 행성으로의 경로 계산
- 사용자 및 조종사로부터 피드백을 수집하고 처리합니다.
- 비행 클래스 선택.
- 파일럿 랭크 시스템.
- 조종사의 개인 데이터 확인.
- 비행의 길이와 복잡성으로 인해 비행 비용을 계산합니다.
- 셔틀위원회를 고려하여 지불 서비스의 구현 (우리를 선택해 주셔서 감사합니다! ???).
- React Flow를 사용하여 문서화 용 React 앱 (매우 아름답고 굉장합니다 !!!!)
가능한 기능
- 셔틀 고장 시뮬레이션 (승객의 삶을 위험에 빠뜨리지 않고! ???).
- NASA와 같은 3D 공간에서 구현 : https://eyes.nasa.gov/apps/solar-system/#/home
건축학
이 프로젝트는 다음과 같은 기술과 접근 방식을 사용합니다.
- 마이크로 서비스 생성을위한 스프링 부츠 . (예를 들어, 마이크로 서비스를 찾는 경로가 예외가 있습니다)
- 메시지 처리를위한 Apache Kafka .
- OpenTelometry, Graphana, 모니터링 및 추적을위한 프로 메테우스 .
- 배포를위한 Docker & Kubernetes & Github 조치 .
- 데이터베이스로서 PGSQL, Mongodb, Redis, Cassandra .
차트 및 메트릭
셔틀 주문 프로세스의 시각화
여기에 이전에 표시된 다이어그램은 이제 유효하지 않습니다
앞으로 모든 문서, 다이어그램, DAU, MAU 등과 같은 메트릭 계산은 React Flow를 사용하여 React 응용 프로그램으로 구현되므로 더 이상 사악한 다이어그램이 없을 것입니까 ???
설치 및 요구 사항
프로젝트를 실행하려면 다음 도구와 종속성이 필요합니다.
- Java 17 이상
- Maven 3.8.1 이상
- Docker (컨테이너 작업을위한 선택 사항)
프로젝트를 시작하기 전에 모든 종속성을 설치하고 구성해야합니다.
특허
아무것도 훔치지 마세요 (((()
연락처?
궁금한 점이나 제안이 있으면 GitHub 문제 나 이메일 또는 Telegram을 통해 저에게 연락 할 수 있습니다.
셔틀은 현대 마이크로 서비스 기술로 인해 미래의 우주 택시입니다!