什么模式或过程通知多个系统有关另一个系统的变化

问题描述 投票:0回答:1

想象一个系统X带有一个带有来自(mysql)数据库的大量数据的http api。想象一下,多个系统依赖于这些数据但执行非常不同的任务。有些工作在一个数据集上,其他工作在一大堆数据集上。系统X中数据更改为未知数量的集合没有周期性节奏。在很短的时间内就会发生大量的变化。

其他系统必须以某种方式了解这些数据变化并做出相应的反应。建议采用何种模式或流程将所有系统中的瓶颈保持在最低水平。因此,您可以防止系统X无法处理以通知所有其他系统或处理尝试获取更改的所有其他系统。并防止其他系统因为需要获取大型数据集或等待系统X过载而减速。

理想情况下,所有系统都不需要了解其他系统。特别是系统X不需要为每个系统实现特定的通知方法。

观察者模式是否适用于这种情况?

database design-patterns notifications observer-pattern api-design
1个回答
1
投票

按照你的要求,没有系统不需要知道其他系统,我认为你应该去pub-sub模式。要了解它与Observer模式的不同之处,请参考我的其他回复:Is Observer pattern and pub-sub same when a database is used in the implementation?

如果您没有对系统彼此不了解的要求,则观察者模式将起作用。虽然如果可以知道主题系统,但所有其他系统(即观察者系统)彼此不知道,那么即使是观察者模式也应该足够好

© www.soinside.com 2019 - 2024. All rights reserved.