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?

  • @tigerwill90
    link
    English
    4
    edit-2
    10 months ago

    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.

    • whouOP
      link
      fedilink
      English
      210 months ago

      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 :)

      • @tigerwill90
        link
        English
        210 months 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.