新聞中心
架構(gòu)
我們將在一臺機器上部署以下所有部件:

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比酒泉網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式酒泉網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋酒泉地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
- mem_broker(內(nèi)存代理)
- coordinator(協(xié)調(diào)器)
- 2 個代理與 4 個 Redis 節(jié)點
構(gòu)建二進(jìn)制文件
$ cargo build
請注意,您還需要安裝 Redis。
部署 Memory Broker
$ RUST_LOG=undermoon=debug,mem_broker=debug UNDERMOON_ADDRESS=127.0.0.1:7799 target/debug/mem_broker
部署 Coordinator
運行 coordinator 并指定 memory broker 地址。
$ RUST_LOG=undermoon=debug,coordinator=debug UNDERMOON_BROKER_AD
部署 Server Proxy 與 Redis
Chunk
有關(guān)詳細(xì)說明,請參閱:Rust 寫的 Undermoon Redis 集群 - Chunk。
運行 Server Proxy 與 Redis
運行 2 個服務(wù)器代理和 4 個 Redis 節(jié)點:
# You need to run each line in different terminals
# The first half
$ redis-server --port 7001
$ redis-server --port 7002
$ RUST_LOG=undermoon=debug,server_proxy=debug UNDERMOON_ADDRESS=127.0.0.1:6001 target/debug/server_proxy
# The second Half
$ redis-server --port 7003
$ redis-server --port 7004
$ RUST_LOG=undermoon=debug,server_proxy=debug UNDERMOON_ADDRESS=127.0.0.1:6002 target/debug/server_proxy
將 Server Proxy 和 Redis 注冊到 Memory Broker
Redis 集群永遠(yuǎn)無法在單臺機器上創(chuàng)建。即使我們有足夠的 node,Memory broker 也無法創(chuàng)建集群,因為它們似乎都在同一主機 127.0.0.1 中;
但是由于我們在一臺機器上部署了整個 undermoon 集群,我們需要通過在發(fā)布的 json 中將 host 字段指定為 localhost1 和 localhost2 來明確告訴 memory broker 它們在不同的主機中。
curl -XPOST -H 'Content-Type: application/json' "http://localhost:7799/api/v3/proxies/meta" -d '{"proxy_address": "127.0.0.1:6001", "nodes": ["127.0.0.1:7001", "127.0.0.1:7002"], "host": "localhost1"}'
curl -XPOST -H 'Content-Type: application/json' "http://localhost:7799/api/v3/proxies/meta" -d '{"proxy_address": "127.0.0.1:6002", "nodes": ["127.0.0.1:7003", "127.0.0.1:7004"], "host": "localhost2"}'現(xiàn)在我們有 2 個服務(wù)器代理與 4 個節(jié)點。
$ curl http://localhost:7799/api/v3/proxies/addresses
{"addresses":["127.0.0.1:6001","127.0.0.1:6002"]}
$ curl http://localhost:7799/api/v3/proxies/meta/127.0.0.1:6001
{"proxy":{"address":"127.0.0.1:6001","epoch":2,"nodes":[],"free_nodes":["127.0.0.1:7001","127.0.0.1:7002"],"peers":[],"clusters_config":{}}}
$ curl http://localhost:7799/api/v3/proxies/meta/127.0.0.1:6002
{"proxy":{"address":"127.0.0.1:6002","epoch":2,"nodes":[],"free_nodes":["127.0.0.1:7003","127.0.0.1:7004"],"peers":[],"clusters_config":{}}}
創(chuàng)建集群
使用 4 個 Redis 節(jié)點創(chuàng)建一個名為 mycluster 的集群。
$ curl -XPOST -H 'Content-Type: application/json' http://localhost:7799/api/v3/clusters/meta/mycluster -d '{"node_number": 4}'現(xiàn)在我們可以連接到集群:
$ redis-cli -h 127.0.0.1 -p 6001 -c
127.0.0.1:6001> cluster nodes
mycluster___________2261c530e98070a6____ 127.0.0.1:6001 myself,master - 0 0 3 connected 8192-16383
mycluster___________ad095468b9deeb2d____ 127.0.0.1:6002 master - 0 0 3 connected 0-8191
127.0.0.1:6001> get a
(nil)
127.0.0.1:6001> get b
-> Redirected to slot [3300] located at 127.0.0.1:6002
"1"
網(wǎng)站題目:Undermoon-手動設(shè)置Redis集群
當(dāng)前鏈接:http://m.5511xx.com/article/djjpodh.html


咨詢
建站咨詢
