0

嘿,我注意到一些场所使用多个网关来执行不同的活动,例如一个用于订单路由的网关和另一个仅用于市场数据的网关。

这样做有什么好处?

4

2 回答 2

3

基本上,这两个角色有完全不同的要求,很容易在逻辑上分离出两个连接的处理。

  • 市场数据连接通常是非常高流量的,并且主要是单向的。由于它没有订单流量,因此大大减少了对日志的需求。如果市场数据连接出现问题,这没什么大不了的——只需重新启动它并继续交易。无论如何,您在停机期间错过的任何信息都是过时的信息。

  • 订单路由连接是时间敏感的双向流量。您需要记录几乎所有内容,以防以后需要审核。如果连接中断,您可能需要在恢复时验证您的订单和程序状态(已完成/已取消的订单等)。

在我从事的项目中,我们将有一个 MD 组件和一个 OR 组件。这两个连接允许我们将处理程序分成两组有点独立的逻辑。MD 组件将相关数据存储在一个公共位置,OR 组件将引用该位置。(这个公共位置可能是一个外部数据库,或者它可能只是一些共享内存。)MD 组件将很少或没有日志记录,而 OR 将记录所有内容。

于 2013-02-27T15:01:20.260 回答
0

无论如何,您都不想将所有事情都推过去,如果失败了,一切都会失败。首先,它为您提供稳健性,如果一个失败,其他人可以继续。您可以平衡负载,一些用户连接到一个,其他用户连接到另一个。如果出现故障,您可以轻松地重新路由用户。在我工作的地方,它们通常有一个消息总线,所有网关都将它们的消息转储到该总线上,并读取所有发往它们的消息。它使我们可以灵活地添加尽可能多的网关,而不是随心所欲,而是在需要时,或者在发生故障时切换到备用网关。

于 2013-02-28T10:18:31.820 回答