3 ms·
I'm open to be proven wrong here, but I also work on two large distributed systems each with thousands of servers spanning multiple datacenters that can handle
by malandrew 9y ago
I'm open to be proven wrong here, but I also work on two large distributed systems each with thousands of servers spanning multiple datacenters that can handle concurrent reads/writes, so I'm pretty familiar with the space. In my system, mean times between servers in the same datacenter are a few milliseconds and p99s are between 7ms and 30 ms depending on the call.
Beyond a handwavy "[there are] many viable paths for solutions worked out", how exactly would you architect such systems so that you can build a solution that produces a customer experience that is competitive against a mostly centralized system now that your solution needs to contend with inter-server latencies that are about two orders of magnitude higher due to the speed of light and the network hops involved?
- ilaksh 9y agoFirst of all, creating a decentralized Uber-style app is not the same as emulating your particular system in a decentralized way. Of course we cannot have a bunch of widely distributed computers chatting as quickly as your computers in your datacenter. The essential parts are: finding nearby drivers, maps on two screens, communicating updated position between the two phones, and payment. Finding nearby drivers means that a group of devices in the same geographic area need to be able to talk to each other. I feel like this is right up the alley of distributed systems. The GPS updates really only require communication between the two devices at ordinary internet speeds and updates every few seconds. For payment I do not need to invent anything, we can use Bitcoin, Ethereum, or any of the many high-transaction solutions that are coming out built on those or other cryptocurrencies. So if you want to suppose that it is impossible to have a high transaction rate with cryptocurrency, I don't have time to get into it. But I will say that the main thing that makes people think that is that they assume zero trust and that every single computer must validate every single transaction. Those just aren't _actually_ requirements. But give it 2 years, maybe 5 years, this stuff will get sorted out. Until then there will always be naysayers saying it is impossible.