로그인 / 등록 Account

통합

이벤트 기반 아키텍처란 무엇일까요?

이벤트 기반 아키텍처는 애플리케이션 설계를 위한 소프트웨어 아키텍처 및 모델입니다. 이벤트 기반 시스템에서 이벤트 캡처, 커뮤니케이션, 처리 및 지속성은 솔루션의 핵심 구조입니다. 이는 전통적인 요청 기반 모델과는 다릅니다.

현대적인 애플리케이션 설계는 많은 수가 이벤트를 기반으로 합니다. 이벤트 기반은 언어가 아닌 프로그래밍 방식이므로 이벤트 기반 애플리케이션은 모든 프로그래밍 언어로 구축될 수 있습니다. 이벤트 기반 아키텍처는 최소한의 결합을 지원하므로 현대적인 분산형 애플리케이션 아키텍처에 적합한 방법입니다.

이벤트 생성자는 어떤 이벤트 소비자가 이벤트를 수신하고 있는지 알지 못하고 이벤트에서 어떤 결과가 생기는지 알지 못하므로 이벤트 기반 아키텍처는 탄력적으로 결합되어 있습니다.


이벤트란?

이벤트란 시스템 하드웨어 또는 소프트웨어 상태의 변화 또는 중대 사건의 발생을 의미합니다. 이벤트는 시스템의 다른 부분에 이벤트가 발생했음을 알리기 위해 해당 시스템에서 보내는 메시지 또는 알림을 뜻하는 이벤트 알림과는 다릅니다.

이벤트 소스는 내부 입력 또는 외부 입력일 수 있습니다. 이벤트는 마우스 클릭이나 키보드 입력과 같은 사용자 또는 센서 출력과 같은 외부 소스에서 생성되거나 프로그램 로딩과 같이 시스템에서 비롯될 수 있습니다.


이벤트 기반 아키텍처는 어떻게 작동하나요?

이벤트 기반 아키텍처는 이벤트 생성자와 이벤트 소비자로 구성되어 있습니다. 이벤트 생성자는 이벤트를 감지하며 메시지로 해당 이벤트를 나타냅니다. 생성자는 이벤트 소비자 또는 이벤트 결과를 알지 못합니다.

이벤트가 감지된 후에는 이벤트 처리 플랫폼이 이벤트를 비동기식으로 처리하는 이벤트 채널을 통해 해당 이벤트 생성자에서 이벤트 소비자로 전송됩니다. 이벤트 발생 시 이벤트 소비자는 알림을 받아야 하며, 이벤트를 처리할 수도 있고 이벤트의 영향을 받기만 할 수도 있습니다.

이벤트 처리 플랫폼은 올바른 응답을 실행하고 적합한 소비자에게 활동을 다운스트림으로 전송합니다. 이러한 다운스트림 활동은 이벤트 결과가 나타나는 위치입니다.

Apache Kafka는 많이 사용되는 이벤트 처리 방식인 분산형 데이터 스트리밍 플랫폼으로, 이벤트 스트림 게시, 구독, 저장 및 처리를 실시간으로 수행할 수 있습니다. Apache Kafka는 높은 처리량과 확장성이 필요한 다양한 활용 사례를 지원하며, 특정 애플리케이션에서 데이터 공유를 위한 포인트 투 포인트(point-to-point) 통합의 필요성을 최소화하므로 지연 시간을 밀리초 단위로 줄일 수 있습니다.

이벤트 처리 플랫폼으로 활용할 수 있는 다른 미들웨어 이벤트 관리자도 있습니다.


이벤트 기반 아키텍처 모델

이벤트 기반 아키텍처는 게시/구독(pub/sub) 모델 또는 이벤트 스트림 모델을 기반으로 할 수 있습니다.

게시/구독 모델

이벤트 스트림 구독 기반의 메시징 인프라입니다. 이 모델을 사용하면 이벤트 발생 후 또는 게시 후에 알림을 받아야 하는 구독자에게 이벤트가 전송됩니다.

이벤트 스트리밍 모델

이벤트 스트리밍 모델을 사용하면 이벤트가 로그에 기록됩니다. 이벤트 소비자는 이벤트 스트림을 구독하지 않습니다. 그 대신 스트림의 모든 부분에서 읽기가 가능하며 언제든지 스트림에 참여할 수 있습니다.

이벤트 스트리밍에는 몇 가지의 다른 유형이 있습니다.

  • 이벤트 스트림 처리는 Apache Kafka와 같은 데이터 스트리밍 플랫폼을 사용하여 이벤트를 수집하고 이벤트 스트림을 처리하거나 변환합니다. 이벤트 스트림 처리는 이벤트 스트림에서 의미 있는 패턴을 감지하는데 사용할 수 있습니다.
  • 단순 이벤트 처리는 이벤트가 이벤트 소비자에게 즉각적으로 동작을 트리거하는 경우입니다.
  • 복합 이벤트 처리는 이벤트 소비자가 패턴을 감지하기 위해 일련의 이벤트를 처리하도록 합니다.

이벤트 기반 아키텍처의 이점

이벤트 기반 아키텍처는 조직이 실시간으로 변화에 대응하여 의사 결정을 내릴 수 있는 유연한 시스템을 확보할 수 있도록 지원합니다. 실시간 상황 인식은 시스템의 현재 상태를 반영하는 모든 가용 데이터를 사용하여 수동 또는 자동으로 비즈니스 결정을 내릴 수 있음을 의미합니다.

이벤트가 사물 인터넷(IoT) 기기, 애플리케이션 및 네트워크와 같은 이벤트 소스에서 발생하는 경우 캡처되므로 이벤트 생성자 및 이벤트 소비자가 실시간으로 상태 및 응답 정보를 공유할 수 있습니다.

조직은 이벤트 기반 아키텍처를 시스템 및 애플리케이션에 추가하여 애플리케이션의 확장성 및 응답성과 더 나은 비즈니스 의사 결정에 필요한 데이터 및 컨텍스트에 대한 액세스를 개선할 수 있습니다.


왜 애자일 통합에 Red Hat을 선택해야 할까요?

애자일 및 DevOps 방법론을 통해 개발되어 탄력적으로 결합된 이벤트 기반의 클라우드 네이티브 애플리케이션 아키텍처는 민첩성과 확장성을 동등하게 중요시하는 통합 접근 방식을 필요로 합니다.

Red Hat의 애자일 통합은 리소스를 연결하는 접근 방식으로, 통합 기술, 애자일 제공 기술 및 클라우드 네이티브 플랫폼을 결합하여 소프트웨어 제공 속도를 높이고 보안을 강화합니다.

Red Hat은 하이브리드 클라우드 환경 전반에서 레거시 기술과 마이크로서비스를 신속히 연결하는 통합 플랫폼과 관리 소프트웨어를 제공하고 애자일 통합을 통해 이벤트 기반 아키텍처를 지원합니다.

Red Hat의 통합 솔루션

Red Hat Fuse logo

Red Hat Fuse는 독립 실행형, 클라우드 및 iPaaS 배포 옵션을 사용하는 분산형 통합 플랫폼입니다. Fuse를 사용하면 통합 전문가, 애플리케이션 개발자, 비즈니스 사용자가 선택한 환경에서 연결된 솔루션을 독립적으로 개발할 수 있습니다. 사용자는 이러한 통합 플랫폼을 통해서 협업하고, 셀프 서비스 기능에 액세스하며, 거버넌스를 시행합니다.

Red Hat AMQ

Apache ActiveMQ 및 Apache Kafka와 같은 오픈소스 커뮤니티를 기반으로 한 Red Hat® AMQ는 유연한 메시징 플랫폼으로, 실시간 통합 지원 및 사물 인터넷(Internet of Things, IoT) 연결을 구현하여 정보를 안정적으로 제공합니다.

Red Hat이 지원하는 통합 기능을 더 살펴 보세요