Bu soru aynı zamanda, statik olarak bağlanmış ikili dosyaları ayıklayabileceğiniz ve bir yere koyabileceğiniz golang için de geçerli olacaktır; Python veya C ++ yerine, genellikle insanların çok sayıda bağlantı kabı konteyneri inşa etmesine neden olan çok sayıda bağlantılı kitaplığa sahip olursunuz. gelişme ortamı.
Burada cevaplanması gereken iki nokta var:
Birincisi: Daha iyi bir yol olmalı ve var: Sadece kurulum ortamını kullanarak daha küçük (ve daha verimli) liman konteynerleri oluşturabilirsiniz; bu, Golang-with-golang ile olduğu gibi benzer avantajlara yol açar. -binaries kapları. Java durumunda, tüm kütüphane kavanozlarını ve bir kabuk betiğini içeren şişman bir kavanoz veya yüklenebilir bir uygulama oluşturabilirsiniz; Python'da, derleme ortamından bağımsız, bağımsız tekerlekler oluşturmak için denetleme tekerleğini kullanabilirsiniz (ve C ++ 'ı hemen hemen aynı etkiye statik bağlama ile kullanabilirsiniz).
İki: liman işçisi için neye ihtiyacın var? Java ülkesinde, sınıf yükleyicileri kullanarak farklı bileşenler arasında çok fazla ayrım yapabilirsiniz, ancak asıl nokta Java uygulamasının etrafındaki şeydir. Hiçbir Java uygulaması kendi başına çalışmaz - liman işçisi olarak çalışmazsa, genellikle gözetmen veya sistemd veya benzerleri tarafından denetlenir. Ana makineyi değil sanallaştırmak için kap soyutlamasını kullanan Kubernetes, Marathon veya Docker bulutuna girin, ancak aslında tüm kapsayıcıyı dağıtabileceğiniz ve bazı rasgele bir ana bilgisayarda çalışacak şekilde sanallaştırın.
Mikro-servisler genellikle liman tabanlı bulutlarda çalışır, çünkü liman ev sahiplerine evcil hayvan gibi değil aynı zamanda limanlanmış uygulamalarla aynı şekilde sığır gibi davranmanızı sağlar. Elbette, bu soyutlama, ana bilgisayar birimlerini docker'a bağladığınız anda sızıntı yapar ve docker kaplarını tam olarak bu hacimleri barındıran ana bilgisayarda çalıştırmanız gerekir. Bazı insanlar bunun etrafında bile olsun.