这里有一个非常tricky的地方,就是我们要把Dispatch service放在前面,然后driver和user都向他报告,这个server再去和geo server交流。
这样不需要driver, user的前端去找两个服务器。
暴力的办法,但是这个办法巨慢。因为等同于你在扫描全部的数据库data。
两种业界主流的方法:一种是神级的S2办法,巨恐怖。一种是GeoHash,简单。
Hilbert Curve: 可以把2D和1D相互投影转换,并且大部分情况下2D点相近的在1D上也很近。
To avoid server down, 我们可以做sharding based on city. 比如北京的服务器挂了别影响旧金山的事情。