this post was submitted on 19 Jul 2023
13 points (100.0% liked)

Golang

313 readers
3 users here now

This is a community dedicated to the go programming language.

Useful Links:

Rules:

founded 1 year ago
MODERATORS
 

cross-posted from: https://lemmy.ml/post/2230752

I really like seeing people's interesting projects. Even if they are generic or were started just to learn something.

And on top of that, I consider Go to be one of those languages that you can find projects on a pretty diverse range of topics.

So, is there any interesting (or not too) personal Go projects that is in the making, or is already finished?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

Hey, I'm happy to share with you a project I've been dedicated to for the past few months: Fox.

https://github.com/tigerwill90/fox

Fox is a lightweight HTTP router that provides an API similar to well-known projects such as Gin and Echo. But Fox has a unique strength: it supports mutations on its routing tree at runtime, while concurrently handling requests. It accomplishes this using a Concurrent Radix Tree, which supports lock-free reads and concurrent writes.

It is especially designed for applications that require changes at runtime to their routing structure based on user input, configuration changes, or other runtime events but it's also suitable for other use cases. The routing rules are relatively flexible, and in most scenarios, Fox outperforms Gin in terms of performance.

While the project is not yet at v1, I've already put it to the test. At my workplace, we use Fox for our main API gateway, handling millions of requests daily.

I'd love to get your feedback and insights, so please feel free to check it out and let me know your thoughts.

[–] [email protected] 2 points 1 year ago (1 children)

Cool project! That readme gives me a "I like your funny words, magic man" reaction, but I know it's just because I am not that much into networking and concurrent stuff lol

Those benchmarks already speaks for themselves, and the fact that you are using it in your workplace already shows the awesomeness of your project :)

[–] [email protected] 2 points 1 year ago

Thank you for your kind words! I completely agree that the README might be a bit unnecessarily heavy on technical jargon. I appreciate you pointing that out - I will work on making it more comprehensible.