Kami merancang sistem berdasarkan pada microservices independen (terhubung melalui bus RabbitMq). Kode akan (untuk komponen pertama setidaknya) ditulis dalam python (baik python2 dan python3). Kami sudah memiliki aplikasi monolit yang mengimplementasikan beberapa logika bisnis, yang ingin kami refactor sebagai layanan microser, dan diperluas. Satu pertanyaan yang membuat saya khawatir adalah:
Apa cara terbaik untuk berbagi kode antara berbagai layanan microser. Kami memiliki fungsi pembantu umum (pemrosesan data, pencatatan, konfigurasi parsing, dll), yang harus digunakan oleh beberapa layanan Microsoft.
Layanan mikro sendiri akan dikembangkan sebagai proyek terpisah (git repositori). Perpustakaan umum dapat dikembangkan sebagai proyek mandiri juga. Bagaimana cara berbagi perpustakaan ini di antara layanan microser?
Saya melihat beberapa pendekatan:
- salin di sekitar versi perpustakaan yang diperlukan untuk setiap layanan Microsoft, dan perbarui sesuai kebutuhan
- lepaskan pustaka umum ke PyPi internal, dan daftarkan pustaka tersebut sebagai dependensi dalam persyaratan microservice
- termasuk repositori perpustakaan sebagai submodule git
Saya ingin membaca lebih banyak tentang pendekatan yang disarankan, praktik terbaik, pengalaman masa lalu sebelum memutuskan bagaimana untuk melanjutkan. Apakah Anda memiliki saran atau tautan?
fib(n)
(implementasi seri fibonacci). Anda tidak ingin mengulangi implementasi itu di setiap layanan Microsoft. Itu milik utils
perpustakaan (versi, untuk fitur dan perbaikan bug). Itu bukan monolit terdistribusi, itu hanya lapisan fungsi umum. Pertanyaan saya adalah bagaimana menangani layer ini di level implementasi?