Yazılım mimarisi ve tasarımı açısından, mikro hizmetlerin ara katman yazılımına karşı nasıl "birikmesi" (pun planlı)? Java'dan geliyorum ve bir API olarak düz REST'ten uzaklaştığınız ve farklı katmanları ve bağlantı parametrelerini soyutladığınız gibi görünüyor, en azından Java'da, neredeyse çok eski okul fikirlerine geri dönüyorsunuz . Sanallaştırmaya geri döndük ... JVM zaten sanal.
Agnostik bir şekilde, RESTful API'yi CORBA'ya soyutlamanın avantajlarını tartışabilir ve tartışabilirim. Veya daha çok java merkezli bir şekilde JMS veya MDB.
Bir zamanlar EJB Java'da büyük bir anlaşma yaptı, o zaman biraz küme efekti olarak tanındı, ama şimdi başlangıca geri mi döndük?
Veya mikro hizmetler, CORBA'nın veya daha iyisi MDB'nin eksik olduğu bir şey sunuyor mu? Mikroservisleri açıklayan (TLDR) Martin Fowler'ı okuduğumda, kötü bir soruna iyi bir çözüm olarak karşımıza çıkıyor. Daha doğrusu, sadece sorunu zorlayan bir karmaşıklık düzeyi getiren kapalı fikirli bir yaklaşım. Hizmetler gerçekten mikro ve çok sayıdaysa, her birinin işletmesi ve bakımı için bir dolar maliyeti vardır.
Dahası, bir mikro servisin birçoğu API'sını değiştirirse, o hizmete bağlı olarak her şey bozulur. O değil gibi görünüyor bu gevşek bağlı görünüyor Çevik tersini. Yoksa bu kelimeleri yanlış mı kullanıyorum?
Tabii ki, bu uç noktalar arasında belirsiz bir seçenek vardır.
Goril'e karşı köpekbalığı ... git! (Bilgiçlik için, bunun ironik olması gerekiyordu ve niyetim hiç de değil. Soru yüz değerinde ele alınacak. Eğer soru geliştirilebiliyorsa, lütfen bunu yapın veya yorum yapın ve düzeltirim. )
Docker'da, hepsi bir makinede, birbirinizle konuşarak çalışan çok sayıda mikro hizmet düşünün ... delilik. Korunması veya yönetilmesi zordur ve hiçbir şeyi değiştirmek imkansızdır, çünkü herhangi bir değişiklik kademelendirilir ve öngörülemeyen hatalara neden olur. Bu hizmetlerin farklı makinelere dağılması nasıl bir şekilde daha iyi? Ve eğer dağıtılırlarsa, elbette bazı çok, çok eski okul teknikleri en azından bir dereceye kadar dağıtılmış bilgisayarları çözdü.
Yatay ölçeklendirme neden bu kadar yaygın veya en azından arzu edilir?
giant blob
, arayüzlere sahip olmak zorunda, bu yüzden çekirdekten başlayan her bölüm bir çeşit MS ve daha önce kod yazmaya başlayan herhangi bir takım v0.0.1 şartnameleri üzerinde anlaşmaya varacaktı.