

Ask HN: HN web stack? - kaiser_pelagic

I'm curious about the HN web stack. I know they use arc as the icing but I have no idea what is underneath.<p>server: Apache(mod_scheme) or plt(racket) web server are my two guesses
db: MySQL, PostgreSQL - I read somewhere that they use MySQL
======
jjoe
It's running the Arc web server, which has its own implementation of the HTTP
protocol. I don't think there's anything behind or in front of it. Probably
not even Memcached. Think of the app serving HN as a framework. Here's how a
"URL" entry would be implemented in Arc:

 _(defop hi req (prn "Hi there"))_

<http://news.ycombinator.com/whoami> will return your login and IP. It's
probably implemented in this fashion:

 _(defop whoami req (prn (req 'ip)) (prn (req 'id)))_

Regards

Joe

------
silentbicycle
No database. Just flat files cached in memory on demand, IIRC.

I think about that when people worry about scalability. HN seems to do okay.

~~~
j_baker
HN has scaled, but not because pg hasn't worried about scaling (although to be
fair, it doesn't seem to have worried _much_ ):

"I already have problems enough with that. Remember, the original motivation
for HN was to test a new programming language, and moreover one that's focused
on experimenting with language design, not performance. Every time the site
gets slow, I fortify myself by recalling McIlroy and Bentley's famous quote

The key to performance is elegance, not battalions of special cases.

and look for the bottleneck I can remove with least code. So far I've been
able to keep up, in the sense that performance has remained consistently
mediocre despite 14x growth. I don't know what I'll do next, but I'll probably
think of something."

<http://paulgraham.com/hackernews.html>

~~~
silentbicycle
Sure. Profiling and incremental tuning has been sufficient so far. It will
probably be hard to scale indefinitely, but HN _already_ handles quite a bit
more traffic than many sites.

------
Darmani
<http://www.arclanguage.com/install>

You can read the source code yourself. I don't remember the database, but it's
running on an Arc server.

~~~
jackolas
Being proxied to Server:Apache/2.2.8 (Ubuntu) fyi

edit: I don't think the page itself is actually proxied it seems only the
static content is.

~~~
ryan-allen
If the app is behind apache and writing static files for serving things up,
and only hitting arc on operations like votes and cache misses then of course
it's gonna scale! Especially if the app is read heavy :)

Is the HN source code actually open source itself?

~~~
jackolas
yes its in the arc source

------
epochwolf
I thought the database was flat files.

~~~
known
Yes, everything is a file in UNIX

------
omnix
or OP could be trying to hack hackernews

~~~
jrockway
And what a crisis that would be. All of our publicly-available comments would
become available publicly!

~~~
dholowiski
How about all of our hashed passwords- that would be a treasure trove

~~~
cypherpunks01
<http://openid.net/>

