kitex
monoio
kitex | monoio | |
---|---|---|
5 | 23 | |
6,681 | 3,616 | |
1.4% | 3.8% | |
9.3 | 8.0 | |
5 days ago | 8 days ago | |
Go | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kitex
-
How to Visualize and Analyze Data in Open Source Communities
After successful deployment, the data display panel looks as follows. Here, we present statistics and displays of the open-source community CloudWeGo, a project by ByteDance. The panels include:
-
Delving Deeper: Enriching Microservices with Golang with CloudWeGo
While gRPC and Apache Thrift have served the microservice architecture well, CloudWeGo's advanced features and performance metrics set it apart as a promising open source solution for the future.
-
A Rust Framework for Cloud Development: Volo
Every tool in the CloudWeGo open-source ecosystem has been developed with the aim of simplifying and revolutionizing how developers navigate the cloud environment. An essential part of this ecosystem is Volo, a Rust RPC framework designed to provide a seamless and efficient communication infrastructure.
-
Mastering Golang Microservices - A Practical Guide: Embrace High-Performance with Kitex and Hertz
The world of software development is fast-paced, and having reliable and efficient tools makes a significant difference. This is where CloudWeGo with two of its major sub-projects - Kitex and Hertz, comes into play. A solution with the potential to transform the way developers navigate the cloud environment, thanks to its robust, open-source technology.
monoio
- How to Visualize and Analyze Data in Open Source Communities
-
Core to Core Latency Data on Large Systems
There is also another thread-per-core implementation by ByteDance (TikTok) for Rust called Monoio with benchmarks[0] comparing it to Tokio and Glommio.
[0] https://github.com/bytedance/monoio/blob/master/docs/en/benc...
-
The State of Async Rust
My understanding is you always need a runtime, somethings needs to drive the async flow. But there are others on the market, just not without the.. market domination... of tokio.
https://github.com/smol-rs/smol looks promising simply for being minimal
https://github.com/bytedance/monoio looks potentially easier to work with than tokio
https://github.com/DataDog/glommio is built around linux io_uring and seems somewhat promising for performance reasons.
I haven't played with any of these yet, because Tokio is unfortunately the path of least resistance. And a bit viral in how it's infected tings.
-
Why does Actix-web's handler not require Send?
I assume Tokio itself, see e.g monoio or glommio, but also Seastar for C++.
-
Introducing `rudis`: A Sharded, Concurrent Mini Redis with Web Interface in Rust
I think monoio is also thread-per-core but also iouring https://github.com/bytedance/monoio. I don't know how you would shard certain keys into different threads, but if you can do that deterministically then there could be a significant speed up.
-
How does async Rust work
I believe this is also "thread-per-core".
-
Oxy is Cloudflare's Rust-based next generation proxy framework
Bytedance has their in-house monoio <https://github.com/bytedance/monoio> (supports io-uring) but it requires rust nightly.
-
Is async runtime (Tokio) overhead significant for a "real-time" video stream server?
There's another thread-per-core runtime called https://github.com/bytedance/monoio
-
Blessed.rs – An unofficial guide to the Rust ecosystem
It's worth mentioning: Under "Async Executors", for "io_uring" there is only "Glommio"
I recently found out that ByteDance has a competitor library which supposedly has better performance:
https://github.com/bytedance/monoio
https://github.com/DataDog/glommio/issues/554
-
hyper v1.0.0 Release Candidate 1
I see that, I also tried with monoio, but the developer of that runtime mentioned that https://github.com/bytedance/monoio/blob/master/examples/hyper_server.rs might have soundness issues
What are some alternatives?
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC
glommio - Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.
go-zero - go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity. [Moved to: https://github.com/zeromicro/go-zero]
tokio-uring - An io_uring backed runtime for Rust
go-micro - A Go microservices framework
delimited
sdk-go - Temporal Go SDK
config-rs - ⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).
Dragonfly2 - Dragonfly is an open source P2P-based file distribution and image acceleration system. It is hosted by the Cloud Native Computing Foundation (CNCF) as an Incubating Level Project.
wg-async - Working group dedicated to improving the foundations of Async I/O in Rust
go-doudou - go-doudou(doudou pronounce /dəudəu/)is OpenAPI 3.0 (for REST) spec and Protobuf v3 (for grpc) based lightweight microservice framework. It supports monolith service application as well.
cap-std - Capability-oriented version of the Rust standard library