0

(mysql) 데이터베이스의 많은 데이터가있는 http API가있는 시스템 X를 상상해보십시오. 여러 시스템이이 데이터에 종속되지만 매우 다른 작업을 수행한다고 상상해보십시오. 일부는 하나의 데이터 세트에서 작동하며 다른 세트는 많은 양의 데이터 세트에서 작동합니다. 시스템 X의 알 수없는 세트 수에 대한 데이터 변경 사항에는주기적인 리듬이 없습니다. 매우 짧은 시간 안에 많은 수의 변경이있을 수 있습니다.다른 시스템의 변경 사항에 대해 여러 시스템에 알리는 패턴 또는 프로세스

다른 시스템은 어떻게 든 데이터 변경 사항을 인식하고 이에 따라 대응해야합니다. 모든 시스템에서 최하위 수준의 병목 현상을 막기 위해 어떤 패턴이나 프로세스를 사용하는 것이 좋습니다. 그래서 시스템 X가 다른 모든 시스템에 통지하거나 변경 사항을 가져 오는 모든 다른 시스템을 처리하기 위해 처리 할 수 ​​없도록 방지합니다. 다른 시스템이 대형 데이터 세트를 가져 오거나 시스템 X가 과부하 될 때까지 기다려야하므로 속도가 느려지지는 않습니다.

이상적으로 모든 시스템은 다른 시스템에 대해 알 필요가 없어야합니다. 특히 시스템 X는 각 시스템에 대한 특정 통지 메소드를 구현할 필요가 없습니다.

이 상황에서 관찰자 패턴을 적용 할 수 있습니까?

답변

1

다른 시스템에 대해 알아야 할 시스템이 없어야한다는 요구 사항에 따라, 나는 당신이 pub-sub 패턴으로 가야한다고 생각합니다. Observer 패턴과 어떻게 다른지 이해하려면 내 다른 응답을 참조하십시오. Is Observer pattern and pub-sub same when a database is used in the implementation?

이 시스템이 서로를 인식하지 못하면 옵서버 패턴이 작동합니다. 제목이 시스템이지만 다른 모든 시스템 (예 : 옵저버 시스템)을 알지 못하는 경우에도 옵서버 패턴도 충분해야합니다.