gohan

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2018 License: Apache-2.0 Imports: 2 Imported by: 0

README

Gohan : API gateway server

Coverage Status Circle CI Go Report Card

Gohan is an API Gateway Server written by Go that makes it easy for developers to create and maintain REST-style API. An API Gateway Server has a benefit consolidating various API operations such as authentication, authorization based on policies, logging and input validation on a single place on top of so-called microservice architecture.

Gohan also makes transactional operations, involving multiple micro services, easy to operate. An approach Gohan using is quite simple. Persistent REST API Resources in the RDBMS using transaction, then sync resource status with backend microservices using etcd or MySQL binlog API. Using well-proven RDBMs transaction, we can protect correctness of resources. A strategy let backend microservices sync with correct resource data in the RDBMS makes entire system fault-torrent from various RPC failures. Note that Developers should design _ backend microservices idempotent manner, to handle the cases the same RPC invoked multiple times.

see [Pet Store Example] (./etc/example_schema.yaml)

GoDoc

Documentation

Gitbook

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cli
converter
app
set
db
mocks
Package mock_db is a generated GoMock package.
Package mock_db is a generated GoMock package.
sql
transaction/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
examples
goext
Package goext is a generated GoMock package.
Package goext is a generated GoMock package.
middleware
Package mock_middleware is a generated GoMock package.
Package mock_middleware is a generated GoMock package.
mocks
Package mock_sync is a generated GoMock package.
Package mock_sync is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL