Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xujiajun/tast-jsonrpc
The Go language implementation of jsonrpc framework. Support PHP、Java、Golang、Python client .
https://github.com/xujiajun/tast-jsonrpc
golang java jsonrpc microservices php python rpc soa tast
Last synced: 3 months ago
JSON representation
The Go language implementation of jsonrpc framework. Support PHP、Java、Golang、Python client .
- Host: GitHub
- URL: https://github.com/xujiajun/tast-jsonrpc
- Owner: xujiajun
- License: mit
- Created: 2017-08-07T03:04:06.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-12-28T09:28:22.000Z (about 7 years ago)
- Last Synced: 2024-11-01T22:42:52.014Z (3 months ago)
- Topics: golang, java, jsonrpc, microservices, php, python, rpc, soa, tast
- Language: Go
- Homepage:
- Size: 1.61 MB
- Stars: 27
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tast-JSONRPC [![Go Report Card](https://goreportcard.com/badge/github.com/xujiajun/tast-jsonrpc)](https://goreportcard.com/report/github.com/xujiajun/tast-jsonrpc)
The Go language implementation of jsonrpc framework. Support PHP、Golang、Java、Python client .
## Architecture
Tast-JSONRPC contains four roles : RPC Server, RPC Client, Registry and Admin console.
* RPC Server registers services on the Registry
* RPC Client select a server from the server list returned from the Registry.
* Registry manage server node list(register、remove、health check、Load balancing etc.)
* Admin console as a role of service governance(run、stop server、modify weight etc.)
## Features
* Based on net/rpc 、net/rpc/jsonrpc
* Cross-language client support (Golang、Java、PHP、Python)
* Data layer(now support mysql master-slave architecture)
* Service dicovery (based on redis)
* Server Healthcheck
* Load banlancer (now support RoundRobin)
* Scalable
* Service governance
* ...## Server
visit [this](https://github.com/xujiajun/tast-jsonrpc/blob/master/server/main.go)
## Client
* [Go client](https://github.com/xujiajun/tast-jsonrpc/blob/master/client/go/client1.go)
* [Java client](https://github.com/xujiajun/tast-jsonrpc/blob/master/client/java/Client.java)
* [PHP client](https://github.com/xujiajun/tast-jsonrpc/blob/master/client/php/client.php)
* [Python client](https://github.com/xujiajun/tast-jsonrpc/blob/master/client/python/client.py)
## Registry Server
visit [this](https://github.com/xujiajun/tast-jsonrpc/blob/master/server/registryServer.go)
## Admin Console
Link: https://github.com/xujiajun/jsonrpc-admin
### Screenshot
## License
The Tast-JSONRPC is open-sourced software licensed under the [MIT Licensed](http://www.opensource.org/licenses/MIT)