All Projects → kataras → Muxie

kataras / Muxie

Licence: mit
Muxie is a modern, fast and light HTTP multiplexer for Go. Fully compatible with the http.Handler interface. Written for everyone.

Programming Languages

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

Projects that are alternatives of or similar to Muxie

Clevergo
👅 CleverGo is a lightweight, feature rich and high performance HTTP router for Go.
Stars: ✭ 246 (-4.28%)
Mutual labels:  router, high-performance
Kua
⚡️ Lightning fast URL routing in Python (trie router)
Stars: ✭ 18 (-93%)
Mutual labels:  trie, router
Router
⚡️ A lightning fast HTTP router
Stars: ✭ 158 (-38.52%)
Mutual labels:  trie, router
egg-router
router for eggjs, fork from koa-router with some additional features
Stars: ✭ 50 (-80.54%)
Mutual labels:  router
saffron-php
High performance PHP router
Stars: ✭ 37 (-85.6%)
Mutual labels:  router
Franxx
A vanilla JavaScript router that works everywhere.
Stars: ✭ 255 (-0.78%)
Mutual labels:  router
Found Relay
Relay integration for Found
Stars: ✭ 258 (+0.39%)
Mutual labels:  router
alarm-dog
哮天犬是一个通用的统一告警平台,提供配置化、流程化、标准化的能力,支持多种告警通知渠道,支持告警收敛、过滤、升级、工作流、自动恢复等功能,实现统一输入、不同输出。可以对接Grafana、阿里云Arms、实时计算等监控能力,各业务也可以直接在代码中埋点上报告警,也可以定制化开发,实现监控告警全场景覆盖。https://tal-tech.github.io/alarm-dog-docs
Stars: ✭ 165 (-35.8%)
Mutual labels:  high-performance
Asuswrt Merlin.ng
Third party firmware for Asus routers (newer codebase)
Stars: ✭ 3,400 (+1222.96%)
Mutual labels:  router
gumble
Collection of high-performance, thread-safe, lock-free data structures for go
Stars: ✭ 12 (-95.33%)
Mutual labels:  high-performance
LuisaRender
High-Performance Multiple-Backend Renderer Based on LuisaCompute
Stars: ✭ 47 (-81.71%)
Mutual labels:  high-performance
wide-integer
Wide-Integer implements a generic C++ template for uint128_t, uint256_t, uint512_t, uint1024_t, etc.
Stars: ✭ 83 (-67.7%)
Mutual labels:  high-performance
Ddnsto
DDNSTO 文档以及问题反馈。
Stars: ✭ 255 (-0.78%)
Mutual labels:  router
primme
PReconditioned Iterative MultiMethod Eigensolver for solving symmetric/Hermitian eigenvalue problems and singular value problems
Stars: ✭ 98 (-61.87%)
Mutual labels:  high-performance
Tarsgo
Tarsgo is high performance RPC framework in Golang programing language using the tars protocol. Go has become popular for programming with the rise of containerization technology such as docker, k8s, and etcd. Go's goroutine concurrency mechanism means Go is very suitable for large-scale high-concurrency back-end server program development. The Go language has nearly C/C++ performance and near Python productivity. In Tencent, part of the existing C++ development team has gradually turned into Go developers. Tars, a widely used RPC framework, supports C++, Java, NodeJS, and PHP, and now Go. The combination with Go language has become a general trend. Therefore, in the voice of users, we launched Tarsgo, and we have applied to Tencent map application, YingYongbao application, Internet plus and other projects. Learn more about the whole Tars architecture and design at Introduction.
Stars: ✭ 2,931 (+1040.47%)
Mutual labels:  high-performance
data-parallelism
juliafolds.github.io/data-parallelism/
Stars: ✭ 22 (-91.44%)
Mutual labels:  high-performance
Zen
zen is a elegant and lightweight web framework for Go
Stars: ✭ 257 (+0%)
Mutual labels:  router
DawgSharp
DAWG String Dictionary in C#
Stars: ✭ 72 (-71.98%)
Mutual labels:  trie
bcnn
A minimalist Deep Learning framework for embedded Computer Vision
Stars: ✭ 39 (-84.82%)
Mutual labels:  high-performance
anchor
High-Performance Erlang Memcached Client
Stars: ✭ 15 (-94.16%)
Mutual labels:  high-performance

Muxie

🚂🚋🚋🚋🚋🚋
Fast trie implementation designed from scratch specifically for HTTP
A small and light router for creating sturdy backend Go applications. Production-level tested, muxie's capabilities live inside the well-tested Iris web framework.

The little router that could. Built with ❤︎ by Gerasimos Maropoulos

Benchmark chart between muxie, httprouter, gin, gorilla mux, echo, vestigo and chi FOSSA Status

Last updated on October 17, 2018. Click here to read more details.

Features

  • trie based: performance and useness are first class citizens, Muxie is based on the prefix tree data structure, designed from scratch and built for HTTP, and it is among the fastest outhere, if not the fastest one
  • grouping: group common routes based on their path prefixes
  • no external dependencies: weighing 30kb, Muxie is a tiny little library without external dependencies
  • closest wildcard resolution and prefix-based custom 404: wildcards, named parameters and static paths can all live and play together nice and fast in the same path prefix or suffix(!)
  • small api: with only 3 main methods for HTTP there's not much to learn
  • compatibility: built to be 100% compatible with the net/http standard package

Technical Features

  • [x] Closest Wildcard Resolution and Root wildcard (CWR)*
  • [x] Parameterized Dynamic Path (named parameters with :name and wildcards with *name, can play all together for the same path prefix|suffix)*
  • [x] Standard handlers chain (Pre(handlers).For(mainHandler) for individual routes and Mux#Use for router)*
  • [x] Register handlers by method(s) (muxie.Methods())*
  • [x] Register handlers by filters (Mux#HandleRequest and Mux#AddRequestHandler for muxie.Matcher and muxie.RequestHandler)
  • [x] Handle subdomains with ease (muxie.Host Matcher)*
  • [x] Request Processors (muxie.Bind and muxie.Dispatch)*

Interested? Want to learn more about this library? Check out our tiny examples and the simple godocs page.

Installation

The only requirement is the Go Programming Language

$ go get -u github.com/kataras/muxie

License

MIT

FOSSA Status

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].