Traslado? Abandonado por falta de interesse
Apesar do fato de o projeto ter sido abandonado antes mesmo do início do desenvolvimento produtivo, você pode pegar algo de bom neste projeto para si mesmo
O Projeto Shuttle é um conjunto de microsserviços, principalmente com base na bota de primavera para controlar um táxi espacial. Dentro da estrutura deste projeto, várias funcionalidades foram implementadas para trabalhar com voos espaciais e interação entre microsserviços.
Como lançar um projeto
Para lançar o projeto Shuttle, siga estas etapas:
Pré -requisitos
Certifique -se de ter o seguinte software instalado em seu sistema:
- Docker e Docker compostos
- Java 21 ou mais novo
- Gradle 6.8 ou mais recente
Etapa 1: Configuração de bancos de dados
O projeto requer bancos de dados PostgreSQL e MongoDB. Você pode instalá -los manualmente ou configurá -los usando o Docker.
Opção A: Instale bancos de dados manualmente
PostGresql :
- Faça o download e instale o PostGresql no site oficial.
- Inicie o serviço PostGresql.
MongoDB :
- Faça o download e instale o MongoDB no site oficial.
- Inicie o serviço MongoDB.
Opção B: Use Docker para bancos de dados
- 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
Etapa 2: Execute Kafka, Zookeeper, Otel-Collector, Prometheus, Graphana.
cd docker
docker compose up
Etapa 3: Publicar para Maven Local
cd shared
./gradlew publishToMavenLocal
Etapa 4: Execute o servidor de descoberta e configuração
cd discovery-server
./gradlew bootRun
cd ../config-server
./gradlew bootRun
Etapa 5: execute o restante dos microsserviços um de cada vez, pois combina com você
Peço desculpas por tais inconvenientes, no futuro, todos os microsserviços serão lançados via Kybernetes
Microsserviços
A lista a seguir lista os microsserviços do projeto com o status de sua implementação (esta lista pode mudar regularmente devido à adição de novos recursos e refatoração de arquitetura):
- Serviço de feedback piloto e serviço de feedback do usuário (implementado, não testado) ✅
- Serviço de Informação de Shuttle (não implementado)?
- Serviço de informações piloto (não implementado)?
- Serviço de informações do usuário (não implementado)?
- Serviço de classificação piloto (em andamento)?
- Serviço de localizador de caminho de viagem (em andamento)?
- Serviço de cálculo de viagem (não implementado)?
- Serviço de pagamento (não implementado)?
- Serviço de dados pessoais piloto (em andamento)?
- Serviço de pedido (não implementado)?
- Serviço de informações da estação (não implementado)?
Os microsserviços se comunicam através do Apache Kafka, que fornece atualizações de mensagens e classificação.
Funcionalidade?
- Cálculo do caminho de um planeta para outro, levando em consideração seu movimento em órbita
- Coletando e processando feedback de usuários e pilotos.
- Escolhendo uma aula de vôo.
- Sistema de classificação piloto.
- Verificação de dados pessoais de pilotos.
- Calcular o custo de um voo devido ao comprimento e complexidade do voo.
- Implementação do Serviço de Pagamento levando em consideração a Comissão de Shuttle (obrigado por nos escolher! ???).
- React App para documentação, usando o React Flow (é muito bonito e incrível !!!!)
Funcionalidade possível
- Simulação de quebras de transporte (sem colocar em risco a vida dos passageiros! ???).
- Implementação no espaço 3D, de modo que seria como a NASA: https://eyes.nasa.gov/apps/solar-system/#/home
Arquitetura
O projeto usa as seguintes tecnologias e abordagens:
- Boot de mola para criar microsserviços. (Existem exceções, por exemplo, o caminho para encontrar microsserviço)
- Apache Kafka para processamento de mensagens.
- Openometria, Graphana, Prometheus para monitoramento e rastreamento.
- Docker & Kubernetes e Ações do Github para implantação.
- PGSQL, MongoDB, Redis, Cassandra como bancos de dados.
Gráficos e métricas
Visualização do processo de pedidos de ônibus espaciais
O diagrama mostrado anteriormente aqui agora é inválido
No futuro, toda a documentação, diagramas, cálculos de métricas como dau, mau e assim por diante serão implementados como um aplicativo react usando o fluxo do React, não haverá mais diagramas vil ???
Instalação e requisitos
Para executar o projeto, você precisará das seguintes ferramentas e dependências:
- Java 17 ou mais tarde
- Maven 3.8.1 ou mais tarde
- Docker (opcional, para trabalhar com contêineres)
Verifique se todas as dependências estão instaladas e configuradas antes de iniciar o projeto.
Licença
Não roube nada, por favor ((((
Contatos?
Se você tiver alguma dúvida ou sugestão, entre em contato comigo por meio de problemas do GitHub ou por e -mail ou por telegrama.
O Shuttle é o táxi espacial do futuro, impulsionado pelas modernas tecnologias de microsserviço!