什么模式或过程通知多个系统有关另一个系统的变化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么模式或过程通知多个系统有关另一个系统的变化相关的知识,希望对你有一定的参考价值。
想象一个系统X带有一个带有来自(mysql)数据库的大量数据的http api。想象一下,多个系统依赖于这些数据但执行非常不同的任务。有些工作在一个数据集上,其他工作在一大堆数据集上。系统X中数据更改为未知数量的集合没有周期性节奏。在很短的时间内就会发生大量的变化。
其他系统必须以某种方式了解这些数据变化并做出相应的反应。建议采用何种模式或流程将所有系统中的瓶颈保持在最低水平。因此,您可以防止系统X无法处理以通知所有其他系统或处理尝试获取更改的所有其他系统。并防止其他系统因为需要获取大型数据集或等待系统X过载而减速。
理想情况下,所有系统都不需要了解其他系统。特别是系统X不需要为每个系统实现特定的通知方法。
观察者模式是否适用于这种情况?
答案
按照你的要求,没有系统不需要知道其他系统,我认为你应该去pub-sub模式。要了解它与Observer模式的不同之处,请参考我的其他回复:Is Observer pattern and pub-sub same when a database is used in the implementation?
如果您没有对系统彼此不了解的要求,则观察者模式将起作用。虽然如果可以知道主题系统,但所有其他系统(即观察者系统)彼此不知道,那么即使是观察者模式也应该足够好
以上是关于什么模式或过程通知多个系统有关另一个系统的变化的主要内容,如果未能解决你的问题,请参考以下文章