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
sumber
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.Jawaban:
Perbedaan utama, yang memiliki konsekuensi luas dari proyek, adalah bahwa dengan Microservices, Penyedia Layanan ini dapat digunakan secara terpisah dan dapat diskalakan .
Ini hebat, karena Anda bisa lebih gesit. Jika suatu layanan perlu diubah, Anda hanya perlu mengubah yang itu, tidak ada satu pun kerabatnya. Jika Anda ingin mencoba kerangka kerja atau bahasa baru, cukup lakukan penggantian drop-in untuk layanan yang satu itu. Jika Anda tiba-tiba membutuhkan kapasitas 100x, putar beberapa mesin baru dengan layanan itu untuk menangani masuknya itu. Jika Anda ingin versi sesuatu, cukup versi itu tanpa menyentuh seluruh aplikasi. Dan itu membuat segalanya lebih mudah untuk memantau, instrumen, membagi di antara tim, usang ...
Tetapi ia datang dengan beberapa implikasi berat:
sumber
Berikut adalah garis bawah. Satu perbedaan yang jelas antara SOA dan Microservices adalah gagasan tentang
Tidak seperti SOA , yang akan bergantung pada konsumen dan produsen layanan yang tidak menyadari, mendelegasikan manajemen lalu lintas, terjemahan format pesan dan orkestrasi layanan ke sistem eksternal, misalnya ESB, orkestra layanan, broker pesan.
sumber