【问题标题】:Update Linux config files when a user applies changes from a front-end当用户从前端应用更改时更新 Linux 配置文件
【发布时间】:2021-07-19 00:03:35
【问题描述】:

首先,我是系统专家,根本不是开发人员。因此,如果有任何不清楚甚至愚蠢的地方,我深表歉意。

我在 VPS 上配置了云网络服务,它可以工作。它基于 Linux 经典包,通过系统 .config 文件进行配置。稍后我将其称为后端。

现在,希望提供通过 Web 前端自定义后端配置的可能性。我没有开始编写代码,但我会在 react 中编写代码(使用 mysql 或 pgsql db)。

当客户在其面板/前端修改某些内容时,必须将更改传播到后端配置文件。

为此,我正在考虑:

  1. 从后端:观察数据库事件并更新文件 结果(我目前的偏好)

  2. 来自数据库:使用存储过程调用 Web 服务或 会更新后端文件的东西。

  3. 从前端:调用一个rest api来更新后端文件。 (我不赞成这个,因为它应该是同步的,我必须跟踪变化。所以我认为最好使用数据库)

您如何看待这些解决方案?还有其他更好的解决方案吗(我猜有)?

目前,所有这些(前端、后端、db)都将位于同一台服务器上,但出于安全和设计目的,它们不会在可预见的未来出现(至少后端和 db不会)。

非常感谢你的帮助,因为我有点迷路了。

最好的问候,

烷基

编辑:标题

【问题讨论】:

    标签: database architecture system


    【解决方案1】:

    当你说“你不赞成同步风格”时,我喜欢你的思维方式。 我也喜欢你的未来主义想法,即其中一些系统不会在同一台服务器上,这意味着它将是分布式的。

    这个问题的答案在于你的问题解释本身。 我们可以简化您的这个解决方案,发布您不需要数据库组件的帖子。

    解决方案是使用异步方式从前端调用服务。

    1. 前端将生成一条消息(包含要调用的服务名称以及输入 - 只不过是配置键名称和为其存储的配置值)。
    2. 此消息被发送到消息基础结构(将消息保留特定的持续时间)。这避免了存储在数据库中,也避免了编写存储过程来调用 web 服务。此外,如果 DB 存在,这将再次变为同步样式,如果 DB 关闭,前端将无法工作,因此新值将丢失并且不会保存到配置文件中。
    3. Receiver 轮询消息基础架构以获取任何新消息,并使用正确的参数调用相应的服务(使用 REST 或 gRPC 实现)。
    4. 关联的服务被调用,并将新的配置值存储在配置文件中。

    【讨论】:

      猜你喜欢
      • 2016-08-23
      • 2018-02-09
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      相关资源
      最近更新 更多