如何通過公網訪問MongoDB云數據庫?
1.先準備運行環境:ECS包括公有和私有ip,公有ip:xx.xx.xx.xx,私有ip:yy.yy.yy.yy,MongoDB云數據庫。
Node(通過ping域名得到對應的ip,假設是zz.zz.zz.zz因為域名對應的ip可能會變,不不要在生產環境中直接指定IP地址)2.連接設置:借助iptables的nat機制,可以方便地實現請求轉發。首先,應該啟用ECS來支持數據包轉發。使用haproxy修改配置文件的內容,按照默認的配置文件稍微修改一下,主要配置tcp轉發,前端和后端服務的地址信息。
3.最后可以通過xx.xx.xx.xx:27017訪問ZZ.ZZ.ZZ.ZZ.ZZ:3717提供的MongoDB云服務
redis集群如何解決key不均勻?
對于分布式存儲系統的架構和運行管理來說,保證每個節點的數據存儲容量和請求數量盡可能均衡是非常重要的。本文介紹了導致"傾斜"Redis大型集群運行維護中的數據請求及規避措施。嚴重的影響"傾斜"Redis的數據容量或請求量是從運維的角度來解釋的。當數據容量和請求量傾斜時,Redis中幾十個節點的集群存在一些痛點:
來自幾個或單個節點的請求數量是"過熱",導致Redis分布式系統失去了可擴展性和集群的意義,類似于MongoDB_id字段作為切片鍵;導致運維能力規劃,擴容困難;增加了自動配置管理的難度;單個集群節點應盡可能統一參數配置;監控報警很復雜(容量、QPS、連接數閾值等。).那么讓我們讓我們看看那些經常導致嚴重后果的場景傾斜"生產環境中的Redis集群。
普通的"傾斜"Redis集群場景一般是由于DBA規劃不當和業務密鑰空間設計不合理造成的。
DBA規劃集群時或者擴展后,數據槽(hashbucket)的位分布不均勻,造成內存容量、鍵數和請求QPS傾斜;服務的關鍵空間設計不合理,所謂"熱鍵"導致少量鍵的大QPS操作;這種節點的QPS過載;程序中使用了大量的Keyshash標簽,可能導致一些數據槽中有大量的key;有一個大的簇鍵(散列、集合、列表等。)在程序中,導致大密鑰所在節點的容量和QPS很高;工人和教師執行Monitor等命令,導致當前節點客戶端的輸出緩沖區增加,used_memory。_rss被拉長,導致節點內存容量增加。接下來,當集群內存容量、鍵數或QPS請求數嚴重傾斜時,就要調查定位問題了。
Redis集群的故障排除傾斜"檢查集群每個段的數據槽是否均勻分布。
讓s以RedisCluster集群為例,確定集群中每個節點負責的數據槽和鍵的數量。以下演示的一些例子并不輕微傾斜",但不嚴重,可以考慮再平衡。
檢查節點熱點鍵并確定頂部命令。
使用redis-faina,最好有一個實時分析平臺。從下面的例子可以看出,兩個前綴鍵的QPS比基本都是各50%,明顯是熱點鍵;您還可以看到auth命令的頂部命令。
程序是否大量使用了密鑰散列標簽?
這可能導致數據存儲量和QPS不一致的問題。scan可以用來掃描keyspace中是否有hash標簽,或者monitor,可以用vc-redis-sniffer。
該程序是否使用大型設置密鑰?
例如,一個1kw字段的哈希鍵占用幾GB的內存。這種setkey一次操作幾個字段,所以很難從proxy或者sdk找到key的大小。可通過redis-cli-bigk:和業務確認,以便調整和修改,避免業務錯誤)。在實際生產經營場景中,大規模集群很難做到集群的完全平衡,只要盡量保證不出現嚴重的傾斜問題即可。
那個這是我的看法。你怎么看待這個問題?你住在哪里?歡迎在下方評論區交流~我是科技領域的創作者,有十年互聯網行業經驗。歡迎關注我了解更多科技知識!