0

我目前处于我的第一个应用程序的初始设计阶段。

在我的应用程序中,会有包含 1-5 个用户的单独会话。

我需要能够跟踪每个用户的 gps 位置,并能够将它们推送给每个用户。每个用户都将拥有会话中每个其他用户最近报告的位置。

将在数据集上完成其他计算,但那将是客户端,服务器应该只需要处理用户位置(和用户名)的推送和拉取。

由于应用程序的性质,我预测 90% 的会话不应持续超过 2 小时,服务器可能会结束 24-48 小时以上的会话(一旦应用程序的实际测试开始,我会更好地了解会话应该持续多长时间)。

我正在考虑使用 django 构建一个 API,并将所有数据存储在程序本身中,而不是使用数据库,因为这应该更快,而且我认为没有必要存储数据,因为它有这样的寿命短。

这是一个好的起点吗?有什么我应该考虑或考虑的吗?我对设计后端软件完全陌生。

4

1 回答 1

1

虽然一开始性能甚至可能不是问题,但一旦达到一定的负载,您可以做一些事情:

  • 将所有会话数据保存在一个模型中,即使您正在对数据库进行一些非规范化(将冗余信息放入数据库)。这样,您只需对数据库进行一次读取,而无需昂贵的 JOIN
  • 使用 Django 缓存框架 ( https://docs.djangoproject.com/en/dev/topics/cache/ ) 缓存视图,因此多次读取相同数据不必访问数据库
  • 在开始优化之前,请分析您的代码以查看性能瓶颈的真正位置。有时您会惊讶于哪些操作是昂贵的,哪些不是。
于 2013-01-31T11:45:50.120 回答