toxiproxy | TCP proxy to simulate network | Proxy library

 by   Shopify Go Version: v2.5.0 License: MIT

kandi X-RAY | toxiproxy Summary

kandi X-RAY | toxiproxy Summary

toxiproxy is a Go library typically used in Networking, Proxy applications. toxiproxy has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Toxiproxy is a framework for simulating network conditions. It’s made specifically to work in testing, CI and development environments, supporting deterministic tampering with connections, but with support for randomized chaos and customization. Toxiproxy is the tool you need to prove with tests that your application doesn’t have single points of failure. We’ve been successfully using it in all development and test environments at Shopify since October, 2014. See our [blog post][blog] on resiliency for more information. Toxiproxy usage consists of two parts. A TCP proxy written in Go (what this repository contains) and a client communicating with the proxy over HTTP. You configure your application to make all test connections go through Toxiproxy and can then manipulate their health via HTTP. See [Usage] #usage) below on how to set up your project.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              toxiproxy has a medium active ecosystem.
              It has 9124 star(s) with 421 fork(s). There are 554 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 60 open issues and 122 have been closed. On average issues are closed in 268 days. There are 14 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of toxiproxy is v2.5.0

            kandi-Quality Quality

              toxiproxy has 0 bugs and 0 code smells.

            kandi-Security Security

              toxiproxy has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              toxiproxy code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              toxiproxy is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              toxiproxy releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.
              It has 5485 lines of code, 285 functions and 40 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of toxiproxy
            Get all kandi verified functions for this library.

            toxiproxy Key Features

            No Key Features are available at this moment for toxiproxy.

            toxiproxy Examples and Code Snippets

            No Code Snippets are available at this moment for toxiproxy.

            Community Discussions

            QUESTION

            How to simulate lost database connection locally?
            Asked 2022-Jan-07 at 11:23

            There is a SpringBoot-based application running on a server which regularly inserts/updates records in a relational database.

            The database connection is set up like this:

            ...

            ANSWER

            Answered 2022-Jan-07 at 10:07

            Source https://stackoverflow.com/questions/70619445

            QUESTION

            How to use different ports using Couchbase Java SDK 3
            Asked 2020-Aug-04 at 21:31

            Context:
            I'm writing some integration tests using docker (using testcontainers). And I want to connect to couchbase using toxiproxy.

            The problem:
            I can't connect to couchbase using different ports than the default ones. The docs says to just use SeedNode, but it does not work.

            Client:

            ...

            ANSWER

            Answered 2020-Aug-04 at 21:31

            To answer the question (but not solve OP's problem, unfortunately), with SDK 3 you can specify a custom KV port like this:

            Source https://stackoverflow.com/questions/63177762

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install toxiproxy

            You can download it from GitHub.

            Support

            How fast is Toxiproxy? The speed of Toxiproxy depends largely on your hardware, but you can expect a latency of < 100µs when no toxics are enabled. When running with GOMAXPROCS=4 on a Macbook Pro we achieved ~1000MB/s throughput, and as high as 2400MB/s on a higher end desktop. Basically, you can expect Toxiproxy to move data around at least as fast the app you’re testing. Can Toxiproxy do randomized testing? Many of the available toxics can be configured to have randomness, such as jitter in the latency toxic. There is also a global toxicity parameter that specifies the percentage of connections a toxic will affect. This is most useful for things like the timeout toxic, which would allow X% of connections to timeout. I am not seeing my Toxiproxy actions reflected for MySQL. MySQL will prefer the local Unix domain socket for some clients, no matter which port you pass it if the host is set to localhost. Configure your MySQL server to not create a socket, and use 127.0.0.1 as the host. Remember to remove the old socket after you restart the server. Toxiproxy causes intermittent connection failures. Use ports outside the ephemeral port range to avoid random port conflicts. It’s 32,768 to 61,000 on Linux by default, see /proc/sys/net/ipv4/ip_local_port_range. Should I run a Toxiproxy for each application? No, we recommend using the same Toxiproxy for all applications. To distinguish between services we recommend naming your proxies with the scheme: <app>_<env>_<data store>_<shard>. For example, shopify_test_redis_master or shopify_development_mysql_1.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/Shopify/toxiproxy.git

          • CLI

            gh repo clone Shopify/toxiproxy

          • sshUrl

            git@github.com:Shopify/toxiproxy.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Proxy Libraries

            frp

            by fatedier

            shadowsocks-windows

            by shadowsocks

            v2ray-core

            by v2ray

            caddy

            by caddyserver

            XX-Net

            by XX-net

            Try Top Libraries by Shopify

            draggable

            by ShopifyJavaScript

            dashing

            by ShopifyJavaScript

            liquid

            by ShopifyRuby

            sarama

            by ShopifyGo

            polaris

            by ShopifyTypeScript