All Projects → carousell → Orion

carousell / Orion

Licence: apache-2.0
Orion is a small lightweight framework written around grpc/protobuf with the aim to shorten time to build microservices at Carousell.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Orion

Kratos
A modular-designed and easy-to-use microservices framework in Go.
Stars: ✭ 15,844 (+15587.13%)
Mutual labels:  grpc, protobuf, framework, microservice
Mix
☄️ PHP CLI mode development framework, supports Swoole, WorkerMan, FPM, CLI-Server / PHP 命令行模式开发框架,支持 Swoole、WorkerMan、FPM、CLI-Server
Stars: ✭ 1,753 (+1635.64%)
Mutual labels:  microservice, grpc, framework
Lile
Easily generate gRPC services in Go ⚡️
Stars: ✭ 1,271 (+1158.42%)
Mutual labels:  microservice, grpc, framework
Go Micro Services
HTTP up front, Protobufs in the rear
Stars: ✭ 853 (+744.55%)
Mutual labels:  microservice, grpc, protobuf
Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (+45.54%)
Mutual labels:  microservice, grpc, protobuf
Go Chassis
a microservice framework for rapid development of micro services in Go with rich eco-system
Stars: ✭ 2,428 (+2303.96%)
Mutual labels:  microservice, grpc, framework
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+4064.36%)
Mutual labels:  microservice, grpc, framework
Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+540.59%)
Mutual labels:  microservice, grpc, protobuf
Go Shopping
A sample suite of services built on the go-micro framework
Stars: ✭ 98 (-2.97%)
Mutual labels:  microservice, grpc, protobuf
Pro
ECStore Pro - Laravel 微信网店微服务框架
Stars: ✭ 14 (-86.14%)
Mutual labels:  microservice, framework
Freedom
Freedom是一个基于六边形架构的框架,可以支撑充血的领域模型范式。
Stars: ✭ 972 (+862.38%)
Mutual labels:  microservice, framework
Sol2proto
Ethereum contract ABI to gRPC protobuf IDL transpiler
Stars: ✭ 41 (-59.41%)
Mutual labels:  grpc, protobuf
Grpc
An Elixir implementation of gRPC
Stars: ✭ 858 (+749.5%)
Mutual labels:  grpc, protobuf
Grpc Contract
A tool to generate the grpc server code for a contract
Stars: ✭ 40 (-60.4%)
Mutual labels:  grpc, protobuf
Danby
A webserver that's also a grpc proxy for browsers
Stars: ✭ 26 (-74.26%)
Mutual labels:  microservice, grpc
Grpcc
A gRPC cli interface for easy testing against gRPC servers
Stars: ✭ 1,078 (+967.33%)
Mutual labels:  grpc, protobuf
Grpc Rust
Rust implementation of gRPC
Stars: ✭ 1,139 (+1027.72%)
Mutual labels:  grpc, protobuf
Grpc Jersey
gRPC<->Jersey bridge
Stars: ✭ 23 (-77.23%)
Mutual labels:  grpc, protobuf
Protoc Gen Twirp swagger
Swagger generator for twirp
Stars: ✭ 54 (-46.53%)
Mutual labels:  grpc, protobuf
App
Reusable framework for micro services & command line tools
Stars: ✭ 66 (-34.65%)
Mutual labels:  grpc, framework

Orion Build Status Go Report Card GoDoc

Orion is a small lightweight framework written around grpc/protobuf with the aim to shorten time to build microservices at Carousell.

It is derived from 'Framework' a small microservices framework written and used inside https://carousell.com, It comes with a number of sensible defaults such as zipkin tracing, hystrix, live reload of configuration, etc.

Getting Started

Follow the guide at https://github.com/carousell/Orion/blob/master/orion/README.md

Setup Instructions

Orion is written in golang, please follow instructions on https://golang.org/doc/install to install, or you can also run

brew install golang

or

sudo dnf install golang

Make sure you are on go 1.9 or later add the following lines to your ~/.profile

export GOPATH="$HOME/code/go"
export GOBIN="$GOPATH/bin"
export PATH="$GOBIN:$PATH"
export PATH="$HOME/.gotools:$PATH"

source your ~/.profile

source ~/.profile

then create the code dir

mkdir -p $GOPATH

we use govendor to vendor package in Orion, install it by running

go get -u github.com/kardianos/govendor

another helpful tool to check for unupdated packages is Go-Package-Store, install it by running

go get -u github.com/shurcooL/Go-Package-Store/cmd/Go-Package-Store

now clone this repo

mkdir -p $GOPATH/src/github.com/carousell/
git clone [email protected]:carousell/Orion.git $GOPATH/src/github.com/carousell/Orion

You need the following tools to better develop for go

go get -u golang.org/x/lint/golint

now you can build the package by using make build

gRPC

for gRPC, you need to follow the following steps

get gRPC codebase

go get -u google.golang.org/grpc

install protobuf

brew install protobuf

install the protoc plugin for go

go get -u github.com/golang/protobuf/{proto,protoc-gen-go}

install the protoc plugin for orion

go get -u github.com/carousell/Orion/protoc-gen-orion

Project Status

Orion is in use at production at Carousell and powers multiple (100+) services serving thousands of requests per second, we ensure all updates are backward compatible unless it involves a major bug or security issue.

License

This code is available under the following https://github.com/carousell/Orion/blob/master/LICENSE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].