salsa source

Event Driven 본문

STUDY/동향

Event Driven

dayofday 2018. 3. 13. 17:40

2018년에 첫 등장한 ‘이벤트 기반’ 키워드는 향후 디지털 비즈니스에서 Real Time, 실시간의 활용이 얼마나 중요해질지 가늠할 수 있는 대목입니다. 기존 요청 기반의 모델은 속도, 유연성, 규모 등의 측면에서 한계점을 갖고 있었으나, 이벤트 기반 시스템은 IoT, 클라우드 컴퓨팅, AI 등 다양한 기술의 접목을 통해 빠르고 자동화된 프로세스가 가능합니다.은행에서 비정상적인 거래를 감지하고 경고하는 FDS(Fraud Detection System) 또한 이벤트 기반 기술 중의 하나로 볼 수 있는데요, 금융 외에도 커머스, 운송, 항공, 금융 등 다양한 분야에서 실시간으로 발생하는 이벤트를 감지하고, 디지털 상에서 자동화해 대응하려는 노력을 하고 있습니다.

 

리퀘스트 중심과 이벤트 중심의 차이 (출처 : Kamang’s IT Blog)

 

출처: <http://mi.jiransecurity.com/4099>







1.What is EDA?

 EDA(Event-driven architecture)라는 용어에 대한 정의는 약간씩 다르지만, 공통적으로 거론되는 키워드들을 중심으로 정리하면 다음과 같이 말할 수 있다.

 분산된 시스템 간에 이벤트를 생성, 발행하고 발행된 이벤트를 필요로하는 수신자에게 전송, 필요에 따라 처리하는 시스템 아키텍쳐

 따라서 EDA를 이해하려면 이벤트 대한 정의, 시스템 구성, 각 구성 요소에 대한 이해가 필요하다.

 

 

- EDA의 구성 요소

 EDA는 크게 3개의 구성 요소로 나누어 볼 수 있다.

  •  Event generator(이벤트 생성자) : 시스템 내,외부의 상태 변화를 감지하여 표준화된 형식의 이벤트를 생성
  •  Event channel (이벤트 채널) : 이벤트를 필요로 하는 시스템까지 발송
  •  Event processing engine (이벤트 처리 엔진): 수신한 이벤트를 식별, 적절한 처리를 함. 때에 따라 이벤트 처리의 결과로 또 다른 이벤트를 발생시킬 수 있음.

 앞의 예에서 판매 시스템은  Event generator, 중개자는 Event channel, 재무, 마케팅 시스템은 Event processing engine에 해당한다.

 


  

 

- Event processing styles

  수신한 이벤트를 처리하는 방법에는 세가지 종류가 있다.

  •  Simple event processing

 각각의 이벤트가 직접적으로 수행해야할 action과 매핑되어 처리 됨. 실시간으로 작업의 흐름을 처리할 때 사용되며, 이벤트 처리 시간과 비용의 손실이 적다.

  •  Event Stream Processing

 이벤트를 중요도에 따라  필터링하여 걸러진 이벤트만을 수신자에게 전송. 실시간으로 정보의 흐름을 처리할 때 사용되며, 기업에 적용될 경우 신속한 의사 결정을 가능케한다.(BAM)

  •  Complex event processing

 일상적인 이벤트의 패턴을 감지하여 더 복잡한 이벤트의 발생을 추론하는 것. 예를 들어 '주식의 등락'이라는 일상적인 이벤트의 패턴을 감지하여 '투자 적기'라는 상위의 이벤트를 추론해 낼 수 있다.

 


출처: <http://bigstory.tistory.com/entry/Event-Driven-Architecture>

 



eda개념 및 사용 예시 링크


eda와 자주 비교되는 soa soa개념  soa와eda비교


Figure 1: SOA versus EDA

Figure 2: EDA


'STUDY > 동향' 카테고리의 다른 글

블록체인 관련 기사 및 포스팅  (0) 2018.03.15
[기술동향/IT이슈] 삼성 포럼  (0) 2018.02.07
Comments