brightball

brightball

Cowboy as nginx replacement?

With the trending news that nginx has been acquired by F5 (Nginx to Be Acquired by F5 Networks | Hacker News) it sparked the natural discussion of nginx alternatives despite F5 committing to the continued open source project development.

That got me wondering what it would take to utilize Cowboy standalone as a replacement for nginx for people who aren’t using Erlang/Elixir? Are there guides out there for it? Would it be viable?

If so it seems like this would be a very good opportunity to position Cowboy as an alternative, which would realistically generate more investment and development in the project…and as a likely byproduct create more interest in the BEAM ecosystem as a whole to a wider audience.

If Cowboy is a viable replacement, this would seem to be a rare “preparation meets opportunity” moment.

First Post!

Fl4m3Ph03n1x

Fl4m3Ph03n1x

I don’t see how Cowboy can be compared to nginx. nginx is (mainly) a load balancer in the sense it sends load (requests) to different machines. cowboy is a library that receives requests from clients specific to languages using BEAM.

Even if you could convince everyone that installing an entire new VM to replace nginx is a good idea, I still don’t see how it would fit.

Most Liked

lpil

lpil

Creator of Gleam

Both GitHub and Heroku use Cowboy in a place where people might more commonly use Nginx (file server, reverse proxy), so is can be used in this fashion.

I suspect we’d never be able to fill the shoes of Nginx as deployment of Cowboy/the BEAM is considerably more fiddly than deploying Nginx.

Julio

Julio

If your stack is not full Erlang/Elixir, would suggest to use Traefik as a replacement of Nginx

lpil

lpil

Creator of Gleam

I’m afraid not, but Heroku have made some of the code public.

https://github.com/heroku/vegur

https://github.com/heroku/cowboyku

There is also a book on running Erlang at scale from Fred Hebert back when he was at Heroku Be the Erlang Medic in a Time of War: New Book | Heroku

Last Post!

danyalmh

danyalmh

Yes in Where you need More than a single round-robin :grin: .

For example I have 6 Node and each
Handling Some Special user for
Example you think Node-A handle
User live in New York and those
Study in College X .

Because this node have To much Data about City and many other Things , and i not
Want all 6 machine Store All Data From each City and be replicate of other …

This Model need a Powerful routing system.
I believe Heroku Have like this idea and choice Beam instead of Ngnix

This case is to much great in Erlang
Because can use built-in Stable , real-time Db ( mnesia )
And Beam is To much Stable in Multi core
Under high-load ( Powered by GC per process )

And many other feature …

Where Next?

Popular in Discussions Top

sergio
There’s a new TIOBE index report that came out that shows Elixir is still not in the top 50 used languages. It also goes on to call Elix...
New
PragTob
Hey everyone, this has been brewing in my head some time and it came up again while reading Adopting Elixir. GenServers, supervisors et...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
opsb
We’re considering our architecture from a viewpoint of scaling our traffic heavily over the next 6 months. Our current deployment is runn...
New
nunobernardes99
Hi there Elixir friends :vulcan_salute: In a recent task I was on, I needed to check in two dates which of them is the maximum and which...
New
crispinb
On reading dhh’s latest The One Person Framework it strikes me that Phoenix with LiveView is already pretty much this. However, never hav...
New
paulanthonywilson
I like Umbrella projects and pretty much always use them for personal Elixir stuff, especially Nerves things. But I don’t think this is ...
New

Other popular topics Top

vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 55125 245
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31586 112
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 44778 311
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New

We're in Beta

About us Mission Statement