Proxy and Load Balancer Node Updates
Currently, I maintain two load balancer nodes and one proxy node for Steem Blockchain. I have stopped another two Load Balancer Nodes (on AWS Lambda) because of the unreasonable costs.
Proxy/Load Balancer Nodes are not real Steem RPC/API Nodes. The purpose is to forward (always) the requests to a healthy one(s), in order to minimize the api failure rate.
Proxy Node
The Steem Proxy Node: https://steemyy.com/node/
How it works?
- the proxy server receives the request
- the proxy server randomly picks a server that is healthy - if not, then try next one
- the proxy server forwards the request
- if all servers are exhausted, return 503
This server has rate-limitor in place - please contact me @justyy if you would like to use more. The Proxy Node does not add much overhead comparing to Load Balancer Nodes (mentioned below).
The proxy node will always forward the request to a healthy node.
Load Balancer Nodes
The Cloudflare Worker Load Balancer: https://steem.justyy.workers.dev/
The Azure Function Load Balancer: https://justyy.azurewebsites.net/api/steem/
How it works?
- the Load Balancer Node receives the request
- the Load Balancer sends a ping to all the servers in the list
- the fastest one (and of course healthy) gets to serve the request.
The Load Balancers are serverless, and currently there is no rate limit.
As there is a first ping/healthy call, the load balancer may introduce a few ms latency.
There is a chance that the healthy node may be down right after the initial health check.
On the GET, all the servers show additional information - with this update, the API shows the list of all "good" candidate Steem RPC/API nodes (comment if you find nodes missing from the list) - A candidate node should be on its own and not just redirecting all traffic to other nodes.
Further reading
- Tutorial: How to Set Up a API Load Balancer by Using CloudFlare Worker?
- Develop a Load Balancer using AWS Lambda
@steemcurator01
@steemcurator02
Voting for me:
https://steemit.com/~witnesses type in justyy and click VOTE
- Delegate SP: https://steemyy.com/sp-delegate-form/?delegatee=justyy
- Vote @justyy as Witness: https://steemyy.com/witness-voting/?witness=justyy&action=approve
- Set @justyy as Proxy: https://steemyy.com/witness-voting/?witness=justyy&action=proxy
Alternatively, you can vote witness or set proxy here: https://steemit.com/~witnesses