feragat
Umarım kimsenin parmaklarına basmıyorum ya da her iki kavramın meraklılarını rahatsız etmiyorum
Arka fon
Net bir cevap bulamadan, Servis Odaklı Mimari ve Mikro Hizmetler arasında gerçek farklılıklar arıyordum .
Ben şöyle okudum:
- SOA'nın yan etkileri
- SOA anti-patern oluşturuyor
- Mikro hizmetler SOA'nın hatalarını düzeltmek için geldi
- ESB'ler gerçekten ESB değil, EAI
- Message Brokers'a aşırı güvenme
- Satıcılar SOA kavramını kötüye kullanıyor ve ürünlerini satmaya çalışıyor
- SOA kontrolsüz bir şekilde büyüyor
Ancak yine de hiçbir şey Hizmet Odaklı Mimari (kavram olarak) ve Mikro hizmet (kavram olarak) arasındaki mimari farklılıkları açıkça tanımlamaz.
Anladığım kadarıyla, her ikisinin de var:
- Servis Sağlayıcılar, tek bir şey yapıyor
- Hizmet Ağ Geçidi / ESB, bu hizmetleri tüketicilere sunar
- Hizmet Tüketicileri, ESB / Hizmet Ağ Geçidi üzerinden hizmetlere erişme
Soru
Peki, SOA'yı Mikro Hizmetlere yeniden etiketlemekten başka bir şey var mı? Microservices'in makro haline gelmesini sınırlamak için uygulanan bir teknoloji kısıtı mı?
Not: Umarım mermi noktalarında fikirler, sadece zor gerçekler aramıyorum
Referanslar
- Yazılım Mühendisliği Soruları
- Martin Fowler Sitesi (Bence büyük zamandan nefret ediyor)
- Bilgi dünyası
- Michael Fethers'ın Web Sitesi
- Yığın Taşması Soruları
Güncelleme
Yığın taşması sorusunda benzer bir tartışma gerçekleşti, Mikro Hizmetlerin kılık değiştirerek Hizmet Odaklı Mimari olduğu ya da olmasın görüş ayrı.
SO sorusundan sonuç:
- MS, SOA'nın özel bir halidir
- MS, hizmet barındıran uygulamaların daha küçük boyutlarını onaylar
- MS teknolojiye bağlıdır (açık protokol seçenekleri yerine HTTP kullanımı)
- MS, disiplini uygulamak için teknolojiye güveniyor (hizmetlerin otomatik olarak konuşlandırılması)
- MS, ESB'leri (kötü) ele alır, ancak IMHO'nun bir ESB türü olduğu API Ağ Geçitlerini kullanır
Bu, eğer doğruysa MS'in SOA olduğu sonucuna varır:
- MS, Orkestrasyon kavramını destekliyor mu? Bir veya daha fazla ana işlem (ler) iş akışlarını yönetir
- MS'de bir Message Broker katmanı var mı? Servis üreticilerinin mesaj alanından servis tüketicilerine mesaj formatlarını çeviren bir dizi adaptör
- Mikro hizmetler yekpare kurumsal uygulamalardan veri okuyabilir mi? Monolitik bir uygulamanın API'leri olabilir mi? veya bağımsız çalışabilen bağımsız müstakil uygulamalar mı olmalı?
Son soruya verilen yanıtın hayır olduğu ortaya çıktıysa, Mikro Hizmetler, Kredi Kartı Yönetim Sistemleri veya mutabakat sistemleri gibi karmaşık iş akışı sistemlerini işleyemez.
Martin Fowler's Site (I think he hates it big time)
Barselona'daki konuşmasına gittiğimde bu benim hislerim değildi. Ödünleşmelerin ve insanların MS'in herkes için uygun olmadığını düşünmeden bu mimariye körü körüne nasıl geçtiğini biliyor.