HN user

gshx

74 karma

just another software guy

Posts0
Comments45
View on HN
No posts found.

Thanks for the bullets. This is a good list but some of the points like "Easily scalable" and "DB support" are not cheaply available in any runtime and require careful attention to detail as well as domain-specific thinking. IMHO, the JVM already does a lot of heavy-lifting in this regard.

This looks very good. At the moment, for the jvm, there are not a lot of features above simply building services using netty and the protobufdecoder/encoder. Similarly, http2 goodness is also already available in netty.

One big challenge is the expense that is otherwise avoided via usage of connection pooling. Without the hack to keep the backing containers alive, tearing down and restarting them is expensive and wipes out all hot path optimizations made by JIT compilers besides having to reestablish connections and pay the handshake prices. Apart from the simplest of use-cases at this time, imho this is not an efficient model if sustained performance and low latency are of interest.

Your point is well-taken. This qn comes up often enough for similar use cases and hence I asked if someone has data to support an arg. Considering the criticality of Zk in the larger stack and our success and operational expertise with it, it has to take significant convincing to switch to something like etcd.

The following two paragraphs from the etcd project site seem to hint that they're trying to target overlapping use cases: "Your applications can read and write data into etcd. A simple use-case is to store database connection details or feature flags in etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change.

Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers."

Does someone have any benchmarks or comparisons with Zk? We have run it for many yrs without a problem and are very happy with it. Would be interested in hearing from anyone who switched from zk->etcd for distributed locking, presence, leader election type idioms and ran it in prod for a few months/yrs and their takeaways.

Go-lang is good but not as mature. Other than that, there's C++ and Erlang/Elixir. Not a whole lot of mature choices out there. For most of the critical production grade systems that need to be secure, have to scale and perform predictably, you don't want to blaze the trail.

Heroku Kafka 10 years ago

You're right. I was mostly commenting on the common idiomatic ways ppl differentiate streams vs queues. Indeed, it can be used in both scenarios.

Heroku Kafka 10 years ago

It can be used as a queue but the bigger benefit is for streaming use cases. One of the key differences, among others, is that streaming assumes somewhat faster consumers as opposed to queueing. There's also the pub-sub use-case which is generally considered separate from that of a queue (considered a point to point transport).

Can you cite some examples? Did these companies decide to run containers on vm's or just bare metal? In the latter case, they shouldn't need 3 to 4 times more hardware. Your point on capacity planning is well taken. Capacity will always be finite and especially critical to put an upper bound on if doing container based services with multi-tenancy.

There are other concerns to keep in mind, eg. the upgradability of storage to use next gen cards that use 3d nand, etc. I'm sure they thought through a list of concerns before going this route.

The other problem with Lambda is that you cannot keep persistent connections in a connection pool. It is after all, designed for statelessness. This can be considerable cost for doing calls to other business services (http connection pools) or infra services like databases that all maintain persistent connections.

Content and programming are still quite limited. There are a few good original shows. Also, they keep adding a lot of movies with poor ratings (rotten tomatoes). There's definitely potential for some disruption in this space. Also, some more competition from others would be nice.

A lot of the agents typically don't point out any of those things anyway. They're incentivized to make the deal and really paid by the Seller. If both the Buyer and Seller were paying, that might be an altogether different story and it might actually work out better. Having gone through the buying/selling process a few times, I would much rather deal with an unbiased automated system.

If Zillow can solve the "problem" of putting all the docs (disclosures, inspections, offer docs, title docs later on, etc) up with the listing along with making a network of handymen (to help out with prettifying a house for sale), most buyers and sellers will be happy to pay them 0.5-1% instead of the seller having to pay the agents 4-5%. There's generally not a whole lot of work in buying or selling a house including agents doing events like open houses and helping with "discovery" and the buyer-seller matching problem. The offer process itself is also quite simple and can be done online. That said, the one benefit of an open house/tour hosted by a neutral party, is that it lets potential buyers easily assess a house without having a biased seller in attendance. This can also be managed and does not really require a real estate agent. Zillow and similar services like Trulia have a fantastic market opportunity in front of them.

Running multi-region services has associated costs. It's also non-trivial engineering effort to convert most services to a multi-region setup. It's definitely worth the investment though. Another option is to run multi-region on the same provider (like AWS) without using proprietary services like DynamoDb but maybe something similar like Cassandra.

Seems like too much fluff - both the acquirer generating it and the acquisition itself. It would be helpful to see why/where one would use node.js when other platforms support many more workloads well than just pure I/O bound ones. In the "enterprise middleware", going native (C++) or managed (JVM/CLR) brings with it a much richer ecosystem alongwith a more robust runtime that can better support other workloads that entail for example cpu binding. It's hard to see a real need for node.js as it seems to not do anything significantly better than other platform options.

Agree, it should be easier. After registering, think it's possible to sign-in to most of the adsk systems via either the email/passwd or adsk-id/passwd combination.