Günlük blog | .NET Core altında yüksek kullanılabilirlikli hizmet kümelerinin basit yapısı

Sağ üst tarafa tıklayın, açık kaynak Çin OSC başlık numarasını takip edin, en son teknik bilgileri alın

Kümeleme hizmetleri söz konusu olduğunda, sıradan geliştiricilerin zeekeeper'ın bir dizi inşası ve yapılandırması, ters proxy hizmet ağ geçidi vb. Gibi çok karmaşık şeyler düşünmesi gerektiğine inanıyorum; genel olarak, belirli deneyime ve planlamaya sahip bir ekibin başvurması gerekir. ayağa kalk. Bu makalede, .net çekirdeği altında başka bir küme oluşturma çözümü görebilirsiniz, Beetlex aracılığıyla yüksek kullanılabilirliğe sahip küme hizmetlerini kolayca oluşturabilirsiniz.

Kısa giriş

Beetlex'in Webapi küme uygulaması üçüncü taraf hizmetlerine dayanmaz, ancak Beetlex tarafından tamamlanır; esas olarak İstemci ve politika izleme hizmetlerinin kombinasyonu aracılığıyla kümelenmiş hizmet yükü erişimini uygular. Hizmet yapısı aşağıdadır:

İstemci konfigürasyon merkezinden küme stratejisini aldıktan sonra, yük işlemeyi tek başına gerçekleştirmek için konfigürasyon merkezini terk edecek; çalışma sırasında, güncellenmiş stratejiyi konfigürasyon merkezinden periyodik olarak alacaktır.Bu süreçte, konfigürasyon merkezi kullanılamaz olsa bile, genel hizmet işleme etkilenmeyecektir. Aşağıda, yapılandırma merkezinin politika yönetimidir:

Yönetim merkezi aracılığıyla, farklı URL'lerin yük ağırlığını yapılandırabilirsiniz. Varsayılan olarak, tüm yüklerin üstesinden gelmek için bir * yapılandırabilirsiniz; belirli bir ölçeğe ulaşıldığında, belirli URL kuralları için politikalar yapılandırabilirsiniz. Politikaları yapılandırmanın yanı sıra, merkez ayrıca hizmetler de sağlar Kaynak izleme, ağırlık ayarlamalarını daha kolay hale getirebilir.

uygulama

Daha sonra, Beetlex aracılığıyla yüksek kullanılabilirliğe sahip bir webapi küme hizmetinin nasıl oluşturulacağını tanıtmak için basit bir örnek kullanılmıştır.

  • .Net çekirdek konsol projesi oluşturun

  • Referans Beetlex.FastHttpApi

  • Basit bir HelloWorldwebapi hizmeti yazın
sınıf programı { özel statik BeetleX.FastHttpApi.HttpApiServer mApiServer; statik geçersiz Ana (dize değiştirgeleri) { mApiServer = new BeetleX.FastHttpApi.HttpApiServer (); mApiServer.Debug (); mApiServer.Register (typeof (Program) .Assembly); mApiServer.Open (); Console.Write (mApiServer.BaseServer); Console.Read (); } } public class Ana Sayfa { /// < özet > /// Merhaba kelime /// < / özet > /// < param adı = "ad" > dize: adınız < / param > /// < İadeler > dizi < /İadeler > genel nesne Merhaba (dize adı) { yeni {Merhaba = "merhaba" + ad, Saat = DateTime.Now} döndür; } }
  • Çalıştırdıktan sonra tarayıcıyı ziyaret edin

  • Müşteri çağrısı oluştur

Aynısı bir konsol programı oluşturmak, ardından BeetleX.FastHttpApi'ye başvurmak, erişim arayüzünü tanımlamaktır.

ortak arabirim IDataService { string Merhaba (dize adı); }
  • Çağrı arayüzü proxy'si oluştur
HttpClusterApi = new BeetleX.FastHttpApi.Clients.HttpClusterApi (); DataService = HttpClusterApi.Create < IDataService > (); await HttpClusterApi.LoadNodeSource ("varsayılan", "http: // localhost: 8080"); // Yapılandırma hizmetine varsayılan düğümü yükleyin
  • Arama servisi
var sonuç = DataService.Hello ("henry");
  • Küme merkezi yapılandırması

Böyle bir kümelenmiş hizmet tamamlandı.Bazıları bunun açıkça tek bir hizmet olduğunu sorabilir, nasıl yüksek düzeyde erişilebilir bir hizmet kümesi olabilir? Ardından, test süreciyle başa çıkmak için bir dizi stres testi yapacak ve konfigürasyon merkezi aracılığıyla hizmetleri sorunsuz bir şekilde artıracağız.

Yapılandırma yükü

Hedefimiz yüksek kullanılabilirlikli kümelerdir, ancak pratik uygulamalarda böyle bir talebe aynı anda sahip olmak imkansızdır. Küme hizmetlerine olan talep, iş büyüdükçe kademeli olarak ortaya çıkacaktır; daha sonra yukarıdaki tek hizmeti gerçekleştireceğiz Bir stres testinde, stres testi için 40 iş parçacığı açıldı, dağıtım hizmeti sadece iki çekirdek olduğundan, kaynaklar aynı anda boğulur.

Daha sonra, eşzamanlı işlemeyi desteklemek için yeni bir düğüm hizmetine ihtiyaç vardır. Şu anda, yalnızca yeni bir hizmeti dağıtmanız ve yapılandırma merkezine düğümler eklemeniz gerekir.

Yeni bir hizmet eklendikten sonra eşzamanlılık 1W'den 3W'a değişti ve bu ayarlama hiçbir program ayarlaması gerektirmez! Stres testinden sonra iki sunucunun kaynakları nispeten kısıtlı olduğundan, eşzamanlılıkla başa çıkmak için başka bir hizmet eklenir, ancak bu sefer eklenen hizmet ağırlığı önceki ikisinin yalnızca yarısıdır.

Test sonuçlarından, son eklenen hizmet ağırlık ayarına göre ilgili eşzamanlı işlemi taşır.

Yukarıdaki örnekler aracılığıyla, Beetlex aracılığıyla yüksek oranda kullanılabilir bir webapi küme hizmeti oluşturmanın çok basit olduğunu göreceksiniz.

Blog yazarı: Çamurlu Adam

Açık kaynak topluluğu OSC başlıkları, yabancı dil çevirisini, yazılım güncellemelerini, teknik blogları ve diğer yüksek kaliteli içeriği kapsayan en son yüksek kaliteli teknik makaleleri günlük olarak yayınlayın. Açık kaynak topluluğunun OSC başlıklarını takip edin, günlük en son teknik bilgileri alın, tıklayın " daha fazlasını anla "Orijinal makaleyi okuyun.

A-hisse listesi için eşik belirlendi! Bu üç göstergeyi ve sekiz büyük sektörü karşıladığınız sürece kâr etmekten korkmayın
önceki
Japonya'ya Karşı Direniş Savaşı tarihinin en heyecan verici savaşı: On bin havan topu Japon üssünü hedef aldı ve bir saat boyunca bombardımana tutuldu
Sonraki
Che Yun Morning Post | Tucson gelecekte 95 milyon ABD doları finansman alıyor, Jaguar Land Rover Çin, Çin Seddi'nin satın alınmasını reddediyor, Pekin gelecek yıl Ulusal VI emisyon standartlarını uyg
Herşeyi Yap! Xiaomi kitle fonlaması deri elektrikli dinlenme koltuğu, netizenler: Geleneksel şirketleri nasıl yaşatırsınız?
Buz kentindeki sıcaklık yükselmeye devam ediyor ve vatandaşlar hafta sonları geziler için bir araya geliyor
Araba bulut teknolojisi testiAudi'nin "parmak ucu devrimi"
Japon şirketleri sahte ürünler satıyor ve çok sayıda Çin unsuru ekleyerek Pakistan Demiryollarını 35 yıl içinde yanılttı ve Çin'in potu geri almasına izin vermek istiyor
Günlük blog Skywalking mikro hizmet izleme analizi
Laos'un en yüksek lideri, 37 yıldır iktidarda ve Güneydoğu Asya liderleri arasında en uzun süredir iktidarda.
Topluluk, kamu refah hizmeti faaliyetleri düzenledi ve yardım alan sakinler hayır amaçlı malzemeler bağışladı
Tutkulu gençler için sahip olunması gereken! Charm Blue E3 J-20 özelleştirilmiş versiyonu satışta: 6G + Snapdragon 636, 1999 yuan'dan başlayarak!
"Yetişkin eğitiminin ilk stoğu" Suntech IPO, Çin eğitim endüstrisi Amerika Birleşik Devletleri'nde bir liste dalgası mı başlattı?
Hong Kong hisseleri karşılıklı altın tek boynuzlu atlarını hoş karşıladı, net kar 700 milyon yuan'ı aştı, Jingdong ve Shunwei gibi ondan fazla başkent tarafından yatırıldı
Geely Ocak ayında 158.000'den fazla araç sattı ve Binrui ve Binyue yine 10.000'i aştı!
To Top