heka
toxiproxy
heka | toxiproxy | |
---|---|---|
1 | 28 | |
3,399 | 11,339 | |
- | 0.6% | |
0.0 | 8.4 | |
over 1 year ago | 8 days ago | |
Go | Go | |
GNU General Public License v3.0 or later | MIT License |
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.
heka
-
Show HN: Rill – Composable concurrency toolkit for Go
The channel-focused approach to stream processing reminds me of Heka [0]. It was a contemporary of Samza and Heron, and it was fairly prominent in the early Go ecosystem (maybe 10 years ago). As I recall it, quite foggily and quite a long while later, one of the final nails in Heka's coffin was that channel throughput didn't scale well. Do you have benchmarks for Rill, or is it not intended for high-throughput use cases?
[0]: https://github.com/mozilla-services/heka
toxiproxy
- Making Your Connection Bad
-
Show HN: TCP "slow-start" simulation in Go
Related, I have loved using toxiproxy for testing latency with my services. Tools like this are great for uncovering subtle bugs and helping to learn more about how various transports / protocols handle things. I successfully used toxiproxy to simulate an end user problem with a websocket based tool and I don't know how I would have done it otherwise.
https://github.com/Shopify/toxiproxy
-
(Mostly) Deterministic Simulation Testing in Go
I really like an idea to solve scheduling problem via compiling to WASI. Many months ago I had conversation with friends, how to implement deterministic testing in Go, without custom IO runtime (common approach in Scala/Rust/C++). We were talking about a few random things, which require a lot of effort (compare to WASI):
1. https://github.com/Shopify/toxiproxy
2. https://github.com/bytedance/ns-x
3. https://github.com/hnes/cpuworker
But all of them are not too good from the first glance.
-
Speedbump – a TCP proxy to simulate variable network latency
Checkout also shopify's awesome tool called toxiproxy: https://github.com/Shopify/toxiproxy
It turns out to be also a very good way to test a networking library by implementing it. Since your stack needs to be able to basically handle most adverse events properly.
The idea behind 'chaos engineering' is cool.
- Toxiproxy – simulate network and system conditions for chaos testing
-
Twenty-five open-source network emulators and simulators you can use in 2023
I use this to simulate delays between various local services:
https://github.com/Shopify/toxiproxy
If you have Docker all you need is a few terminal commands
-
Artificially Producing Poor Internet?
Idk about firewall level, but application level I’d recommend https://github.com/Shopify/toxiproxy
-
Regarding default TCP setting in Golang and how it effects speed
That's why I usually recommend anybody that develops network critical apps to test their app with something like toxiproxy and purposfully mess with their connections and simulate network issues.
-
Performance testing with slow connection and packet loss
We use this thing. https://github.com/Shopify/toxiproxy I am not sure that it supports windows, but you can install it to the Linux machine and route your application under the test to that proxy.
What are some alternatives?
Gor - GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.
Hugo - The world’s fastest framework for building websites.
Fluentd - Fluentd: Unified Logging Layer (project under CNCF)
Juju - Orchestration engine that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure (Kubernetes or otherwise).
Flume - Apache Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log-like data
rkt