Bagi orang-orang yang membagi aplikasi monolitik menjadi layanan mikro, bagaimana Anda menangani teka-teki untuk membongkar database. Aplikasi khas yang saya kerjakan melakukan banyak integrasi database untuk alasan kinerja dan kesederhanaan.
Jika Anda memiliki dua tabel yang secara logis berbeda (konteks terbatas jika Anda mau) tetapi Anda sering melakukan pemrosesan agregat pada volume besar data itu, maka dalam monolit Anda kemungkinan besar akan menghindari orientasi objek dan sebagai gantinya menggunakan standar database Anda GABUNG fitur untuk memproses data pada database sebelum mengembalikan tampilan gabungan kembali ke tingkat aplikasi Anda.
Bagaimana Anda membenarkan pemisahan data tersebut menjadi layanan mikro di mana mungkin Anda akan diminta untuk 'menggabungkan' data melalui API daripada di database.
Saya telah membaca buku Microservices Sam Newman dan di bab tentang pemisahan Monolith dia memberikan contoh "Memutus Hubungan Kunci Asing" di mana dia mengakui bahwa melakukan penggabungan di API akan lebih lambat - tetapi dia melanjutkan dengan mengatakan jika aplikasi Anda cukup cepat, apakah penting jika lebih lambat dari sebelumnya?
Ini sepertinya sedikit fasih? Apa pengalaman orang-orang? Teknik apa yang Anda gunakan untuk membuat gabungan API bekerja dengan baik?