Description
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.
Orion alternatives and similar packages
Based on the "Web Frameworks" category.
Alternatively, view Orion alternatives based on common mentions on social networks and blogs.
-
Gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. -
Gorilla WebSocket
DISCONTINUED. A fast, well-tested and widely used WebSocket implementation for Go. -
Iris
The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket: -
GoFrame
GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang. -
goa
๐ Goa: Elevate Go API development! ๐ Streamlined design, automatic code generation, and seamless HTTP/gRPC support. โจ -
Faygo
Faygo is a fast and concise Go Web framework that can be used to develop high-performance web app(especially API) with fewer codes. Just define a struct handler, faygo will automatically bind/verify the request parameters and generate the online API doc. -
Huma
A modern, simple, fast & flexible micro framework for building HTTP REST/RPC APIs in Go backed by OpenAPI 3 and JSON Schema.
WorkOS - The modern identity platform for B2B SaaS
Do you think we are missing an alternative of Orion or a related project?
Popular Comparisons
README
Orion
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 all licence references and agreements mentioned in the Orion README section above
are relevant to that project's source code only.