【问题标题】:Basic Client/Server Architecture & Interactions基本客户端/服务器架构和交互
【发布时间】:2017-12-06 22:22:41
【问题描述】:

我正在尝试实现客户端和服务器并定义它​​们的交互。客户端使用 Golang 设计,服务端使用 Node.js 设计,它们使用 gRPC 进行交互。

所以基本要点是:

  1. 客户端联系服务器以更新后端数据库
  2. 客户端收到服务器的成功响应
  3. 然后客户端本身会更改 DB 现在反映的整个系统的状态

但是说发生了一些事情,使得进程在第 2 步和第 3 步之间终止(客户端进程以某种方式终止)。确保我的后端数据库不反映与现实不一致的系统状态的最佳方法是什么?我确信这不是一个新问题,我只是想知道人们通常如何应对这种类型的设计。

所以我已经考虑过重新设计这种交互,使服务器成为处理系统变化的实体——这样所有事情都在同一个请求和后端处理——但我使用的是一种开源技术在 Go 中(所以我可以轻松地将它包装在我的 Go 客户端中)。换句话说,客户端必须是执行系统更改操作的实体。

提前致谢!

【问题讨论】:

    标签: node.js go architecture server client


    【解决方案1】:
    1. 客户端确认(响应服务器)它还更新了本地状态以与服务器同步。

    如果 4. 没有发生,则服务器回滚 1. 中完成的事务,并且 1-4 的整个操作是原子的。

    【讨论】:

      猜你喜欢
      • 2016-07-28
      • 1970-01-01
      • 2015-12-25
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-27
      相关资源
      最近更新 更多