Microservice alternatives and similar packages
Based on the "Web Frameworks" category.
Alternatively, view Microservice 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. -
go-kratos
Your ultimate Go microservices framework for the cloud-native era. -
Gorilla WebSocket
A fast, well-tested and widely used WebSocket implementation for Go. -
Iris
The fastest HTTP/2 Go Web Framework. New, modern, easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :leaves: :rocket: | 谢谢 | #golang -
mux
A powerful HTTP router and URL matcher for building Go web servers with 🦍 -
httprouter
A high performance HTTP request router that scales well -
chi
lightweight, idiomatic and composable router for building Go HTTP services -
Revel
A high productivity, full-stack web framework for the Go language. -
go-socket.io
socket.io library for golang, a realtime application framework. -
Macaron
Package macaron is a high productive and modular web framework in Go. -
Hertz
Go HTTP framework with high-performance and strong-extensibility for building micro-services. -
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. -
render
Go package for easily rendering JSON, XML, binary data, and HTML templates responses. -
pat
Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. -
tigertonic
A Go framework for building JSON web services inspired by Dropwizard -
Goji
Goji is a minimalistic and flexible HTTP request multiplexer for Go (golang) -
fasthttprouter
A high performance fasthttp request router that scales well -
Atreugo
High performance and extensible micro web framework. Zero memory allocations in hot paths. -
go-fault
Fault injection library in Go using standard http middleware -
Beego
beego is an open-source, high-performance web framework for the Go programming language. -
go-server-timing
Go (golang) library for creating and consuming HTTP Server-Timing headers -
Gearbox
Gearbox :gear: is a web framework written in Go with a focus on high performance -
golongpoll
golang long polling library. Makes web pub-sub easy via HTTP long-poll servers and clients :smiley: :coffee: :computer: -
rye
A tiny http middleware for Golang with added handlers for common needs. -
xujiajun/gorouter
xujiajun/gorouter is a simple and fast HTTP router for Go. It is easy to build RESTful APIs and your web framework.
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of Microservice or a related project?
README
Microservice
The framework for the creation of microservices, written in Golang. (note: http microservice)
Architecture microservice includes:
- handle
- tuner (configuration)
- middleware-style tools (for demo)
Create a new Middleware
Use as a example tools/metric.go file.
Creating a new handler
To do this, you just need to create a new public method in the handler, which takes input http.ResponseWriter, http.Request. Look created to demonstrate the method HelloWorld.
Perfomance
For a general understanding of what is the speed of microservice using the proposed architecture will be high, and bring the benchmark results obtained by me on my computer:
- BenchmarkMain-2 10000000 192 ns/op
- BenchmarkMainParallel-2 10000000 104 ns/op
Tuner
The default configuration file:
config.toml
Specify in the command line another file:
yourservice -confile other.toml
To change the setting on the command line, you specify the section and parameter name (composed by a slash):
yourservice -Main/Port 85
Configuring priorities:
- command line (highest priority)
- environment
- configuration file
Dependencies
- Logger https://github.com/Sirupsen/logrus
- Route https://github.com/claygod/Bxog
- Config https://github.com/BurntSushi/toml
Any of these libraries can be replaced or supplemented, in this case, they are likely designed to show which way to develop their own microservices. You might also be useful to connect logstash and influxdb.
Conclusion
Microservice Library does not claim the laurels of the only true solution, but on occasion, I hope, will help you create your own micro-architecture of the service, becoming the prototype for future applications.
Copyright © 2017-2019 Eduard Sesigin. All rights reserved. Contacts: [email protected]