module
Version:
v0.0.0-...-80024de
Opens a new window with list of versions in this module.
Published: Oct 6, 2020
License: Apache-2.0
Opens a new window with license information.
README
¶
Simple JSON-RPC proxy based on RPC methods.
How to Run
TBD.
Use Case
Imagine the following set-up:
- Node1: serves many JSON-RPC methods on the running application, but
only
X
method should be publicly exposed.
- Node2: serves specific JSON-RPC methods in the running application,
but only
Y
and Z
methods should be publicly exposed.
- Node3: should serve all JSON-RPC methods publicly, even if some overlap
with Node1 or Node2.
In this scenario it would be ideal that there's a proxy which could
receive a request and forward it based on rules:
- If a request with method
X
comes, forward to Node1
- If a request with method
Y
comes, forward to Node2
- If a request with method
Z
comes, forward to Node2
- Else, forward to
Node3
That's exactly what go-jsonrpc-proxy
solves. 😃
ToDos
- SSL support
- Command line to support
--config=
- Rate limits for each declared method (using Redis)
- Rate limits based on API keys (e.g., API key
X
specified in the Authorization
HTTP header can perform more
requests than API key Y
)
- More load balancer strategies. Nowadays forwarding hosts
are randomly chosen.
- Admin API to add/remove nodes to serve specific JSON-RPC
methods (or method patterns)
-
docker-compose
file
- Integration tests
Directories
¶
Click to show internal directories.
Click to hide internal directories.