Müşteri, istemciye bir web sayfasını yüklemek için ihtiyaç duyduğu verileri almak için bunları birbiri ardına doğrudan aramalı mıdır?
Değişir; ancak, müşteriye doğrudan kullanılabilir yetenekler sağlamanızı ve sonuçların nasıl toplandığının ayrıntılarını gizlemeyi (kapsülleyerek) öneririm (örneğin, birden fazla mikro servis aracılığıyla).
Müşteri tarafından bireysel mikro hizmet sonuçlarının birleştirilmesinde çok fazla mantık varsa, bu yanlışlıkla bazı iş mantığının istemciye sızmasına neden olabilir. Ayrıca, iç mimarinizin daha fazlasını istemciye gösterebilir ve mikro hizmetlerin daha sonra yeniden düzenlenmesini engelleyebilir.
Yani, bu mikro hizmetlerle, bazen müşteriye yararlı soyutlamalara sahip bir uç nokta sağlayan ve diğer (belki de şimdi daha fazla dahili) mikro hizmetlerin daha yüksek düzeyde koordinasyonunu sağlayan bir sargı mikro hizmetine sahip olmak yararlı olabilir.
(Ayrıca, müşteriye gidiş-dönüş gezileri, mikro hizmetlerinizden birbirlerine göre daha pahalıdır.)
Örneğin, GraphQL tarafından alınan yöne bakarsanız, bir uç noktaya doğrudan ilgili sorgular yayınlayan istemcileri bulabilirsiniz; bu, bir mikro hizmet koleksiyonu olarak uygulanabilir veya uygulanmayabilir. Mikro hizmetlerin mimarisi GraphQL'in arkasına gizlendiğinden, mimariyi yeniden düzenlemeyi ve aynı zamanda istemci için daha kolay hale getirir. Örneğin, bkz . Https://stackoverflow.com/a/38079681/471129 .