128: Speedy like a Bandit

Release Date:

The Phoenix 1.7 announcement blog post mentioned the ability to swap out Cowboy for another webserver like Bandit. We talked with Mat Trudel to learn more about his pure-Elixir webserver and find out how it works with Phoenix. We learn Bandit can be up to 5x faster by narrowly focusing on turning a request into a Plug connection and much more!
Show Notes online - http://podcast.thinkingelixir.com/128 (http://podcast.thinkingelixir.com/128)
Elixir Community News
- https://github.com/features/security/ (https://github.com/features/security/) – Github's Dependabot now supports private hex repositories.
- https://twitter.com/sorentwo/status/1595526317436452864 (https://twitter.com/sorentwo/status/1595526317436452864) – Parker Selbert brought this to our attention.
- https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository (https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository)
- https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html (https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html) – CI tip to check for unused mix lock entries
- https://twitter.com/RudManusachi/status/1597341690653999106 (https://twitter.com/RudManusachi/status/1597341690653999106) – Shared by Rudolf on Twitter
- mix deps.unlock --check-unused
- https://fly.io/phoenix-files/github-actions-for-elixir-ci/ (https://fly.io/phoenix-files/github-actions-for-elixir-ci/) – CI resource for Elixir projects on Github
- https://twitter.com/TechRecHayden/status/1595776257513373699 (https://twitter.com/TechRecHayden/status/1595776257513373699) – Hayden Evans spotted that Zoom is using Erlang in production for their chat platform.
- Mastadon instances to consider if looking for a Twitter alternative...
- https://genserver.social/about (https://genserver.social/about)
- https://hachyderm.io/explore (https://hachyderm.io/explore)
- https://fosstodon.org/ (https://fosstodon.org/)
- https://mastodon.social/explore (https://mastodon.social/explore)
- https://www.lambdadays.org/lambdadays2023 (https://www.lambdadays.org/lambdadays2023) – Lambda Days conference returns as an in-person only event to Kraków on 5-6 June 2023.
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com)
Discussion Resources
- https://phoenixframework.org/blog/phoenix-1.7-released (https://phoenixframework.org/blog/phoenix-1.7-released) – Phoenix 1.7 blog post described at the end - “Alternative Webserver Support”
- https://github.com/mtrudel/bandit (https://github.com/mtrudel/bandit) – “Bandit is a pure Elixir HTTP server for Plug & WebSock applications”
- https://github.com/mtrudel/thousand_island (https://github.com/mtrudel/thousand_island) – “Thousand Island is a pure Elixir socket server, powering the layer underneath Bandit”
- https://ninenines.eu/docs/en/cowboy/2.9/guide/ (https://ninenines.eu/docs/en/cowboy/2.9/guide/) – Cowboy docs
- https://www.pagerduty.com/ (https://www.pagerduty.com/)
- https://github.com/ninenines/cowlib (https://github.com/ninenines/cowlib)
- https://www.youtube.com/watch?v=ZLjWyanLHuk (https://www.youtube.com/watch?v=ZLjWyanLHuk)
- https://github.com/crossbario/autobahn-testsuite (https://github.com/crossbario/autobahn-testsuite)
- https://en.wikipedia.org/wiki/Cyclicredundancycheck (https://en.wikipedia.org/wiki/Cyclic_redundancy_check)
- https://en.wikipedia.org/wiki/Cyclicredundancycheck#CRC-32_algorithm (https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm)
- https://github.com/phoenixframework/websock (https://github.com/phoenixframework/websock)
- https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3 (https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3)
- https://podcast.thinkingelixir.com/57 (https://podcast.thinkingelixir.com/57) – Scaling Live Chat with Cade Ward episode
- https://en.wikipedia.org/wiki/HTTP/3 (https://en.wikipedia.org/wiki/HTTP/3)
- https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf (https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf) – 2022 EMPEX presentation slides
- https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf (https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf) – 2021 Elixir Conf presentation slides
Guest Information
- https://twitter.com/mattrudel (https://twitter.com/mattrudel) – on Twitter
- https://github.com/mtrudel/ (https://github.com/mtrudel/) – on Github
- https://mat.geeky.net (https://mat.geeky.net) – Blog
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com)
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)

128: Speedy like a Bandit

Title
128: Speedy like a Bandit
Copyright
Release Date

flashback