¿Lanzadera? Abandonado por falta de interés
A pesar del hecho de que el proyecto fue abandonado incluso antes del inicio del desarrollo productivo, puede recoger algo bueno en este proyecto para usted mismo.
El proyecto de transbordador es un conjunto de microservicios basados principalmente en el arranque de primavera para controlar un taxi espacial. En el marco de este proyecto, se han implementado varias funcionalidades para trabajar con vuelos espaciales e interacción entre microservicios.
Cómo lanzar un proyecto
Para lanzar el proyecto de lanzadera, siga estos pasos:
Requisitos previos
Asegúrese de tener el siguiente software instalado en su sistema:
- Docker y Docker componen
- Java 21 o más nuevo
- Gradle 6.8 o más nuevo
Paso 1: Configuración de bases de datos
El proyecto requiere bases de datos PostgreSQL y MongoDB. Puede instalarlos manualmente o configurarlos usando Docker.
Opción A: Instale bases de datos manualmente
PostgreSQL :
- Descargue e instale PostgreSQL desde el sitio web oficial.
- Inicie el servicio PostgreSQL.
MongoDB :
- Descargue e instale MongoDB desde el sitio web oficial.
- Comience el servicio MongoDB.
Opción B: Use Docker para bases de datos
- 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
Paso 2: Run Kafka, Zookeeper, Otel-colector, Prometeo, Graphana.
cd docker
docker compose up
Paso 3: Publicar para Maven Local
cd shared
./gradlew publishToMavenLocal
Paso 4: Ejecutar Discovery y Config Servidor
cd discovery-server
./gradlew bootRun
cd ../config-server
./gradlew bootRun
Paso 5: Ejecute el resto de los microservicios uno a la vez, ya que se adapta a usted
Pido disculpas por tales inconvenientes, en el futuro se lanzarán todos los microservicios a través de Kybernetes
Microservicios
La siguiente lista enumera los microservicios del proyecto con el estado de su implementación (esta lista puede cambiar regularmente debido a la adición de nuevas características y refactorización de arquitectura):
- Servicio de comentarios de piloto y servicio de retroalimentación de usuarios (implementado, no probado) ✅
- Servicio de información de transporte (no implementado)?
- Servicio de información del piloto (no implementado)?
- Servicio de información del usuario (no implementado)?
- ¿Servicio de rango piloto (en progreso)?
- ¿Servicio de buscador de rutas de viaje (en progreso)?
- Servicio de cálculo de viaje (no implementado)?
- ¿Servicio de pago (no implementado)?
- ¿Servicio de datos personales piloto (en progreso)?
- Servicio de pedido (no implementado)?
- Servicio de información de la estación (no implementado)?
Los microservicios se comunican entre sí a través de Apache Kafka, que proporciona actualizaciones de mensajería y calificación.
Funcionalidad?
- Cálculo de la ruta de un planeta a otro, teniendo en cuenta su movimiento en órbita
- Recopilar y procesar comentarios de usuarios y pilotos.
- Elegir una clase de vuelo.
- Sistema de rango piloto.
- Verificación de datos personales de pilotos.
- Calculando el costo de un vuelo debido a la longitud y la complejidad del vuelo.
- Implementación del servicio de pago teniendo en cuenta la Comisión de transporte (¡gracias por elegirnos! ???).
- React Aplicación para la documentación, usando React Flow (¡es muy hermoso e impresionante!
Posible funcionalidad
- Simulación de desgloses de lanzadera (¡sin poner en peligro la vida de los pasajeros! ???).
- Implementación en el espacio 3D, para que sea como la NASA: https://eyes.nasa.gov/apps/solar-system/#/home
Arquitectura
El proyecto utiliza las siguientes tecnologías y enfoques:
- Boot de resorte para crear microservicios. (Hay excepciones, por ejemplo, la ruta de búsqueda de microservicio)
- Apache Kafka para el procesamiento de mensajes.
- Operentelometría, Graphana, Prometeo para monitoreo y rastreo.
- Docker & Kubernetes & Github Acciones para implementar.
- PGSQL, MongoDB, Redis, Cassandra como bases de datos.
Gráficos y métricas
Visualización del proceso de pedido de transporte
El diagrama que se muestra anteriormente aquí ahora no es válido
En el futuro, todas las documentación, diagramas, cálculos de métricas como dau, mau, etc., se implementarán como una aplicación React usando React Flow, ¿no habrá más diagramas viles?
Instalación y requisitos
Para ejecutar el proyecto, necesitará las siguientes herramientas y dependencias:
- Java 17 o posterior
- Maven 3.8.1 o posterior
- Docker (opcional, para trabajar con contenedores)
Asegúrese de que todas las dependencias estén instaladas y configuradas antes de comenzar el proyecto.
Licencia
No robes nada por favor ((((
Contactos?
Si tiene alguna pregunta o sugerencia, puede comunicarse conmigo a través de problemas de GitHub o por correo electrónico o por telegrama.
¡Shuttle es el taxi espacial del futuro, impulsado por modernas tecnologías de microservicio!