Episode 128
Speedy like a Bandit
December 6th, 2022
1 hr 8 secs
Tags
About this Episode
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
Elixir Community News
- https://github.com/features/security/ – Github's Dependabot now supports private hex repositories.
- 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://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html – CI tip to check for unused mix lock entries
- 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/ – CI resource for Elixir projects on Github
- 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://hachyderm.io/explore
- https://fosstodon.org/
- https://mastodon.social/explore
- 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 or email at show@thinkingelixir.com
Discussion Resources
- 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 – “Bandit is a pure Elixir HTTP server for Plug & WebSock applications”
- 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/ – Cowboy docs
- https://www.pagerduty.com/
- https://github.com/ninenines/cowlib
- https://www.youtube.com/watch?v=ZLjWyanLHuk
- https://github.com/crossbario/autobahn-testsuite
- https://en.wikipedia.org/wiki/Cyclic_redundancy_check
- https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm
- https://github.com/phoenixframework/websock
- https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3
- https://podcast.thinkingelixir.com/57 – Scaling Live Chat with Cade Ward episode
- 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 – 2022 EMPEX presentation slides
- 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 – on Twitter
- https://github.com/mtrudel/ – on Github
- https://mat.geeky.net – Blog
Find us online
- Message the show - @ThinkingElixir
- Email the show - show@thinkingelixir.com
- Mark Ericksen - @brainlid
- David Bernheisel - @bernheisel
- Cade Ward - @cadebward