Live data from Hacker News

Do svidaniya, Igor, and thank you for Nginx

nginx.com

181–190 of 366 posts

Re: Do svidaniya, Igor, and thank you for Nginx

#181
post #159

It still surprises me that NGINX beat out Apache so quickly even though Apache had way more modules and was/is entirely free vs. NGINX which is more or less "open core" with some nice features requiring commercial licensing.

Back in 2005-6 , nginx was so far ahead a generation of engineers adopted it… it’s use of signals to zero downtime upgrade (USR2) - still is one of the best features few other servers get right. The syntax to configure is clear enough while not being super verbose…

These days systemd with its file descriptor store makes implementing live update of a service without dropping a single connection rather straightforward. But Nginx managed to do that on its own long time before systemd.

Re: Do svidaniya, Igor, and thank you for Nginx

#182
post #7

I really take for granted how well Nginx works across a number of web backend functions. Some of the container/orchestration world has tried to supplant the need for it as a reverse proxy, but you get so many goodies out of the box just by sticking this in front of your app, and for very little overhead. I remember the pre-Nginx days and all of the struggles people routinely ran into with options like Apache or other…

I mean there was lighttpd before nginx and they have/had pretty similar structures, weights, etc. I feel like I knew at one point why it got so thoroughly supplanted by nginx but I don't remember now why that happened.

Lighttpd has received very nice updates lately (HTTP/2, etc.) and I use it daily for mission critical servers (facing private customers) behind HAProxy, Varnish and the like. No problems so far after 5 years.

Re: Do svidaniya, Igor, and thank you for Nginx

#183
post #148

> a novel architecture Is this simply referring to event-driven I/O (using select, epoll, or the like), or something else? I'm pretty sure event-driven, as opposed to forking or thread-per-connection, web servers were well established by 2002, though perhaps primarily in commercial products like Zeus.

I also wondered this. Similar: > In particular, Igor sought to solve the C10k problem – handling 10,000 concurrent connections on a single server – by building a web server that not only handled massive concurrency but could also serve bandwidth‑hogging elements such as photos or music files more quickly and efficiently. ...I'd love to hear more details

https://www.aosabook.org/en/nginx.html

Re: Do svidaniya, Igor, and thank you for Nginx

#184
post #47

Earlier quoted context omitted.

They are breaking the web, plain and simple. Google with AMP, Cloudfare with their idiotic capchas.

Speaking of which, is it possible Cloudflare is paid by Google to display re-captchas? Someone needs to train those deep neurons.

Doesn’t Cloudflare use Hcaptcha now? They dropped Google because of the cost.

Re: Do svidaniya, Igor, and thank you for Nginx

#187
post #25

It took a good 5 minutes read of the entire blog post to understand that "Do Svidaniya" is actually "До Свидания" (Russian), meaning "until next time/Goodbye".

i speak russian fluently and still parsed the title as "Do" +

I'm not fluent, but I've been studying for 3 years now. I hate when people use latin characters to 'sound out' russian words. When I see Cyrillic, my brain immediately switches to Russian. When it's latin sounding out Russian, it takes a stupid amount of time for me to realize and comprehend what they are trying to say.

Re: Do svidaniya, Igor, and thank you for Nginx

#189
post #76

It still surprises me that NGINX beat out Apache so quickly even though Apache had way more modules and was/is entirely free vs. NGINX which is more or less "open core" with some nice features requiring commercial licensing.

It should be remembered that NGINX is used as a reverse proxy for a lot of servers behind the scenes. That NGINX is the web server identified up front doesn't mean as much as it might because of this architectural construct. I use NGINX to front a sites that have Apache on the back end and as a result, the Internet spiders think my websites are running NGINX rather than Apache. NGINX is incredibly easy to configure a…

These days the cool kids love to call reverse proxies "load balancers" (when you have n>1 backends).

Re: Do svidaniya, Igor, and thank you for Nginx

#190
post #114

Earlier quoted context omitted.

Most requests in reality are GET. So if you first check for G, if (m[0] == 'G') { r->method = NGX_HTTP_GET; break; } else if (m[0] == 'P') { switch(m[1]) { ... } } else if ... this should be fast enough.

How would this work if the method field was something like "Gibberish"? Would this have any security vulnerabilities?

If its "Gibberish" I'd suggest it's safer to assume it as a Get request regardless.

Something I don't see many people talk about, but I've setup web instances with both read and write clusters similar to db's, and have the nicety to getting more umph from the read cluster by making sure it only hits read db nodes and disabling any framework stuff for tracking changes on a model.

Post reply on HN