sozu
ws-tool
Our great sponsors
sozu | ws-tool | |
---|---|---|
8 | 7 | |
2,833 | 190 | |
2.8% | - | |
9.4 | 8.0 | |
4 days ago | 4 months ago | |
Rust | Rust | |
GNU Affero General Public License v3.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.
sozu
-
Erlang: More Optimizations in the Compiler and JIT
This is interesting, thank you.
I really should learn from BEAM and the OTP and learn Erlang. I get the feeling it's super robust and reliable and low maintenance. I wrote a userspace multithreaded scheduler which distributes N lightweight threads to M kernel threads.
https://github.com/samsquire/preemptible-thread
I recently wrote a JIT compiler and got lazy compilation of machine code working and I'm nowhere near beginning optimisation
https://github.com/samsquire/compiler
How do you write robust software, that doesn't crash when something unexpected goes on?
I looked at sozo https://github.com/sozu-proxy/sozu
and I'm thinking how to create something that just stays up and running regardless.
-
Open Source HTTP Reverse Proxy Built in Rust for Immutable Infrastructures
It's AGPL licensed which for a proxy is a strange choice. They have an unanswered question for months on what it might mean: https://github.com/sozu-proxy/sozu/issues/764
Without an answer to that if you use this and you need to make any change to it (even a tiny bug fix), you're basically opening yourself up a pile of legal issues.
-
Rust-based reverse proxy?
Sozu: Well documented, runtime configurable proxy
-
Do most people just restart their Rust web servers once every three months?
https://github.com/sozu-proxy/sozu https://github.com/sozu-proxy/sozu/blob/main/doc/design_motivation.md
-
Force all rust application traffic to pass from proxy.
Could sozu or rathole or leaf or exodus somehow help?
-
Scalable server design in Rust with Tokio
it is not sufficient: a listen socket has its own queue of new TCP connections (that were already handshaked by the kernel), so dropping the listen socket drops the queue. The right way is to start the new server, transfer the listen socket from the old server to the new one with SCM_RIGHTS, then start accepting again from the new instance. That's how it is done in the sozu HTTP proxy (which also uses SO_REUSEPORT to launch multiple work processes each with their own listeners, to improve performance and isolate failure)
-
Any thoughts about Clever Cloud? (Has native rust support.)
BTW that traffic will be coming from our sozu load balancers, built in Rust too ;)
-
ARLB: A very experimental load balancer/reverse proxy based on hyper and tokio
How does it compare to sozu?
ws-tool
-
ws-tool 0.9.0 release
ws-tool is a high-performance websocket library that provides synchronous and asynchronous IO interfaces.
-
fastwebsockets A new high-performance WebSocket protocol implementation in Rust
Thanks for open sourcing it, looks really interesting! Can you perhaps include in https://github.com/PrivateRookie/ws-tool in the benchmarks? From the dev perspective, what would you say why https://github.com/nurmohammed840/websocket.rs is a few ms faster? I'm interested in good perf patterns but am a beginner in Rust so it would be interesting to hear some feedback from the authors themself. Again, thx for all the work. Looks like we can finally compete with c++ WS clients.
-
Announcement: ws-tool 0.7.0 release 🎉🎉🎉
ws-tool 0.7.0 is released, bringing permessage-deflate extension and more performance and API optimizations.
-
ws-rs alternative
Maybe try the websocket library I implemented, ws-tool, it support tls, http/socks proxy and both sync/async api, it's performance it's pretty good.
-
Easy and high perform websocket toolkit
check ws-tool/README for more information
-
An easy-to-use WebSocket tool
I wrote a web socket client/server toolkit ws-tool. Util 0.4.0-beta, it support blocking & async api, http/socks5 proxy and self signed certs(powered by rustls).
-
Looking for recommendations on parser crate API
If you want to manual operate bytes, bytes is a good choice, it provides traits for working with buffer and supports no_std feature. I used to impl websocket protocol with bytes, ws-tool, may be it's a example of using bytes. If you prefer high level parsing tool, nom is my recommend, it has stream parse apis, which may fit your demand, it also support no_std featrure!
What are some alternatives?
ics-proxy - A calendar proxy application that allows keeping the calendar URL stable while changing the target URL.
rust-lsp-proxy - A language server proxy that provides file synchronization and code execution
another-rust-load-balancer - A load balancer with support for different middlewares and load balancing strategies, based on hyper and tokio
rust-websocket-lite - A fast, low-overhead WebSocket client
tuic - Delicately-TUICed 0-RTT proxy protocol
fastwebsockets - A fast RFC6455 WebSocket implementation
quilkin - Quilkin is a non-transparent UDP proxy specifically designed for use with large scale multiplayer dedicated game server deployments, to ensure security, access control, telemetry data, metrics and more.
websocket.rs - WebSocket implementation for both client and server
hudsucker - Intercepting HTTP/S proxy
web-socket-benchmark - Rust web-socket implementation benchmark
tunneler - Tunnel TCP or UDP traffic over TCP, (mutual) TLS or DNS (authoritative server or direct connection), implemented in Rust