Kaynak ikonu

Eklenti [MMO] Santrifüj 2.2.2

indirmek için izniniz yok
Uyumlu XF Sürümleri
2.2
https://xenforo.com/community/attachments/screen-jpg.269419/



Santrifüj ile entegrasyon ekler.
Centrifugo, çeşitli gerçek zamanlı aktarımlar üzerinden bağlantıları yönetebilen ve basit bir yayınlama API'sı sağlayan, kendi kendine barındırılan bir hizmettir. Centrifugo, herhangi bir uygulama ile iyi bir şekilde bütünleşir - gerçek zamanlı özellikleri tanıtmak için mevcut bir uygulama mimarisini değiştirmeye gerek yoktur. Sadece Centrifugo'nun kalıcı bağlantılarla uğraşmasına izin verin.

Mükemmel performans
Centrifugo, içinde bazı akıllı optimizasyonlar ile Go dilinde oluşturulmuştur. İyi bir performansa sahiptir – bir milyon WebSocket bağlantısı ve bir modern sunucu makinesiyle karşılaştırılabilir donanımla dakikada 30 milyon iletilen mesaj ile test standı.

Zengin özelliklere sahip
Birçok yerleşik özellik, sınırlı bir sürede çekici bir gerçek zamanlı uygulama oluşturmaya yardımcı olabilir. Centrifugo, farklı türde abonelikler, sıcak kanal geçmişi, anında bulunma, RPC aramaları sağlar. Ayrıca HTTP veya GRPC ve daha fazlası üzerinden uygulama arka ucuna bağlantı olaylarını proxy yapma olanağı da vardır.
Yerleşik Redis, KeyDB, Tarantool motorları veya Nats aracısı, bağlantıları farklı makineler üzerinden ölçeklendirmeyi mümkün kılar. Redis, KeyDB ve Tarantool'un tutarlı bir şekilde parçalanmasıyla, makul donanım gereksinimleriyle milyonlarca etkin bağlantıyı yönetmek mümkündür.

Üretimde kullanılır
Neredeyse 10 yıl önce başladı Centrifugo (ve üzerine kurulu Go için Santrifüj kitaplığı), dünya çapında birçok şirket tarafından üretimde başarıyla kullanılan olgun bir sunucudur: Badoo, Ably, ManyChat, Grafana ve diğerleri.

Gerçek zamanlı mesajlaşma nedir?
Gerçek zamanlı mesajlaşma, olayların uygulama arka ucu tarafından onaylandıktan hemen sonra verileri kalıcı bağlantıya iterek kullanıcılara iletilebileceği etkileşimli uygulamalar oluşturmaya yardımcı olabilir ve böylece minimum teslimat gecikmesi elde edilir.

Sohbetler, canlı yorumlar, çok oyunculu oyunlar, akış ölçümleri, gerçek zamanlı bir mesajlaşma sisteminin üzerine inşa edilebilir.

Centrifugo, çift yönlü WebSocket, SockJS ve tek yönlü SSE (EventSource), HTTP akışı, GRPC aktarımları üzerinden istemcilerden gelen kalıcı bağlantıları yönetir ve mesajları çevrimiçi istemcilere gerçek zamanlı olarak yayınlamak için API sağlar.

Ölçeklenebilirlik
Bir diğer önemli konu da ölçeklenebilirliktir. Uygulamanız büyüdükçe, giderek daha fazla kullanıcı gerçek zamanlı uç noktanızla kalıcı bağlantılar kuracaktır. Modern bir sunucu makinesi binlerce açık bağlantıyı işleyebilir, ancak bir işlemin gücü sınırlıdır - sonunda kullanılabilir CPU veya belleğiniz tükenir. Bu nedenle, bir noktada kullanıcı bağlantılarını birkaç makine üzerinde ölçeklendirmeniz gerekebilir. Bağlantıları birkaç makine üzerinden ölçeklendirmenin bir başka nedeni de yüksek kullanılabilirliktir (bir sunucu arızalandığında).
Github ve ücretli çevrimiçi hizmetlerde birçok gerçek zamanlı mesajlaşma çözümü vardır. Ancak bunlardan yalnızca birkaçı kullanıma hazır ölçeklenebilirlik sağlar; çoğu yalnızca tek bir işlemde çalışır. Santrifugo'nun ölçeklenen tek sunucu olduğunu söylemek istemiyorum. Hala Socket.IO, SocketCluster, Pushpin ve diğerleri gibi birçok alternatif var. Demek istediğim, ölçeklendirme olasılığı, gerçek zamanlı çözüm ararken veya sıfırdan oluştururken düşünmeniz gereken ana şeylerden biridir. Uygulamanızın mevcut kaynakları tek makinede ne kadar hızlı tüketeceğini gerçekten tahmin edemezsiniz - yazılım ölçeklenebilirliği erken bir optimizasyon değildir ve çoğu durumda kutudan çıkar çıkmaz ölçeklenebilir bir çözüme sahip olmak, uygulama işlevselliğini geliştirmek için size daha fazla alan sağlayacaktır.

Birçok çevrimiçi hizmet de ölçeklenebilir. Ancak fiyatlandırmaya bakın - bu çözümlerin çoğu oldukça pahalıdır. durumunda, ayda 500$ ödüyorsunuz, ancak yalnızca maksimum 10k bağlantı alıyorsunuz ve önemsemeniz gereken aylık ileti sayısı çok sınırlı. Bu gülünç. Elbette Centrifugo kendi kendine barındırılır ve onu çalıştırmak için sunucunuzun kapasitesini harcamanız gerekir. Ancak birçok durumda maliyetin karşılaştırılabilir olmadığını düşünüyorum.

Centrifugo, Redis PUB/SUB ile iyi ölçeklenir, uygulama tarafında Redis tutarlı parçalamayı kutudan çıkarmayı destekler ve yüksek kullanılabilirlik için Redis Sentinel ile entegre olur. Kubernetes'teki bağlantılar için 10 Centrifugo düğüm bölmesine ve tek işlemci çekirdeğinin yalnızca %60'ını tüketen yalnızca bir Redis örneğine sahip Centrifugo ile 500 bine kadar bağlantıya hizmet verdik!


Ayrıca, PUB/SUB'u Nats sunucusuyla aracı olarak ölçeklendirme olanağı ekleyen
  • Beğeni
Tepkiler: Ridow
Yazar
admin™
İndirilme
2
Görüntüleme
79
İlk yayınlama
Son güncelleme
Değerlendirme
0.00 yıldız 0 değerlendirme
Üst