Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
aphyr
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
40 ms
·
361.
▲
by
aphyr
13y ago
Comcast, Boundary, Enstratus, Alert Logic, Best Buy, Voxer, Showyou, Bump, bunch of random startups. Finds its way into a number of places, since it's one of few AP databases that actually puts sibling resolution in the hands of app develop
362.
▲
by
aphyr
13y ago
Could be a bridge loop, where switches route packets in a circular ring. Spanning-tree-protocol is designed to detect and avoid that problem, but it's not always enabled.
363.
▲
by
aphyr
13y ago
Indeed. Node's IPC costs are orders of magnitude slower than Java's volatile or atomic datatypes. I would only choose Node for stateless or trivially parallelizable problems--e.g., those where I could push the state problem into a runtime w
364.
▲
by
aphyr
13y ago
Huh. Most of the JVM shops I've worked at deploy apps as a monolithic fat .jar, built by their CI system, rather than trying to manage libraries on classpath.
365.
▲
by
aphyr
14y ago
If you are envisioning network partition scenarios where perhaps the master is isolated from the slaves, this is minimized by replication checks to slaves (set an arbitrary key to an arbitrary value and check if the slaves update). If a ma
366.
▲
by
aphyr
14y ago
We have languages where the source code is a literal serialization of the abstract syntax tree. This property is homoiconicity ( http://en.wikipedia.org/wiki/Homoiconicity ), and is a key factor in the success of s-expressions used in Lisps
367.
▲
by
aphyr
14y ago
Er, I wasn't trying to claim that the system behaves more intelligently. The performance degradation is just an emergent consequence of gradually adding more nodes to the routing tier. This post might be useful for some context: http://aph
368.
▲
by
aphyr
14y ago
"the switch from intelligent to randomized routing" As I understand it, Heroku (on the Bamboo stack) didn't up and decide "Hey, we're gonna switch from intelligent to random routing." The routers are still (individually) intelligent. It's j
369.
▲
by
aphyr
14y ago
In the limit of many concurrent processes, yes, this does converge. However, not even concurrent servers have truly independent response times: unbalanced load will slow down a server. Balanced routing is almost always more optimal, if yo
370.
▲
by
aphyr
14y ago
For single-threaded servers, request latency dominates--it's hard to get useful state information out of a dyno, because as soon as it's returned a response, its state has changed. You can add a dedicated stats endpoint to each server, but
371.
▲
by
aphyr
14y ago
"Is there any Heroku app larger than that?" Yes. Consider that Heroku publishes DNS records for all their customers to the same set of nodes; those nodes must be responsible for routing all Heroku traffic. Sharding customers onto individu
372.
▲
by
aphyr
14y ago
The practical limitation isn't just magnitude, but resolving power. Atmospheric disturbance makes it difficult to resolve anything smaller than a meter from orbit, and the diffraction limit means the further are away from the thing you want
373.
▲
by
aphyr
14y ago
These simulations take roughly a minute or so each, for the samples I used in the post. I avoided filling in the chart because I was pressed for time. I'm unemployed and already spent ~40 hours on the post, haha.
374.
▲
by
aphyr
14y ago
I don't want to reveal specific (and perhaps confidential) information about Heroku's architecture, but I can tell you a few things about working in AWS in general. One: routing traffic in AWS typically means ELB. ELB doesn't necessarily gi
375.
▲
by
aphyr
14y ago
Consistency applies because a least-conns load balancer requires state: it needs to know how many connections are open for each node. A distributed least-conns load balancer requires distributed state. This is problematic because the conver
376.
▲
by
aphyr
14y ago
Heroku operates in EC2, which is an Amazon service providing virtual machines spread across several datacenters. Rapgenius' nodes, as well as all of Heroku's internal infrastructure (e.g. routing) run as EC2 virtual machines. EC2 VMs are mu
377.
▲
by
aphyr
14y ago
heroku itself doesn't need to be [distributed]. Yes, it does.
378.
▲
by
aphyr
14y ago
You're right: reliable fault-tolerance between two nodes in datacenters with dedicated physical hardware and isolated network links is easier than distributing state over a hundred geographically disparate nodes in in virtualized, multitena
379.
▲
by
aphyr
14y ago
When the load on a system increases by two to three orders of magnitude, sometimes it's difficult to preserve the original system's semantics.
380.
▲
by
aphyr
14y ago
Solving it isn't really that hard. Having spent a fascinating day discussing this problem with Heroku's routing team, I'm inclined to disagree.
381.
▲
by
aphyr
14y ago
I don't claim the necessity of high paid professors, auditoriums, or football stadiums, but I'm dubious that autodidacticism is a broadly applicable strategy in isolation. The best teachers in my life have been public high school teachers,
382.
▲
by
aphyr
14y ago
Mass distribution of learning material has been around for a few centuries and has yet to replace the process of guided learning . The problem is simple: while it's possible to amass facts and skills from reading and listening, it's much m
383.
▲
by
aphyr
14y ago
Some of Riemann's code is very much like Java, especially where I interoperate with Java libraries. Other parts of the code are... definitely not Java: (defn where-partition-clauses "Given expressions like (a (else b) c (else d)), r
384.
▲
by
aphyr
14y ago
Heh, I originally cargo-culted this line from somewhere in Netty's docs: https://github.com/aphyr/riemann/blob/732a6e8986f75c638c30b5... After finally digging into how execution handlers worked, the puzzle started to unravel. Netty's docs
385.
▲
by
aphyr
14y ago
I dunno if I'd call it magic, per se. Netty is a big library and it has good reasons for behaving this way. I just don't think I came through the right documentation path is all.
386.
▲
by
aphyr
14y ago
Thank you. :) If you have any questions, feel free to hop on Freenode #riemann and I'll do my best to help out. BTW, you're not the first to wonder about streaming events directly to Riemann from client browsers. I... don't recommend it, ju
387.
▲
by
aphyr
14y ago
Thanks for the offer! I, uh, certainly didn't mean to claim that Riemann is extraordinarily fast. Up until this point I've been working as hard as I can just to make the darn thing turn on and accomplish something useful. This is quite earl
388.
▲
by
aphyr
14y ago
Er, I don't mean to be contrarian, but Riemann is anything but proprietary. I'm an unemployed OSS developer. Every bit of code from clients to dashboard to server to integration tools to the website is open source: http://aphyr.github.com/
389.
▲
by
aphyr
14y ago
They're completely different kinds of software, at least as I understand them. Riemann is about pushing lots of little hashmaps (events) through a DAG of streaming functions; HTTP is about synchronous gets/puts/updates/deletes to a tree of
390.
▲
by
aphyr
14y ago
If you're wondering about the workload, this is the trivial Riemann config this benchmark uses: (streams (rate 5 (comp prn float :metric)) Which means for each five-second interval, sum all the metrics of the events flowing throu
More ›