gpt4 book ai didi

.net - 关于设计和构建用于跟踪车辆的分布式应用程序的建议

转载 作者:行者123 更新时间:2023-12-04 06:54:51 25 4
gpt4 key购买 nike

我正在研究跟踪车辆的应用程序。将有大约 10,000 辆或更多车辆。每个将在每分钟发送约 250 个字节。数据包含 GPS 位置和来自 CAN 总线的所有内容(我们可以从车载计算机和仪表板读取的所有数据)。数据通过 GSM/GPRS 发送(使用 UDP 协议(protocol))。每天使用此数据的估计行数约为 2000k。

我看到有 3 个主要 block ( block -> 表示主要模块)。

1.
多线程套接字服务器 (MSS) - 我有。 MSS 将接收到的数据存储到队列中(使用 NServiceBus)。

2.
规则处理器服务器 (RPS) - 这是该系统的核心。该 block 负责解析接收到的数据,存储在数据库中,处理规则,向通知服务器发送消息(这将发送电子邮件/短信文本)。

规则示例。
正如我之前所说,接收到的字节会有关于当前速度的信息。当速度高于 120 时:在 Web 应用程序中为指定用户显示警报、发送电子邮件、发送短信。

(同一台机器上可以有多个 RPS 实例)。

3.
Web 应用程序 - 允许用户报告和定义规则、监控警报等。

我正在寻找如何设计 RPS 和 Web 应用程序之间的通信的建议。

一些问题:

  • Web 应用程序和 RPS 应该有独立的数据库还是一个中央数据库就足够了?
  • 我在 Web 应用程序中有一个域模型。如果会有一个中央数据库,那么我可以在 RPS 上使用相同的模型(对象)吗?那么,如何将更改后的规则发送到 RPS?

  • 我尝试尽可能多地解耦这些 block 。我计划为每个客户端创建不同的应用程序实例(每个客户端都有单独的数据库)。一位客户将拥有 10,000 辆汽车,其他客户只有 100 辆汽车。

    最佳答案

    您正在尝试构建一个允许其用户对其进行配置的 Multi-Tenancy SaaS 系统。为此,我不建议使用技术 block 作为顶级架构部分。相反,寻找更多面向业务的解耦线 - 这可能包括更加关注时间在您的领域中的影响。

    例如,从用户更改规则开始,需要多长时间才能生效?

    您可能会发现不同的规则有不同的生效时间。

    找出为什么。尝试了解为什么一组规则需要在 5 秒内生效(例如安全),而其他规则需要在月底生效(例如计费)背后的业务原因。

    这些信息将插入许多架构选择向前发展。

    尽管您可能会在解决方案中使用上面提到的技术组件,它们是如何配置的,它们与哪个数据库通信等等——所有这些都是由上述不同的业务环境驱动的。

    我的建议是在继续之前返回并获得更多的业务洞察力。

    关于.net - 关于设计和构建用于跟踪车辆的分布式应用程序的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2676093/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com