katılımcılar seti (link) saklanır sohbet WebSocket'e, tek sunucu durumunda uygundur. Ancak, uygulamanın ve nginx'in birden fazla örneğini bir yük dengeleyici olarak çalıştırıyorsanız, bu durumda katılımcıları nasıl saklamak daha iyidir?ölçeklenebilirlik örneğini sohbet WebSocket'e kasırga olarak
7
A
cevap
4
Sen REDIS ait pubsub
özelliğini kullanmayı düşünebilirsiniz. (link)
Düzenleme: Müşterileriniz sizin sohbet odası oturum
, bir kanala subscribe
, chatroom
söyleyebiliriz. Hangi kasırga örneklerini kullandıkları önemli değil. kanalla dinlemeye uyumsuz tutabilir this module kullanma.
başka bir istemci sizin sohbet odası bir mesaj gönderirse (o kanala chatroom
bir mesaj yayınlamak olduğunu), otomatik kanala abone olanlara mesajları gönderir olacak tüm tornado örneklerini. Sonra mesajı websocket üzerinden gönderebilirsiniz.
Örneğin bu demo bir göz alabilir.
İlgili konular
- 1. websocket ölçeklenebilirlik
- 2. DotNetNuke Ölçeklenebilirlik
- 3. Ben kasırga kullanıyorum
- 4. SignalR hub ölçeklenebilirlik sorunu
- 5. Kasırga ve WTForms
- 6. Web API eşzamanlılık ve ölçeklenebilirlik
- 7. Wrf servisi olarak sinyalr kullanarak sohbet uygulaması
- 8. Paralel kod için ölçeklenebilirlik nasıl tanımlanır?
- 9. sohbet sadece
- 10. İkili parçayı destekleyen kasırga web yuvaları 2
- 11. facebook sohbet?
- 12. Neo4j'in yatay ölçeklenebilirlik projesi Rassilon'daki durum nedir?
- 13. Azure işlevlerinden çok fazla ölçeklenebilirlik mi bekliyorum?
- 14. GLCameraRipple örneğini Image olarak arka plan olarak nasıl yazabilirim?
- 15. Kasırga websocket uygulamasında kullanıcı kimlik doğrulaması
- 16. JGroups (JChannel) Sohbet Uygulaması diğer bilgisayarda çalışmıyor
- 17. Steam sohbet metnini alın
- 18. Facebook'un yatay kaydırma çubuğu, sohbet ve sohbet kenar çubuğunda
- 19. Sohbet düzeni oluşturma?
- 20. SignalR çoklu sohbet odaları
- 21. Sohbet uygulaması için RecyclerView
- 22. PushKit: Sohbet uygulamasında VoiP
- 23. Android'de Sohbet Kabuğu Oluşturma
- 24. WPF Sohbet kutusu kontrolü
- 25. Raylar diaspora XMPP sohbet
- 26. WP7 sohbet stilini uygulama
- 27. PHP sohbet sansürü
- 28. nodejs ve socket.io sohbet odaları
- 29. Kasırga kullanarak aiohttp (veya diğer asyncio tabanlı kitaplıklar)
- 30. EMT Modeli örneğini XTend
Sana birden çok örneğini çalıştırırsanız fark yoktur derim. Sonunda her örnek kendi setine() sahip olacaktır. Kullanıcıları arasında geçiş yapmak için yük dengeleyiciden endişe ediyorsanız, bunun bir sohbet sırasında çalışacağını düşünmüyorum ama yanılıyor olabilirim. Ben küçük bir db veya bir anahtar-değer deposu düşünebilirsiniz aynı kullanıcı listesini kullanmak için tüm örnekleri yok. – pypat
Anladığım kadarıyla, her bir örnek bağlantıyı yalnızca katılımcılarına bırakacak, farklı örnekler farklı bir kullanıcı listesine sahip olacak. Ancak diğer örnek sohbetde yeni mesajlara nasıl bildirilecek? 'Set' tek piton örneğine ait ve diğer örnekleri tarafından erişilemiyor beri, Bahsettiğiniz @pypat gibi, Memcached gibi (tüm örnekler tarafından erişilebilir olduğunu ortak ve HIZLI anahtar-değer deposu oluşturmak zorunda – saniaxxx26
, Redis vb.) Bir yöntem güncellenmiş bilgilerin tüm örneklerini bildirmek için Redis Pub/Sub sistemini kullanmaktır. Umarım aşağıda cevabım biraz yardımcı olur. –