sozu
otp
sozu | otp | |
---|---|---|
8 | 23 | |
2,833 | 11,041 | |
1.0% | 0.2% | |
9.4 | 10.0 | |
8 days ago | 4 days ago | |
Rust | Erlang | |
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?
otp
-
Install mutiple Erlang and Elixir with vfox
Theoretically, you could install any version that appears in https://github.com/erlang/otp/releases. Since it is compiled and installed from source, the installation process will take some time. When you see the following message, the installation is complete.
-
Perfect Elixir: Environment Setup
I’m on MacOS and erlang.org, elixir-lang.org, and postgresql.org all suggest installation via Homebrew, which is a very popular package manager for MacOS.
- Scheduling Internals
- Epoll: The API that powers the modern internet (2022)
-
Elixir v1.15 released
You can read my original report and subsequent PRs in Erlang/OTP here: https://github.com/erlang/otp/issues/5811
-
Open Sourcing Erlfuzz
- a massive speedup of a common static analyzer for Erlang (https://github.com/erlang/otp/pull/5997)
-
Why are there so many languages?
Funny that you should mention Erlang. Looking at the Github for Erlang, it appears that the source for Erlang is 16.8% written in C. I would bet these are not the least important bits of the whole thing. So, Erlang depends on C.
-
Erlang: More Optimizations in the Compiler and JIT
It looks more like some of the JIT improvements made it profitable to manually unroll some loops in the base64 module: https://github.com/erlang/otp/commit/a03cf1601605dee767cd9d5...
-
Mixing sync and async views in the same application
https://github.com/erlang/otp as far as I know. It's somewhat confusing and I honestly couldn't say exactly where the BEAM VM or OTP or ERTS (Erlang Runtime System) start and end. I've never dug into it. I just install Elixir and sometimes Erlang through the ASDF tool, which does all the compiling for me.
- When people send a https request to my custom web server, it crashes the entire system. How do I fortify my system not to accept em?
What are some alternatives?
ics-proxy - A calendar proxy application that allows keeping the calendar URL stable while changing the target URL.
protoactor-go - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
another-rust-load-balancer - A load balancer with support for different middlewares and load balancing strategies, based on hyper and tokio
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
tuic - Delicately-TUICed 0-RTT proxy protocol
calypso - Calypso is a mostly imperative language with some functional influences that is focused on flexibility and simplicity.
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.
scryer-prolog - A modern Prolog implementation written mostly in Rust.
hudsucker - Intercepting HTTP/S proxy
caramel - :candy: a functional language for building type-safe, scalable, and maintainable applications
rust-lsp-proxy - A language server proxy that provides file synchronization and code execution
cdk-emqx-cluster