Dalam hal arsitektur dan desain perangkat lunak, bagaimana layanan microser "menumpuk" (pun intended) terhadap middleware? Saya datang dari Jawa, dan sepertinya saat Anda beralih dari REST langsung sebagai API, dan memisahkan lapisan dan parameter koneksi yang berbeda, setidaknya di Jawa, Anda hampir kembali ke beberapa ide sekolah yang sangat kuno. . Kami telah kembali ke virtualisasi ... sementara JVM sudah virtual.
Dengan cara agnostik, Anda bisa, dan saya akan berdebat tentang kelebihannya, mengabstraksi API yang tenang untuk CORBA. Atau, dengan cara yang lebih java-sentris, JMS atau MDB.
Pada suatu waktu EJB adalah masalah besar di Jawa, maka itu diakui sebagai sedikit efek cluster, tetapi, sekarang, apakah kita kembali ke awal?
Atau, apakah layanan microser menawarkan sesuatu yang kurang dimiliki CORBA, atau bahkan lebih baik, MDB? Ketika saya membaca (TLDR) Martin Fowler menjelaskan microservices, itu menurut saya solusi yang baik untuk masalah buruk, jika Anda mau. Atau lebih tepatnya, pendekatan tertutup yang memperkenalkan tingkat kompleksitas hanya mendorong masalah di sekitar. Jika layanan benar-benar mikro, dan banyak, maka masing-masing memiliki biaya dolar untuk menjalankan dan memeliharanya.
Selain itu, jika satu layanan mikro di antara banyak perubahan API-nya, maka semuanya tergantung pada layanan itu rusak. Ini tidak tampak longgar digabungkan, itu tampaknya kebalikan dari tangkas. Atau apakah saya menyalahgunakan kata-kata itu?
Tentu saja, ada sejumlah pilihan yang tidak pasti di antara yang ekstrem ini.
Hiu versus Gorila ... pergi! (Untuk yang bertele-tele, itu berarti ironis, dan sama sekali bukan maksud saya. Pertanyaan itu dimaksudkan untuk diambil pada nilai nominal. Jika pertanyaan dapat diperbaiki, silakan lakukan, atau komentar dan saya akan memperbaikinya. )
Membayangkan banyak layanan microser berjalan di buruh pelabuhan, semuanya dalam satu mesin, saling berbicara ... kegilaan. Sulit untuk mempertahankan atau admin, dan hampir tidak mungkin untuk mengubah apa pun karena perubahan apa pun akan mengalir dan menyebabkan kesalahan yang tidak terduga. Bagaimana bisa lebih baik bahwa layanan ini tersebar di berbagai mesin? Dan, jika mereka didistribusikan, maka pasti beberapa teknik sekolah yang sangat, sangat tua telah menyelesaikan, setidaknya sampai taraf tertentu, komputasi terdistribusi.
Mengapa penskalaan horizontal begitu lazim, atau setidaknya diinginkan?
giant blob
, itu harus memiliki antarmuka, sehingga setiap bagian mulai dari kernel adalah semacam MS, dan hal pertama sebelum tim mana pun mulai menulis kode untuk menyetujui spesifikasi v0.0.1.