오픈 소스 리버스 Ajax 라이브러리: 이벤트 주도 웹 개발

출처: 인터넷
작성자: 사용자
키워드: 오픈 소스 Ajax 이벤트-구동

기사의이 시리즈에서는 리버스 Ajax http://www.aliyun.com/zixun/aggregation/7332.html를 사용 하는 방법을 "> 이벤트 기반 웹 프로그램을 개발 하는 기술." 1 부분 reverse Ajax, 폴링, 스트리밍, 혜성, 그리고 긴 폴링에 설명 합니다. 2 부 WebSocket을 사용 하는 방법을 설명 하 고 혜성 WebSocket을 사용 하는 웹 서버의 한계에 설명 합니다. 3 부분 자신의 혜성 또는 WebSocket 통신 시스템을 구현 하는 여러 서버를 지원 하거나 자신의 서버에 사용자가 배포할 수 있는 독립 실행형 웹 응용 프로그램을 제공 해야 할 때에 발생할 수 있습니다 어려움의 일부를 탐구 합니다. 제 3 부에는 Socket.io 설명합니다. 제 4 부 분위기와 cometd, 자바 서버에 대 한 가장 유명한 오픈 소스 리버스 Ajax 라이브러리를 소개 합니다.

이전에 이벤트에서 구성 요소를 만드는 방법을 배웠습니다. 이 시리즈의 마지막 부 금에서 이벤트 기반 개발 원리를 적용 하 고 이벤트 기반 웹 응용 프로그램의 예로 만들어집니다.

필수 구성 요소

이상적으로,이 글의 대부분을 확인 하려는 경우 JavaScript와 Java에 대해 알고 있어야 합니다. 이 문서에서는 예제를 실행 하려면 Maven 및 JDK의 최신 버전을 사용 해야 합니다.

이용 약관

당신은 이벤트 중심 아키텍처 (EDA), Eventbus 시스템, 메시징 시스템, 복잡 한 이벤트 처리 (CEP) 및 채널에 잘 알고 있을 수 있습니다. 이러한 용어와 개념은 몇 년 동안 존재 했습니다. 기술 성숙, 당신은 더 그들에 대해 듣고 있습니다. 이러한 개념을 간략하게이 섹션에서 설명 합니다.

무슨

이벤트 시스템에서 발생합니다. 이벤트는 일반적으로 날짜 (타임 스탬프), 같은 속성을가지고 소스 또는 위치 (구성 우리가 클릭) 및 일부 이벤트 설명 데이터. 시스템에 따라 이벤트는 다른 속성을 가질 수도 있습니다.


이벤트 처리 아키텍처 (EDA) 이벤트 기반 프로그래밍, 응용 프로그램 통신 하 고 이벤트를 수신 하 여 작업을 수행 하는 구성 요소를 포함 하는 건축 디자인 패턴 또한 알려져 있다. 자바 스윙 그래픽 사용자 인터페이스 (GUI)는 EDA의 예입니다. 각 스윙 구성 요소는 수신 이벤트, 반응, 다른 이벤트를 보내는 등의 작업을 수행 하 고 등 수 있습니다. EDA 여러 구성 요소로 구성 됩니다: 이벤트 발생기, 이벤트 소비자, 이벤트 및 처리 소프트웨어. 이벤트 작성자:이 구성 요소는 이벤트를 내보내는 데 사용 됩니다. 이 문서의 예제에서 폼 제출 버튼 이벤트 작성기입니다. 이벤트 소비자:이 구성 요소는 특정 이벤트를 수신 하는 데 사용 됩니다. 예를 들어 양식 제출 등 브라우저는 서버에 양식 데이터를 보낼 양식 제출 버튼에 클릭 이벤트를 수신 합니다. 이벤트 처리 소프트웨어: 이벤트 작성자 게시 이벤트 및 이벤트 소비자 스스로 이벤트를 받도록 등록 시스템 커널입니다. 소프트웨어에 따라 과정 (단순히 생성 된 이벤트 소비자에 게 전달)을 간단할 수 있다 또는 (CEP) 등 복잡 한 될 수 있습니다. CEP를 사용 하면 소프트웨어는 다양 한 이벤트 집계, 필터링, 변환 등 처리 방법 지원 합니다.

에 스퍼 같은 소프트웨어입니다. 이벤트 처리 소프트웨어는 독립적으로 실행 되는 응용 프로그램 뿐만 아니라 응용 프로그램에서 통합된 라이브러리 수 있습니다.

메시징 시스템 이벤트 구동 응용 프로그램 있는 이벤트 발생기 채널에 메시지를 게시 하 고 채널 구독 이벤트 소비자. 이벤트 생성자와 완전히 독립적인 소비자 사이의 링크가입니다. 이 이벤트 기반 응용 프로그램에서 메시지는 일반적으로 용어, 하지 이벤트.


채널 메시징 시스템에서에서 이벤트를 분류 하는 방법입니다. 채널 대상을 이벤트 생성자 보낼 수 이벤트를 예상 하는 어디를 나타냅니다. 예를 들어 대화방 응용 프로그램 채널 수/chatapplication/채팅방/asdrt678 수 있습니다. 이 채널 대화방 이벤트 생성기 메시지를 보낼 수 및 그래픽 구성 요소는 새로 도착된 한 메시지를 표시 하려면 채팅 룸에 가입 수를 식별 합니다.

일부 메시징 시스템은 두 개의 채널을 제공: 큐 및 주제.

큐: 큐로 메시지를 보내면 이벤트가 하나만 소비자 고 수 있습니다 받을 그것을 처리. 다른 사용자가 그것을 볼 수 없습니다. 큐는 메시지 배달을 보장 하기 위해 지속 될 수 있습니다. 큐의 가장 좋은 예는 메일 요청 수 있습니다. 사용자 등록, 웹 응용 프로그램에 큐/myapp/메일/사용자-등록 메시지를 게시 합니다. 여러 메일 응용 프로그램 큐를 구독할 수 있습니다. 경우에, 메시지가 손실 되지 않습니다. 주제: 주제, 메시지 전달 될 때 각 구독자 관련 메시지를 받습니다. 주제는 일반적으로 영구. 소프트웨어는 / 이벤트/시스템/cpu/사용, 1 개의 발전기는 주기적으로 CPU 사용 전송 모니터링에 대 한 주제 중 하나입니다. 다른 한편으로, 많은 가입자 수 또는 있을 수 있습니다 아무 가입자, 가입자의 관심에 따라. 게시/구독 이벤트 기반 솔루션 게시/구독 모드를 구현합니다. 이벤트 생성기 처리 소프트웨어에서 이벤트를 게시 하 고 구독을 통해 이벤트를 수신 하는 이벤트 소비자. 이벤트 소비자 가입 방법은 소프트웨어에 따라 다릅니다. 이벤트 소비자는 채널에 구독할 수 있습니다 메시징 응용 프로그램에서 (예를 들어 또한에 적용할 수 있습니다 필터 규칙 이벤트 유형). (에 스퍼) 같은 CEP를 사용 하면 당신에 게 관심의 이벤트를 정의 하는 구독을 구현 하는 SQL 클래스 요청을 사용할 수 있습니다.


이벤트 기반 솔루션을 사용 하는 이유

전통적인 통신 시나리오에서 시스템 A 시스템 B에서 정보를 요구 하는 경우 그것은 요청을 보내면 시스템 2. 시스템 B는 요청을 처리할 것입니다 그리고 시스템 A는 응답을 기다리는 것 이다. 처리가 완료 되 면 응답 시스템 A.로 다시 전송 됩니다. 동기 통신 모드에서 그것 응답 기다리는 동안 처리 시간을 낭비 하기 때문에 리소스 사용 덜 효율적입니다.

비동기 모드에서 시스템 A 시스템 b.에서 원하는 정보를 구독 시스템 A 시스템 B, 알림을 보내도록 다음 수 또는 시스템 수는 동안 정보 즉시 반환할 수 다른 트랜잭션을 처리. 이 단계는 선택 사항입니다. 이벤트 구동 응용 프로그램에 당신은 일반적으로 필요가 없습니다 다른 시스템 이벤트 이러한 이벤트는 모르기 때문에 보낼 요청. 시스템 B는 응답 게시, 시스템 A 응답 즉시 수신 합니다.

이벤트 기반 아키텍처의 이점 중 하나는 더 나은 확장성을 허용 한다입니다. 확장성 요구, 볼륨, 및 강도에 변화에 적응 하는 동안 목표를 달성 하는 시스템의 기능입니다. 일시 중지 시간을 제거 하 여 이벤트 기반 아키텍처는 더 나은 성능과 더 높은 처리 비율.

또 다른 장점은 응용 프로그램 개발 및 유지 보수입니다. 이벤트 기반 솔루션을 사용 하면 각 응용 프로그램 구성 요소 결합을 제거 하 고 완전히 독립적일 수 있습니다.

감소 통신 대기 시간으로 인해 이벤트 기반 솔루션은 시간의 짧은 기간 내에 응답할 수 있습니다.

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.