【问题标题】:What is the best approach to build a Dashboard?构建仪表板的最佳方法是什么?
【发布时间】:2021-07-24 20:34:34
【问题描述】:

让我先简要解释一下这个问题。我最近开始涉足网络开发。我知道现代 MVC 体系结构的位和字节,并且已经在使用它。但是现在我打算建立一个仪表板,我对如何去做感到困惑。

传统的数据流是,它在后端从数据库中加载,稍加处理并作为响应发送到前端。这是我到现在为止的工作。

但是谈到仪表板,假设应该在仪表板上显示的数据需要太多的处理。就像假设仪表板显示该人到目前为止已经花费/获得了多少。

现在,添加一些背景上下文。如果该应用程序是关于显示该人到目前为止在在线购物网站上花费了多少,则可能不需要太多处理。加载数百条记录可能没问题(也许!)。

但是,如果仪表板是要显示一个日内交易者到现在(自从他/她加入以来)已经花费/赚取了多少,那就太重了。在这种情况下,加载数万条记录并计算(加/减)将导致服务器负载。

在这种情况下,我正在考虑为报告创建一个单独的表格,该表格会在必要时更新(例如:当用户执行新交易时)。然后简单地读取数据并将其发送到前端。此外,如果需要,可能会进行一些处理,但所有繁重的工作都已经完成。

这两个例子可以分为两类:

  1. 实时处理
  2. 提前处理

现在,我的问题是,“我应该始终使用第二种方法吗?”我有这个问题是因为如果处理太少,那么为报告创建单独的表格只是浪费存储。所以,我可以考虑一些取舍。

现在,进入这个问题的第二部分。这部分是指我应该如何在前端处理数据更改。三种可能的方法是:

  1. 定期更改(如果数据更新不那么频繁也可以)
  2. 即时/实时更改(可能使用数据流之类的东西?)
  3. 即时/实时更改,但仅将更新(发生的新更改)而不是整个数据发送到前端

现在,谈谈我对这部分的看法。如果数据更改的频率较低,即一天一次,则可以采用第一种方法。但我仍然不知道第二个和第三个。另外,我应该使用数据流吗?谁能提供一些关于流与正常请求-响应周期有何不同的见解?我认为这可能与 websockets 或类似的东西有关,但我不知道。

PS:我目前使用 Django 作为我的后端,并计划使用 React/Vue 或类似的框架作为我的前端。 (答案将与此无关,但仅供参考)

【问题讨论】:

    标签: frontend backend dashboard data-stream web-architecture


    【解决方案1】:

    借助现代前端技术,您是使用从服务器中提取数据(定期更新)还是将数据推送到前端(即时/实时)并不重要。对于 Angular 和 React,您应该查看 Observables,在前端使用它,这两个选项的处理方式完全相同。

    在事件驱动的前端中,无论你如何获取数据,你都会编写程序来处理“当我的数据到达时,我会做 XYZ”的事件

    一般而言,最好将您的下一个问题分解为 1 或 2 个非常具体的问题。与其问一个带有“前端”、“后端”和“中间的一切”标签的非常广泛的问题,你可以问几个针对每个方面的具体问题。

    【讨论】:

      猜你喜欢
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 2021-04-05
      • 1970-01-01
      • 2012-01-21
      • 2011-04-26
      • 1970-01-01
      相关资源
      最近更新 更多