比特股BTS公共开放节点负载均衡方案

2018-06-07  本文已影响0人  鸟嘌呤

因为BTS有很多开放的公共节点,可以直接使用公共节点,并用nginx的反向代理和负载均衡方案来尽可能保障访问公共节点时的稳定性。

目前已发现的BTS可用公共节点:

国内(已测试,可以使用):

1、wss://btsapi.topnewdata.com/ws (wss可换成https)

2、wss://ws.gdex.top 或 wss://ws.gdex.top/ws (wss可换成https)

3、wss://bitshares.dacplay.org/ws (wss可换成https)

4、wss://bitshares-api.wancloud.io/ws (wss可换成https)

国外(已测试,可以使用,但海外速度访问较慢,可作为备用节点):

1、wss://bit.btsabc.org/ws (香港) (wss可换成https)

2、wss://dex.rnglab.org/ws (荷兰) (wss可换成https)

3、wss://dexnode.net/ws (美国) (wss可换成https)

4、wss://la.dexnode.net/ws (美国) (wss可换成https)

每个BTS节点作为一个虚拟主机,并反向代理到对应的BTS节点的https接口。

比如9001端口直接反向代理到https://btsapi.topnewdata.com/ws

server {

listen 9001;

server_name localhost;

location / {

proxy_pass https://btsapi.topnewdata.com/ws;

}

}

这里共有八个BTS节点,所以新建8个虚拟主机,端口从9001到9008.

使用nginx的负载均衡机制,配置upstream,其中9005到9008为国外的BTS节点虚拟主机,设置为backup,表示备用节点(当9001到9004的主节点down掉或者访问繁忙的时候便启用备用节点)

upstream bts_common_server {

least_conn;

server localhost:9001;

server localhost:9002;

server localhost:9003;

server localhost:9004;

server localhost:9005 backup;

server localhost:9006 backup;

server localhost:9007 backup;

server localhost:9008 backup;

}

创建9000端口的虚拟主机,反向代理到bts_common_server

server {

listen 9000;

server_name localhost;

location / {

proxy_pass http://bts_common_server;

}

}

重启nginx服务

systemctl restart nginx.service。

至此,完成BTS公共节点负载均衡的配置。访问使用时直接使用http://192.168.0.128:9000即可。

curl --data '{"jsonrpc": "2.0", "method": "call", "params": ["database", "get_account_by_name", ["oflyhigh"]], "id": 1}' [http://192.168.0.128:9000](http://192.168.0.128:9000/)

附完整配置:

upstream bts_common_server {

least_conn;

server localhost:9001;

server localhost:9002;

server localhost:9003;

server localhost:9004;

server localhost:9005 backup;

server localhost:9006 backup;

server localhost:9007 backup;

server localhost:9008 backup;

}

server {

listen 9000;

server_name localhost;

location / {

proxy_pass http://bts_common_server;

}

}

server {

listen 9001;

server_name localhost;

location / {

proxy_pass https://btsapi.topnewdata.com/ws;

}

}

server {

listen 9002;

server_name localhost;

location / {

proxy_pass https://ws.gdex.top/ws;

}

}

server {

listen 9003;

server_name localhost;

location / {

proxy_pass https://bitshares.dacplay.org/ws;

}

}

server {

listen 9004;

server_name localhost;

location / {

proxy_pass https://bitshares-api.wancloud.io/ws;

}

}

server {

listen 9005;

server_name localhost;

location / {

proxy_pass https://bit.btsabc.org/ws;

}

}

server {

listen 9006;

server_name localhost;

location / {

proxy_pass https://dex.rnglab.org/ws;

}

}

server {

listen 9007;

server_name localhost;

location / {

proxy_pass https://dexnode.net/ws;

}

}

server {

listen 9008;

server_name localhost;

location / {

proxy_pass https://la.dexnode.net/ws;

}

}

参考资料:
https://www.btspad.com/node
https://juejin.im/post/5adc425f518825670f7b6fc8

上一篇下一篇

猜你喜欢

热点阅读