目前,我正在开展像优步这样的项目。这意味着有两个应用程序:一个用于驱动程序,一个用于客户。
问题是:驱动程序需要每2秒更新一次位置。并且客户每2秒钟将所有最近的司机拉到实时。它会导致数据库查询性能下降。我用的是立方体和PostgreSQL的地球延伸扩展用于计算最近的。
有谁能告诉我解决这个问题的最佳方法是什么?非常感谢!
答案 0 :(得分:0)
您可以使用deepstream.io进行实时数据提交,例如:来自Android
public void onLocationChanged(Location location) {
// get the record
Record record = client.record.getRecord( "driver/14" );
// any kind of data path works
record.set( "position.x", location.getLongitude() );
//as well as any kind of serializable datatype
record.set( "position.y", location.getLatitude() );
}
到JavaScript
// get the record
var driver = client.record.getRecord( 'driver/14' );
// subscribe to any changes within position
driver.subscribe( 'position', function( position ){
updateMarker( position.x, position.y );
});
结合例如深度与此集成的RethinkDBs geospacial queries可能是一种可扩展的解决方案。