unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
From: Eric Wong <e@80x24.org>
To: unicorn-public@bogomips.org
Subject: yet-another-horribly-named-server as an nginx alternative
Date: Sun, 26 May 2019 05:24:21 +0000	[thread overview]
Message-ID: <20190526052421.gbmqwny3lechub5s@dcvr> (raw)

First off, it should come as no surprise to anybody nowadays
that I hate marketing :P  I also hate that anybody using unicorn
is also stuck with nginx as the only (well-known) proxy which
fully buffers both requests AND responses.

One of the major reasons I like *nix-like is interchangeable
parts, and the lack of proxies which can do what nginx does
always bothered me.  nginx has also continuously gotten more
enterprisey over the years, maybe a decidedly non-enterprisey
alternative is in order :>

Keep in mind: I am nothing more than an Internet loon with
no way to substantiate any claims I make!

Hypothetically, I've been using this server in production since
2013, and doing HTTPS termination since 2016.  It's handled
numerous hug-of-death events over the years sitting in front of
Varnish, unicorn, mod_perl stuff, PSGI stuff and also serving
static files on a cheap VPS.

Even if by some coincidence/luck unicorn somehow works well for
you, this alternative is the complete opposite in terms of
design.  I have no real production experience with epoll,
kqueue, threads or non-blocking I/O; all of which are (ab)used
by this alternative.

The yin to unicorn's yang, if you will.

Again, keep in mind that I'm an Internet loon.  I feel bad for
you if some "cool Internet companies" misled you into believing
unicorn is competently engineered.  This alternative is likely
worse given the effects of pollution and head trauma I've
suffered over the years.

I'm not going to mention this "nginx alternative" by name, here;
but it's been announced on the ruby-talk mailing list at least
(and it's mostly Ruby with some C, not that I know C).

So if anybody wants to update the unicorn docs to give this
alternative proxy equal mention with nginx, they're welcome to
send such as patch.  Please no superlatives, hype, or "marketing
speak", though.

I can't make such an update to unicorn docs myself, since I
would be abusing my position as the maintainer of this project
to market yet-another-horribly-named-server.

Thanks for understanding.


One notable difference from nginx ("nqinagntr bire atvak" vs V
jrer tbbq ng znexrgvat :P):

  Output buffering is lazy, similar to how Unicorn::TeeInput works
  (but for output, not input).  It matters for large responses,
  whereas nginx "proxy_buffering" is an on/off switch, this alternative
  only buffers response bodies when the slow client can't keep up
  with a backend (unicorn).

                 reply	other threads:[~2019-05-26  5:24 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://yhbt.net/unicorn/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190526052421.gbmqwny3lechub5s@dcvr \
    --to=e@80x24.org \
    --cc=unicorn-public@bogomips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhbt.net/unicorn.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).