Git Product home page Git Product logo

go-ref's Introduction

Go Report Card Go Doc Release

Golang Reference Project

Component

  • service-front: webapp
    • written in Angular 5+
  • service-gateway: serving Websocket and REST endpoints
    • generate rest, websocket model + server stub using go-swagger
    • while working as a gRPC client
    • provides scalable realtime metric servers using etcd
  • service-location: serving gRPC endpoints
    • provides location service sharding (e.g location server 1 handles requests from US, ..)
                                                                                                     
    +---------------+   WS   (50001)  +-----------------+                  +------------------+       
    |               |   REST (50002)  |                 |   gRPC (50003)   |                  |       
    | service-front |<--------------->| service-gateway |<---------------->| service-location |       
    |               |  (swagger-gen)  |                 |    (protobuf)    |                  |       
    +---------------+                 +-----------------+                  +------------------+       
         (webapp)                           (server)                             (server)            
                                                                                                     
                                                              < storage >                                            
                                                                                                     
                                                   +--------------+  +-------------+                 
                                                   |              |  |             |                 
                                                   | etcd cluster |  |    mysql    |                 
                                                   |              |  |             |                 
                                                   +--------------+  +-------------+                 
                                                   (distributed kv)  (transactional)                 
                                                                                       

Requirements

name version description
go 1.10+ use gvm
dep go get -u github.com/golang/dep/cmd/dep
protobuf 3.5.0+ brew install protobuf
nodejs 9.8.0+ use nvm

Please check make prepare command for more description.

Quick Start

# start dockerized storages: etcd, mysql, ...
$ docker-compose up
# start gateway service 
$ cd service-gateway
$ make prepare install
$ make run 
# start front (webapp) service 
$ cd service-front
$ npm install; npm run server:local;

# visit: https://localhost:3000 

Screenshot

go-ref's People

Contributors

1ambda avatar torreswoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.