Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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 .

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)