0

更新:

本质上,而不是让服务器 A 的服务直接写入数据库或数据表。Properties让服务将值分配给业务逻辑中的一系列。这样所有的计算和数据访问都将直接在服务器 B 上完成。

可能还不清楚,服务器 A 是使用服务的客户端。


所以我有一个独特的困惑,那就是处理这个特定问题的标准方法。我目前面临使用ServiceInner Logic的选项。场景:

  • 两台服务器
  • 服务器 A:向服务器 B 推送请求。
  • 服务器 B:接受这些请求和变量并实现业务逻辑。
  • 服务器 B:无论如何都会创建关系数据访问,因此它的工作量会增加一倍。

困境是我不确定处理这个问题的标准最佳方法。我的意思是,将Server A Datamap直接连接到数据库会更好吗?还是让服务器 A 存储到属性然后让内部逻辑处理它更可行?

我问的原因显然是解决方案一会导致快速发展,但将来会遇到问题或只是性能不佳。

如:

  • 服务器 B:将持续填充数据表
  • 服务器 B:此时所有的持久性都来自它自己从数据库中检索数据。
  • 随着项目的发展,可能会使其难以重构。

这些是我最初的担忧,所以我倾向于选择二。但正如我所说,我不确定我的心态是否遵循规范或标准。

为避免这被视为辩论;

随着复杂性的增加,选项一的缺点是否会影响任何项目的流动性?选项二的实现是否更可行,因为我可以实现更好的直接访问数据访问层的通用性?

感谢您的帮助,希望我清楚地表达了自己在哪里有意义。如果不是,请发表评论,以便我进行相应的编辑。

4

1 回答 1

0

在一定程度上“取决于”。从特定功能的角度来看,任何工作都是正确的。

许多人有许多可能会限制或指导特定实现的非功能性或设计要求。例如,如果您的设计应该是面向服务 (SOA) 的,那么每个服务器都应该是自治的。这意味着他们不应该共享一个数据库(他们甚至不应该共享一个模式)。在这种情况下,面向消息通常是一个很好的模式。您可能希望查看消费者/生产者模式和面向消息的中间件(如队列或服务总线)之类的东西。在这种情况下,服务器 A 会将消息(命令)推送到服务器 B,服务器 B 将处理它。您可以使用请求/回复模式将“回复”返回给服务器 A。或者,服务器 B 可能只是向 A 发送另一条消息(事件),告诉它它已经完成了工作。

更新:

服务器 B 使用的“数据”将完全从消息中的 B 发送给它。

于 2013-03-12T17:49:52.090 回答