2015-05-20 21 views
6

OWIN barındırma öğreticisini inceledim ve işleri başlatıp çalıştırdım, ancak değiştiğimde, InstanceCount değerini -1 olarak ayarladığınızda, hizmetin her örneği WebApp çağrıldığında OpenAync yönteminde bağlantı noktası 80'i dinlemeye çalışıyor gibi görünüyor .Başla.Geliştirme kümesinde bir OWIN tarafından barındırılan hizmetin birden çok örneğini nasıl çalıştırıyorsunuz?

Hizmet Kabuğunun, bağlantı noktası çarpışmalarından kaçınmak için hizmetleri döndürdüğü sırada bağlantı noktalarını dinamik olarak yöneteceğini varsaydım, ancak bunun gerçekleştiği görülmüyor.

cevap

8

Bir Örnek 1, yalnızca çok makineli bir kümede çalışan durum bilgisi hizmetleri için anlamlıdır. Bu durumda, her düğüm kendi makinesinde çalışır, böylece bağlantı noktası çakışmalarınız olmaz ve bu örnekleri barındıran makineler aracılığıyla Azure yük dengeleyicisini yuvarlak robin trafiğine göre yapılandırabilirsiniz.

Yerel bir kümede, tüm düğümler aynı makinede bulunur; dolayısıyla ortak bir HTTP öneki paylaşmaya çalışırlarsa gerçekten çakışacaktır. Bunu önlemek için, durum bilgisi olmayan hizmetleriniz için InstanceCount'u yerel dağıtımlar için 1'e ayarlamanız yeterlidir.

Tüm bunlar, yalnızca önceden tanımlanmış bir bağlantı noktasını kullanarak hizmetlerinizle iletişim kurmak istediğiniz durumlarda gereklidir. Servis bildirisinde bir bağlantı noktası belirtmezseniz, platform hizmet başlatıldığında otomatik olarak bir tane atar. Bununla birlikte, uç noktaların dinamik olarak, çoğu zaman arzu edilmeyen platformun ad çözümleme API'lerini kullanarak dinamik olarak keşfetmesi müşterilere yüklenir. Sonuç olarak, ortak desen, uygulamanızın önceden tanımlanmış bir bağlantı noktasını dinleyen vatansız bir ön tarafa sahip olması ve ardından da diğer hizmetlere yönelik istekleri iletmek için ad çözümlemesi gerçekleştirmesidir. Bu ikinci seviye hizmetler, platform tarafından dinamik olarak atanan bir bağlantı noktasında dinlenebilir.

İlgili konular