Skip to the content.

Microservice horizontal pattern

Usecase

Architecture

Microservice horizontal pattern은 여러 독립적인 모델을 병렬로 실행할 수 있습니다. 한번에 여러 모델에 예측을 요청해 여러 예측 결과나 통합된 예측 결과를 얻을 수 있습니다.
활용 사례에 따라 동기 또는 비동기 방식 중 어떤 것을 사용할지 결정할 수 있습니다. 만약 동기 방식을 사용하면, 모든 모델의 예측 결과를 집계해 반환해야 합니다. 만약 비동기 방식을 사용하면, 특정 예측(Asynchronized horizontal)이 나오면 바로 다음 작업을 실행할 수 있습니다.
클라이언트와 예측 서비스 사이에 프록시를 배치할 수도 있습니다. 프록시가 클라이언트에서 요청하는 데이터 검색 및 예측 순서를 제어하기를 기대할 수 있습니다. 프록시 또는 예측 서비스가 추가 데이터 검색을 수행하도록 할 수 있습니다(Synchronized horizontal with data retrieval). 데이터를 가져오는 프록시의 장점은 데이터웨어하우스 또는 스토리지에 대한 요청 수를 줄여 오버헤드를 줄이는 반면, 후자는 각 예측 모델에 따라 데이터 구조를 제어해 복잡한 워크플로우를 만들 수 있습니다.

Diagram

Synchronized horizontal

diagram1

Synchronized horizontal with data retrieval

diagram2

Asynchronized horizontal

diagram3

Pros

Cons

Needs consideration

Sample

https://github.com/shibuiwilliam/ml-system-in-actions/tree/main/chapter4_serving_patterns/horizontal_microservice_pattern