nredis-proxy, redis protokolüne dayalı yüksek performanslı ve kararlı bir proxy ara yazılım hizmetidir. İş kodunu istila etmez, işletmeyle bağlantısı yoktur, herhangi bir uygulama kodunu değiştirmeye gerek yoktur ve doğal olarak dağıtılmış dağıtımı destekler.
Bir: Özellikler:
1: Dahili bağlantı havuzu, yüksek performans 2: Güçlü ölçeklenebilirlik ve özelleştirilebilir parçalama algoritmasına sahip bir parçalama stratejisi sağlar 3: Okuma ve yazma ayrımı, bir ana ve birden çok bağımlı sağlayın ve ağırlığa göre okuyun 4: Otomatik izleme fonksiyonu sağlayın, usta telefonu kapatır, seçim algoritması sağlar, usta olarak köle 5: HA dağıtılmış dağıtım, düğümler isteğe göre genişletilebilirİki: nredis-proxy mimari diyagramı
Üç: nredis-proxy dağıtım mimarisi diyagramı
Dört: Örnek yapılandırma dosyası:
< ? xml version = "1.0" encoding = "UTF-8"? > < fasulye xmlns = " xmlns: redisProxy = " xmlns: xsi = " xsi: schemaLocation = " " > < ! - redis ana-bağımlı konfigürasyonu - > < redisProxy: redisProxyNode id = "wandaredisnode" redisProxyHost = "127.0.0.1" redisProxyPort = "6379" algoritma-ref = "loadMasterBalance" adres = "127.0.0.1:2181" > < redisProxy: redisProxyMaster id = "wandaredismasters" host = "127.0.0.1" port = "6380" timeout = "5000" maxActiveConnection = "5000" maxIdleConnection = "500" minConnection = "50" algoritma-ref = "loadClusterBalance" > < redisProxy: redisProxyCluster id = "wandarediscluster0" host = "127.0.0.1" port = "6381" zaman aşımı = "5000" maxActiveConnection = "5000" maxIdleConnection = "500" minConnection = "50" ağırlık = "1" > < / redisProxy: redisProxyCluster > < / redisProxy: redisProxyMaster > < / redisProxy: redisProxyNode > < bean name = "loadMasterBalance" class = "com.opensource.netty.redis.proxy.core.cluster.impl.ConsistentHashLoadBalance" > < /fasulye > < bean name = "loadClusterBalance" class = "com.opensource.netty.redis.proxy.core.cluster.impl.RoundRobinLoadBalance" > < /fasulye > < /Fasulyeler >nredis-proxy 1.0.1 sürümü aşağıdaki özellikleri optimize eder
1: Netty atrribute eşzamanlılık problemini değiştirin 2: tcp parametrelerini optimize edin 3: Bağlantı havuzunu optimize edin, netty'nin en son sürümünü yükseltin, tek bir makinenin genel performans kaybını yaklaşık% 14'e kadar yapın
Nredis-proxy 1.0.2 sürümü aşağıdaki özellikleri optimize eder 1: Yüksek eşzamanlı ortamlarda IO sızıntılarını gidererek çok fazla dosya açılmasına neden olur 2: Ön kanal ve arka kanal ağır senkronizasyon kilitlerini ve dairesel bağlantılı liste algoritmalarını kaldırın, cpu düzeyinde uçucu kullanın ve mantık işlemlerini kolaylaştırın 3: TCP paket kaybı sorununu düzeltin 4: Tek bir yeniden işlemin performansı yaklaşık QPS: yaklaşık 9.000
nredis-proxy 1.0.2.1 sürüm değiştirilmiş hata 1: multiBulkReply 50'yi aşıyor. Veri hacmi büyük ve yinelenen veri sorunu çözüldü. İki günlük şiddetli testi sorunsuz bir şekilde geçti. 2: Linux başlatma komutu sağlandı
Nredis-proxy 1.1-ffinal sürümü aşağıdaki özellikleri optimize eder 1: Destek ping protokolü 2: Redis-monitör doğal kombinasyonu, dağıtılmış izleme jvm, cpu, iş parçacığı, redis vb. 3: Proxy komutları desteklemediğinde, askıya alınan animasyon
CPU performansı:
Bellek performansı:
İş parçacığı ve sınıf yükleyici performansı:
RedisServer performans izleme
RedisServer master-slave otomatik anahtarlama izleme