Penolakan
Saya harap saya tidak menginjak kaki siapa pun atau menyinggung penggemar salah satu konsep
Latar Belakang
Saya telah mencari perbedaan nyata antara Arsitektur Berorientasi Layanan dan Layanan Mikro, tanpa menemukan jawaban yang jelas.
Saya membaca hal-hal seperti:
- efek samping SOA
- SOA menjadi anti-pola
- Layanan Microsoft datang untuk memperbaiki kegagalan SOA
- ESB bukan benar-benar ESB melainkan EAI
- Ketergantungan berlebihan pada Pialang Pesan
- Vendor menyalahgunakan gagasan SOA dan mencoba menjual produk mereka
- SOA tumbuh tak terkendali
Tapi tetap saja, tidak ada yang jelas mendefinisikan perbedaan arsitektur antara Service Oriented Architecture (sebagai konsep) dan Layanan Mikro (sebagai konsep)
Menurut apa yang saya pahami, mereka berdua memiliki:
- Penyedia Layanan, hanya melakukan satu hal
- Service Gateway / ESB memaparkan layanan tersebut kepada konsumen
- Service Consumers, mengakses layanan melalui ESB / Service Gateway
Pertanyaan
Jadi, apakah ada yang berbeda selain mengubah SOA menjadi Microservices? apakah itu kendala teknologi yang ditempatkan untuk membatasi Microservices dari menjadi makro?
Catatan: Saya tidak mencari pendapat, hanya fakta sulit, semoga dalam poin-poin singkat
Referensi
- Pertanyaan Rekayasa Perangkat Lunak
- Situs Martin Fowler (saya pikir dia sangat membencinya)
- Dunia info
- Situs web Michael Fethers
- Pertanyaan Stack Overflow
Memperbarui
Tampaknya debat serupa terjadi dalam pertanyaan Stack overflow , dengan pendapat yang terbelah apakah atau tidak Layanan Mikro Berorientasi Arsitektur dalam Penyamaran.
Kesimpulan dari pertanyaan SO:
- MS adalah kasus khusus SOA
- MS mendukung ukuran yang lebih kecil dari aplikasi layanan hosting
- MS tergantung pada teknologi (penggunaan HTTP daripada opsi protokol terbuka)
- MS mengandalkan teknologi untuk menegakkan disiplin (penyebaran layanan otomatis)
- MS Mempertimbangkan ESB (jahat), tetapi menggunakan Gateway Gateway yang IMHO adalah jenis ESB
Itu menyimpulkan bahwa MS adalah SOA, jika yang berikut ini benar:
- Apakah MS mendukung gagasan Orkestrasi? Satu atau lebih proses master mengelola alur kerja
- Apakah ada lapisan broker pesan di MS? Seperangkat adaptor yang menerjemahkan format pesan dari ruang pesan produsen layanan ke konsumen layanan
- Dapatkah layanan mikro membaca data dari aplikasi perusahaan monolitik? Apakah bisa berupa API aplikasi monolitik? atau harus mandiri aplikasi mandiri, mampu beroperasi secara mandiri?
Jika jawaban untuk pertanyaan terakhir ternyata tidak, maka Microservices tidak akan mampu menangani sistem alur kerja yang kompleks, misalnya Sistem Manajemen Kartu Kredit, atau sistem rekonsiliasi
Martin Fowler's Site (I think he hates it big time)
Itu bukan perasaan saya ketika saya pergi ke ceramahnya di Barcelona. Dia menyadari pertukaran dan bagaimana orang-orang telah beralih ke arsitektur ini secara membabi buta tanpa mempertimbangkan bahwa MS tidak cocok untuk semua orang.