Shuttle? Ditinggalkan karena kurangnya minat
Terlepas dari kenyataan bahwa proyek ini ditinggalkan bahkan sebelum dimulainya pengembangan produktif, Anda dapat mengambil sesuatu yang baik dalam proyek ini untuk diri sendiri
Proyek antar -jemput adalah serangkaian layanan microser yang sebagian besar didasarkan pada boot musim semi untuk mengendalikan taksi ruang. Dalam kerangka proyek ini, berbagai fungsi telah diimplementasikan untuk bekerja dengan penerbangan ruang angkasa dan interaksi antara layanan mikro.
Cara meluncurkan proyek
Untuk meluncurkan proyek antar -jemput, ikuti langkah -langkah ini:
Prasyarat
Pastikan Anda memiliki perangkat lunak berikut yang diinstal pada sistem Anda:
- Docker dan Docker menyusun
- Java 21 atau lebih baru
- Gradle 6.8 atau lebih baru
Langkah 1: Menyiapkan Database
Proyek ini membutuhkan basis data PostgreSQL dan MongoDB. Anda dapat menginstalnya secara manual atau mengaturnya menggunakan Docker.
Opsi A: Instal database secara manual
PostgreSQL :
- Unduh dan instal PostgreSQL dari situs web resmi.
- Mulai layanan PostgreSQL.
MongoDB :
- Unduh dan instal MongoDB dari situs web resmi.
- Mulai layanan MongoDB.
Opsi B: Gunakan Docker untuk database
- 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
Langkah 2: Jalankan Kafka, Zookeeper, Otel-Collector, Prometheus, Graphana.
cd docker
docker compose up
Langkah 3: Publikasikan ke Maven Local
cd shared
./gradlew publishToMavenLocal
Langkah 4: Jalankan server penemuan dan konfigurasi
cd discovery-server
./gradlew bootRun
cd ../config-server
./gradlew bootRun
Langkah 5: Jalankan sisa layanan mikro satu per satu, karena cocok untuk Anda
Saya minta maaf atas ketidaknyamanan seperti itu, di masa depan semua layanan microservices akan diluncurkan melalui Kybernetes
Layanan Mikro
Daftar berikut mencantumkan layanan mikro proyek dengan status implementasinya (daftar ini dapat berubah secara teratur karena penambahan fitur baru dan refactoring arsitektur):
- Layanan umpan balik pilot dan layanan umpan balik pengguna (diimplementasikan, tidak diuji) ✅
- Layanan Informasi Antar -Jemput (tidak diimplementasikan)?
- Layanan Informasi Percontohan (tidak diimplementasikan)?
- Layanan Informasi Pengguna (tidak diimplementasikan)?
- Layanan Peringkat Pilot (sedang berlangsung)?
- Trip Path Finder Service (sedang berlangsung)?
- Layanan Perhitungan Perjalanan (tidak diimplementasikan)?
- Layanan pembayaran (tidak diimplementasikan)?
- Layanan Data Pribadi Pilot (sedang berlangsung)?
- Layanan pesanan (tidak diimplementasikan)?
- Layanan Informasi Stasiun (tidak diimplementasikan)?
Layanan Microser berkomunikasi satu sama lain melalui Apache Kafka, yang menyediakan perpesanan dan pembaruan peringkat.
Fungsi?
- Perhitungan jalan dari satu planet ke planet lainnya, dengan mempertimbangkan gerakan mereka di orbit
- Mengumpulkan dan memproses umpan balik dari pengguna dan pilot.
- Memilih kelas penerbangan.
- Sistem Peringkat Pilot.
- Verifikasi data pribadi pilot.
- Menghitung biaya penerbangan karena panjang dan kompleksitas penerbangan.
- Implementasi Layanan Pembayaran dengan mempertimbangkan Komisi Antar -Jemput (terima kasih telah memilih kami! ???).
- Aplikasi Bereaksi untuk Dokumentasi, Menggunakan Aliran Bereaksi (sangat indah dan mengagumkan !!!!)
Kemungkinan fungsionalitas
- Simulasi kerusakan antar -jemput (tanpa membahayakan kehidupan penumpang! ???).
- Implementasi dalam ruang 3D, sehingga akan seperti NASA: https://eyes.nasa.gov/apps/solar-system/#/home
Arsitektur
Proyek ini menggunakan teknologi dan pendekatan berikut:
- Spring Boot untuk membuat layanan microser. (Ada pengecualian, misalnya, jalur pencarian microservice)
- Apache Kafka untuk pemrosesan pesan.
- OpenTelometry, Graphana, Prometheus untuk pemantauan dan penelusuran.
- Docker & Kubernetes & Tindakan GitHub untuk digunakan.
- Pgsql, mongodb, redis, cassandra sebagai database.
Bagan dan Metrik
Visualisasi proses pemesanan antar -jemput
Diagram yang sebelumnya ditampilkan di sini sekarang tidak valid
Di masa depan, semua dokumentasi, diagram, perhitungan metrik seperti dau, mau dan sebagainya akan diimplementasikan sebagai aplikasi reaksi menggunakan aliran reaksi, tidak akan ada lagi diagram keji seperti itu ???
Instalasi dan Persyaratan
Untuk menjalankan proyek, Anda akan memerlukan alat dan dependensi berikut:
- Java 17 atau lebih
- Maven 3.8.1 atau lebih baru
- Docker (opsional, untuk bekerja dengan wadah)
Pastikan semua dependensi diinstal dan dikonfigurasi sebelum memulai proyek.
Lisensi
Tolong jangan mencuri apapun ((((
Kontak?
Jika Anda memiliki pertanyaan atau saran, Anda dapat menghubungi saya melalui masalah github atau melalui email atau melalui telegram.
Antar -jemput adalah taksi ruang masa depan, didorong oleh teknologi layanan mikro modern!