SlideShare a Scribd company logo
1 of 14
Smart Push 를 위한 MQ Telemetry 소개
Middleware, IBM
모바일 메시징을 위한 프로토콜 필요
• HTTP 는 인터넷 확산의 핵심 동력, 그러나
– 단순한 request/response 메시징 모델
– 무선을 위해 고려되지 않았음. QoS 지원 없음
– 모바일 네트워크에서 속도 및 신뢰도 저하
– Polling 의 사용으로 인한 배터리 및 성능 문제
• 모바일 메시징의 도전과제
– 경량성 : 디바이스 및 모바일 앱 등의 제한된 연산 환경에서 실행
– 보편성 : 센서, 장치, 스마트 기기, 일반 컴퓨터에서도 동작
– 안정성 : 무선 네트워크의 낮은 전송 품질을 극복
– 신뢰성 : 유실이나 중복이 허용되지 않는 업무 영역에도 가능
– 유연성 : 사물/앱 – 컴퓨터간 양방향 통신을 지원
– 신속성 : 오버헤드나 지연없이 빠르게 통신
HTTP IS NOT ENOUGH
MQTT: Smarter Planet 프로토콜
많은 것들을 연결하는 Publish & Subscribe 통신
컴퓨터가 아닌 작고 가벼운 것들에서 동작
예측할 수 없는 네트워크를 극복하는 신뢰성
MQTT: Smarter Planet 프로토콜
MQTT(MQ Telemetry Transport)는 다음의 취지에 기반하여 설계:
• 양방향 N:N 통신을 지원하는 Publish/Subscribe 방식의 메시징 패러다임
• 실제 적용에 있어 모든 측면의 자원 사용을 최소화
• 취약한 네트워크 상의 예측할 수 없는 문제들을 극복
• 잦은 단절, 낮은 대역폭, 높은 지체시간(Latency), 디바이스의 계속적인 이동
• 클라이언트 앱이 매우 제한된 자원을 가질 것을 고려하여 설계
• 컴퓨터가 아닌 장치 환경: 센서, 구동기, RFID 리더, 모바일 디바이스, 스마트폰
• 신뢰성 있는 메시징을 위한 수준별 QoS(Quality of Service) 제공
• 소프트웨어나 디바이스 제조사가 프로토콜을 쉽게 응용할 수 있도록 공개
MQTT 프로토콜: SCADA와 같은 장치 통합 프로토콜에서 유래하여 제약이 많은
네트워크 환경에서 요구되는 기능과 안정성을 최소의 자원을 달성하도록 설계
근래에 와서는 기업의 핵심 역량으로 부상 중인 모바일 영역에 적합한 통신 기술
MQTT: 주요 특징 1
• 발표 후 10년 이상 유지/발전: 검증된 센서/장치 + 모바일 기기 프로토콜
• MQTT 프로토콜 스펙은 오픈 소스로 공개
• www.mqtt.org
• 2012년 Eclipse 오픈소스 M2M Working Group 내 M2M 프로젝트(Paho)에 MQTT 클라이언트 라이
브러리 제공
• 단순하고 미니멀한 Pub/Sub 메시징 체제
• 기업 경계 밖의 Edge 네트워크 장치와 기업 내의 백엔드 애플리케이션 간 메시지 교환에 적합
• 간편한 메시징을 위한 직관적 verb set(connect/disconnect publish/subscribe) 제공
• 오버헤드를 최소화한 메시지 포맷
• 프로토콜 관련 부분은 비트 단위의 가변 길이 필드로 이루어진 헤더로 표현됨
• 가장 작은 메시지 헤더 사이즈는 2 byte
• 단순 byte 배열 메시지로 송수신하며 별도 애플리케이션 헤더를 필요로 하지 않음
MQTT: 주요 특징 2
• Pub/Sub에 있어서 세 가지 메시징 신뢰성을 위한 QoS 레벨 제공:
• 반드시 전달되어야 하는 중요 메시지에 대한 전달 보장
• 0 – 메시지가 최대 1번 전달, 유실 가능성 있음
• 1 – 메시지가 최소 1번 전달, 중복 전달 가능성 있음
• 2 – 메시지가 단 한 번, 중복 없이 정합성 있게 전달
• 클라이언트와 서버 간의 연결을 잃었을 때 이를 보정하기 위한 자체 기능:
• Last will and testament: 클라이언트가 예고 없이 연결을 잃을 경우 이벤트가 서버에서 발생,
서버 측에서 연결의 유실 여부를 인지
• Durable subscription: 서버에 클라이언트의 구독(subscription) 정보 저장됨,
세션 종료 후 재접속 시에도 재작업 없이 Pub/Sub 유지
• Clean session 기능: 연결 해제 후 다시 연결되었을 때의 이전 세션 유지/삭제 선택
MQTT: Public Push 의 제약 해결
Google GCM Apple APNS MQ Telemetry
양방향 통신
불가:
Push만 가능
불가:
Push만 가능
지원:
양방향(Push/Push)
컨텐츠 텍스트: 최대 4KB 텍스트: 최대 4KB
모든 데이터 유형 지원: 최대
256MB
서비스 수준 준수
(SLA) QoS 전송시
간(Latency)
미지원:
전송 보장/확인 메커니즘
미제공 일관적이지 않은 전송 시
간
미지원:
가장 최근 메시지 한 건만 저장 일
관적이지 않은 전송 시간
지원: 전송 보장/확인 메커니즘에 대
한 전적인 조절/제어권 확보
보안
네트워크 구간에 대해서는 제공
Google 서버에서 평문화됨
이용자가 제어할 수 없음
네트워크 구간에 대해서는 제공
APNS 서버에서 평문화됨
이용자가 제어할 수 없음
서드파티 개입이 없으므로 고도의 보
안성 확보: 양방향(서버/클라이언트)
인증, 구간 암호화
Pub/Sub 메시징
지원
미지원:
Push 수신자들에 대해 개별적으로
송신해야 함, 최대 1K 수신자에 대
한 동시 송신
미지원:
Push 수신자들에 대해 개별적으로
송신해야 함, 최대 연결 당 2K 동
시 송신
지원: 매우 많은 수(수십만, 수백만)의
동시 사용자에 대한 메시지 발행
지원 플랫폼
Android iOS, Mac OS X
Android, iOS 등의 모바일 플랫폼과
대부분의 서버 플랫폼 및 개발 환경
지원
MQTT 기반의 Smart Push 는 제한된 모바일 환경에서 최소의 자원만으로 기존 퍼블릭 Push 서비스의 제약 없이 양
방향 메시지 전송을 위한 풍부한 기능을 구현하도록 돕습니다.
MQ Telemetry: 대규모 연결을 위한 MQTT 서버
업계 표준의 검증된 메시징 솔루션 MQ 에 기반한 MQ Telemetry 서버는 대규모 기업 환경에서의 Push Service 를 위
한 성능과 신뢰성을 제공합니다.
사실 상 업계 표준인 입증된 메시징 인프라
어떤 상황에서도 데이터 전달을 보증하는 고수준의 안정성
대규모 기업 환경을 지원하는 높은 메시징 성능
엔터프라이즈 수준의 보안성 제공
IBM MQMQ Telemetry
WebSphere MQ의 안정성/성능에 기반
인스턴스 당 수십 만 이상의 동시 연결 유지
초 당 수천 건 이상의 메시징 성능
용이한 백엔드 연계 및 확장
MQTT
클라이언트 1
MQTT
클라이언트 2
MQTT
클라이언트
n
MQTT 서버
WebSphere MQ
v7.1 큐 관리자
WebSphere MQ
큐 관리자
MQ
Telemetry
(MQXR)
MQ
Pub/Sub
InfraMQTT
채널
MQTT
클라이언트
MQTT
클라이언트
MQTT
클라이언트
기업 내
기간 업무
WebSphere MQ Telemetry와 서버/클라이언트 앱 연계
모바일 애플리케이션
MQTT 클라이언트
라이브러리
애플리케이션
UI/로직
서버 애플리케이션
MQTT
클라이언트
라이브러리
애플리케이션
UI/로직
MQ/JMS
라이브러리
MQTT 서버
WebSphere MQ
v7.1 큐 관리자
WebSphere MQ
큐 관리자
MQ
Telemetry
(MQXR)
MQ
Pub/Sub
InfraMQTT
채널
MQ/
JMS
API
통신을 위해 MQTT 클라이
언트 라이브러리 또는 기존
의 MQ/JMS 라이브러리를
통해 MQTT 서버에 메시지
송신(Publish)
단말 앱이 MQTT 서버와 통
신하기 위해 통신 부분은
MQTT 클라이언트로 개발
WebSphere MQ 큐관리자 구
성 및 MQ Telemetry 서비스
설정 후, MQTT 채널을 할당
MQ Telemetry - 보안
MQTT 서버
WebSphere MQ
v7.1 큐 관리자
WebSphere MQ
큐 관리자
MQ
Telemetry
(MQXR)
MQ
Pub/Sub
Infra
MQTT
채널
외부 MQTT
클라이언트
외부 MQTT
클라이언트
외부 MQTT
클라이언트
내부 업무
MQ 앱
내부 MQTT
클라이언트
SSL
데이터 기밀성
참여자 인증
부인 방지
데이터 정합성
JAAS
패스워드 기반
참여자 인증
WMQ
WMQ 기반의
보안 서브시스템
OAM*
Topic, Queue 별
사용자/그룹 별
접근 제어
OAM*
대단위 사용자에
대한 일괄 보안
프로필 적용
SSL
*WebSphere MQ에 포함된 권한부여 체제로 Object Authority Manager의 약자임
IBM에서 구현한 엔터프라이즈용 MQTT 서버 기능이 WebSphere MQ 에 포함되어 있으며 기업
내부로 유통되는 MQTT 접근에 대한 보안성을 제공
MQ Telemetry > 다수 고객 대상 메시지 Push
MQTT는 불특정 다수의 수신자들을 대상으로 한 브로드캐스팅을 위해 Publish/Subscribe(발행/구독) 유형의
메시징 기술을 내장하고 있습니다. 이 기능을 통해 대상을 구체적으로 명시하지 않고도 다수 고객에게 광고
(마케팅) 형태의 Push 메시지를 손쉽게 전달할 수 있습니다
모바일
기기 3
모바일
기기 2
MQTelemetry
MQTT
Channel
모바일 기기 1
모바일 앱
(구독자)
WMQ
Server-side
Publisher
MQ
Pub/Sub
인프라
(브로커)
MQTT
서버
브로드캐스트
유형 Push
이벤트
2. 발행:
‘고객사/마케팅’
0. MQTelemetry에 연결
1. ‘고객사/마케팅’에 구독(Subscribe)
3. ‘고객사/마케팅’ 메시지 전달
Pub/Su
b 정보
• 메시지 발행자(Publisher)들은 자신이 발행하는 메시지가 가는 다수의 목적지를 알 필요가 없이
단순히 토픽(e.g. /HLI/Promotion)만 설정하고
• 메시지 구독자(Subscriber)들은 자신이 구독할 메시지의 토픽에 대해 Broker에 대해 구독 신청만
하여 발행자가 어디 있는지 알 필요가 없으며
• Pub/Sub Broker가 Pub/Sub 정보를 토대로 메시지를 중재 역할을 수행하는
• 고도의 Loosely Coupled 메시징 스타일
‘고객사/마케팅’에 구독
MQ Telemetry > 특정 고객 대상 메시지 Push
MQTT는 Pub/Sub을 통해 특정 사용자에게 메시지를 송수신하도록 합니다. 특정 사용자가 구독하는 토픽 등
은 MQTelemetrydml Pub/Sub 인프라를 통해 내부적으로 관리되며 관리자 관점에서는 특정 사용자가 어느
네트워크에 위치하고 있는지의 저수준의 정보는 필요 없이 단지 사용자가 구독한 토픽에 대해 메시지를 생성
/송신하면 됩니다.
• Subscriber는 자신의 고유한 값(서비스번호 또는 MQTT Client ID)을 토대로 메시지 구독
• Publisher는 클라이언트의 고유한 값을 토픽으로 하는 메시지를 발행
• 결과적으로 특정 디바이스만 자신의 고유한 값을 토픽으로 하는 메시지를 전달받음
• 이때 Publisher는 특정 Subscriber의 물리적인 위치나 상태를 신경 쓰지 않음
• 대신 연결이 가용한 경우 Broker 서비스가 특정 디바이스에게 해당 메시지 전달
모바일
기기 3
모바일
기기 2
MQTelemetry
MQTT
Channel
모바일 기기 1
모바일 앱
(Subscriber)
고객#001
WMQ
Server-side
Publisher
MQ
Pub/Sub
인프라
(브로커)
MQTT
서버
특정 사용자
이벤트
2. 송신:
‘고객#001/이벤트’
0. MQTT Channel로 연결
1. ‘고객#001/#’에 구독(Subscribe)
3. ‘고객#001/이벤트’ 메시지 전달
Pub/Sub
정보
고객 별 정보
MQ Telemetry Performance Report
• QoS=0 상황에서 100,000 개의 동시 연결에 대해 초당 약 6,500 건의 메시지 전송, CPU 24% 정도 사용
• QoS=1 상황에서 100,000 개의 동시 연결에 대해 초당 약 4,000 건의 메시지 전송, CPU 17% 정도 사용
• QoS=2 상황에서 100,000 개의 동시 연결에 대해 초당 약 4,000 건의 메시지 전송, CPU 28% 정도 사용
테스트 시스템 사양:
IBM xSeries 3850
4 x 4-core 2.93GHz Intel Xeon
32 GB of RAM
Redhat 5.4 (kernel 2.6.18)
10Gbit Ethernet Adapter
MQ Telemetry V7.5
MQTelemetry의 성능에 대해 IBM에서 공식적인 성능 측정 자료를 제공하고 있습니다. 성능 리포트 자료를 통
해 256 bytes 메시지, 테스트 시스템을 기준으로 단일 서버 인스턴스에서 각 메시징 QoS 별 MQTT 클라이언
트 연결과, 초당 송신 메시지 수, 시스템 CPU 사용률을 확인할 수 있습니다
MQ/MQ Telemetry 주요 사례
IBM MQ Telemetry는 부산은행, 롯데카드, KT 파워텔 등의 국내 고객사에 모바일 푸쉬 서버로 적용되어 안정
성 및 신뢰성을 인정받고 있으며, 그 기반이 되는 IBM MQ 솔루션은 대한항공, 농협, 한화증권, KT, 우리카드,
등의 대규모 고객사에서 이미 그 성능 및 우수성을 인정받은 업계 최고의 메시징 솔루션입니다.
다양한 WW MQTT 사례
SMS 대체로 60% 비용 절감
개인화 마케팅 메시지 전송
실시간 경기 정보 전송
Connected Car 플랫폼
SMS 기반 상황판의 성능 및 확장성 이슈
7,000 개 역을 대상으로 일 200,000 전송
40,000 이상 사용자 대상으로 푸시 메
시지 전송
개인화 상품 안내 및 트랜잭션 메시지
동시 30,000 이상 사용자 대상 서비스
로딩시간 60% 이상 단축, 1초 미만 응답
시간 달성
운전자 경험 수집 및 개인화 서비스 제
공, 모바일 장치 기반 차량 제어
클라우드와 연계된 스마트폰, 태블릿 등
을 통하여 개인화된 맞춤 서비스 제공
MQTelemetry 국내 사례
단지 Push 방향만 아니라 양방향 통신이 동일한 채널에서 가
능하게 되어 Push 메시지 이후 사용자/고객에 대한 유연성 및
사용자 참여도를 비약적으로 높일 수 있음
•이를 위한 별도의 메시징 인프라가 아닌 공통의 메시징 솔루
션을 통해 구성하게 되어 관리 효율성 증대 및 표준화에 용이
European
Bank

More Related Content

What's hot

Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성
Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성
Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성Yoonjeong Kwon
 
자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰Woojin Joe
 
Python으로 채팅 구현하기
Python으로 채팅 구현하기Python으로 채팅 구현하기
Python으로 채팅 구현하기Tae Young Lee
 
[20160620]CCTV 구현 자료
[20160620]CCTV 구현 자료[20160620]CCTV 구현 자료
[20160620]CCTV 구현 자료Kyunghee Univ
 
[242]open stack neutron dataplane 구현
[242]open stack neutron   dataplane 구현[242]open stack neutron   dataplane 구현
[242]open stack neutron dataplane 구현NAVER D2
 
resource on openstack
 resource on openstack resource on openstack
resource on openstackjieun kim
 
Network 초보자를 위한 Netty
Network 초보자를 위한 NettyNetwork 초보자를 위한 Netty
Network 초보자를 위한 NettyChoulhyouc Lee
 
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지Kyunghee Univ
 
센서데이터_수집_모니터링_시스템_개발_두번째
센서데이터_수집_모니터링_시스템_개발_두번째센서데이터_수집_모니터링_시스템_개발_두번째
센서데이터_수집_모니터링_시스템_개발_두번째JuYeong Jeon
 
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)Ubuntu Korea Community
 

What's hot (12)

Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성
Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성
Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성
 
자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰
 
Python으로 채팅 구현하기
Python으로 채팅 구현하기Python으로 채팅 구현하기
Python으로 채팅 구현하기
 
Batman project
Batman projectBatman project
Batman project
 
[20160620]CCTV 구현 자료
[20160620]CCTV 구현 자료[20160620]CCTV 구현 자료
[20160620]CCTV 구현 자료
 
[242]open stack neutron dataplane 구현
[242]open stack neutron   dataplane 구현[242]open stack neutron   dataplane 구현
[242]open stack neutron dataplane 구현
 
resource on openstack
 resource on openstack resource on openstack
resource on openstack
 
Network 초보자를 위한 Netty
Network 초보자를 위한 NettyNetwork 초보자를 위한 Netty
Network 초보자를 위한 Netty
 
네트워크 기본
네트워크 기본네트워크 기본
네트워크 기본
 
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
 
센서데이터_수집_모니터링_시스템_개발_두번째
센서데이터_수집_모니터링_시스템_개발_두번째센서데이터_수집_모니터링_시스템_개발_두번째
센서데이터_수집_모니터링_시스템_개발_두번째
 
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
 

Similar to IBM MQTT Mobile Push Solution 소개서

IBM Websphere MQ Software 소개 ( Messaging Engine )
IBM Websphere MQ Software  소개 ( Messaging Engine )IBM Websphere MQ Software  소개 ( Messaging Engine )
IBM Websphere MQ Software 소개 ( Messaging Engine )Shaun LEE
 
[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법
[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법
[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법Daniel Lim
 
Microservices
Microservices Microservices
Microservices 영기 김
 
[기술풀이] 인터넷전화시스템개요
[기술풀이] 인터넷전화시스템개요[기술풀이] 인터넷전화시스템개요
[기술풀이] 인터넷전화시스템개요xenersystems
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...Cloud-Barista Community
 
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)Amazon Web Services Korea
 
마이텔 소개
마이텔 소개마이텔 소개
마이텔 소개James Kwon
 
Data in Motion을 위한 이벤트 기반 마이크로서비스 아키텍처 소개
Data in Motion을 위한 이벤트 기반 마이크로서비스 아키텍처 소개Data in Motion을 위한 이벤트 기반 마이크로서비스 아키텍처 소개
Data in Motion을 위한 이벤트 기반 마이크로서비스 아키텍처 소개confluent
 
ShieldOne-SIG 제품소개서 3.5
ShieldOne-SIG 제품소개서 3.5ShieldOne-SIG 제품소개서 3.5
ShieldOne-SIG 제품소개서 3.5PLUS-I
 
m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325sbroh
 
포티넷 차세대 utm
포티넷 차세대 utm 포티넷 차세대 utm
포티넷 차세대 utm Yong-uk Choe
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureYoonsung Jung
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링OpenStack Korea Community
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)uEngine Solutions
 
Androidpn guide-0.5.0-ko
Androidpn guide-0.5.0-koAndroidpn guide-0.5.0-ko
Androidpn guide-0.5.0-kosandeepreddyp42
 
모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발
모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발 모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발
모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발 Jay JH Park
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetesSangSun Park
 

Similar to IBM MQTT Mobile Push Solution 소개서 (20)

Wisepush
WisepushWisepush
Wisepush
 
IBM Websphere MQ Software 소개 ( Messaging Engine )
IBM Websphere MQ Software  소개 ( Messaging Engine )IBM Websphere MQ Software  소개 ( Messaging Engine )
IBM Websphere MQ Software 소개 ( Messaging Engine )
 
[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법
[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법
[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법
 
Microservices
Microservices Microservices
Microservices
 
[기술풀이] 인터넷전화시스템개요
[기술풀이] 인터넷전화시스템개요[기술풀이] 인터넷전화시스템개요
[기술풀이] 인터넷전화시스템개요
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
 
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
 
마이텔 소개
마이텔 소개마이텔 소개
마이텔 소개
 
Introduction of Luniverse
Introduction of LuniverseIntroduction of Luniverse
Introduction of Luniverse
 
Data in Motion을 위한 이벤트 기반 마이크로서비스 아키텍처 소개
Data in Motion을 위한 이벤트 기반 마이크로서비스 아키텍처 소개Data in Motion을 위한 이벤트 기반 마이크로서비스 아키텍처 소개
Data in Motion을 위한 이벤트 기반 마이크로서비스 아키텍처 소개
 
ShieldOne-SIG 제품소개서 3.5
ShieldOne-SIG 제품소개서 3.5ShieldOne-SIG 제품소개서 3.5
ShieldOne-SIG 제품소개서 3.5
 
m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325
 
포티넷 차세대 utm
포티넷 차세대 utm 포티넷 차세대 utm
포티넷 차세대 utm
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
리로그인 Relogin: 코드스테이츠 데모데이
리로그인 Relogin: 코드스테이츠 데모데이리로그인 Relogin: 코드스테이츠 데모데이
리로그인 Relogin: 코드스테이츠 데모데이
 
Androidpn guide-0.5.0-ko
Androidpn guide-0.5.0-koAndroidpn guide-0.5.0-ko
Androidpn guide-0.5.0-ko
 
모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발
모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발 모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발
모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetes
 

IBM MQTT Mobile Push Solution 소개서

  • 1. Smart Push 를 위한 MQ Telemetry 소개 Middleware, IBM
  • 2. 모바일 메시징을 위한 프로토콜 필요 • HTTP 는 인터넷 확산의 핵심 동력, 그러나 – 단순한 request/response 메시징 모델 – 무선을 위해 고려되지 않았음. QoS 지원 없음 – 모바일 네트워크에서 속도 및 신뢰도 저하 – Polling 의 사용으로 인한 배터리 및 성능 문제 • 모바일 메시징의 도전과제 – 경량성 : 디바이스 및 모바일 앱 등의 제한된 연산 환경에서 실행 – 보편성 : 센서, 장치, 스마트 기기, 일반 컴퓨터에서도 동작 – 안정성 : 무선 네트워크의 낮은 전송 품질을 극복 – 신뢰성 : 유실이나 중복이 허용되지 않는 업무 영역에도 가능 – 유연성 : 사물/앱 – 컴퓨터간 양방향 통신을 지원 – 신속성 : 오버헤드나 지연없이 빠르게 통신 HTTP IS NOT ENOUGH
  • 3. MQTT: Smarter Planet 프로토콜 많은 것들을 연결하는 Publish & Subscribe 통신 컴퓨터가 아닌 작고 가벼운 것들에서 동작 예측할 수 없는 네트워크를 극복하는 신뢰성
  • 4. MQTT: Smarter Planet 프로토콜 MQTT(MQ Telemetry Transport)는 다음의 취지에 기반하여 설계: • 양방향 N:N 통신을 지원하는 Publish/Subscribe 방식의 메시징 패러다임 • 실제 적용에 있어 모든 측면의 자원 사용을 최소화 • 취약한 네트워크 상의 예측할 수 없는 문제들을 극복 • 잦은 단절, 낮은 대역폭, 높은 지체시간(Latency), 디바이스의 계속적인 이동 • 클라이언트 앱이 매우 제한된 자원을 가질 것을 고려하여 설계 • 컴퓨터가 아닌 장치 환경: 센서, 구동기, RFID 리더, 모바일 디바이스, 스마트폰 • 신뢰성 있는 메시징을 위한 수준별 QoS(Quality of Service) 제공 • 소프트웨어나 디바이스 제조사가 프로토콜을 쉽게 응용할 수 있도록 공개 MQTT 프로토콜: SCADA와 같은 장치 통합 프로토콜에서 유래하여 제약이 많은 네트워크 환경에서 요구되는 기능과 안정성을 최소의 자원을 달성하도록 설계 근래에 와서는 기업의 핵심 역량으로 부상 중인 모바일 영역에 적합한 통신 기술
  • 5. MQTT: 주요 특징 1 • 발표 후 10년 이상 유지/발전: 검증된 센서/장치 + 모바일 기기 프로토콜 • MQTT 프로토콜 스펙은 오픈 소스로 공개 • www.mqtt.org • 2012년 Eclipse 오픈소스 M2M Working Group 내 M2M 프로젝트(Paho)에 MQTT 클라이언트 라이 브러리 제공 • 단순하고 미니멀한 Pub/Sub 메시징 체제 • 기업 경계 밖의 Edge 네트워크 장치와 기업 내의 백엔드 애플리케이션 간 메시지 교환에 적합 • 간편한 메시징을 위한 직관적 verb set(connect/disconnect publish/subscribe) 제공 • 오버헤드를 최소화한 메시지 포맷 • 프로토콜 관련 부분은 비트 단위의 가변 길이 필드로 이루어진 헤더로 표현됨 • 가장 작은 메시지 헤더 사이즈는 2 byte • 단순 byte 배열 메시지로 송수신하며 별도 애플리케이션 헤더를 필요로 하지 않음
  • 6. MQTT: 주요 특징 2 • Pub/Sub에 있어서 세 가지 메시징 신뢰성을 위한 QoS 레벨 제공: • 반드시 전달되어야 하는 중요 메시지에 대한 전달 보장 • 0 – 메시지가 최대 1번 전달, 유실 가능성 있음 • 1 – 메시지가 최소 1번 전달, 중복 전달 가능성 있음 • 2 – 메시지가 단 한 번, 중복 없이 정합성 있게 전달 • 클라이언트와 서버 간의 연결을 잃었을 때 이를 보정하기 위한 자체 기능: • Last will and testament: 클라이언트가 예고 없이 연결을 잃을 경우 이벤트가 서버에서 발생, 서버 측에서 연결의 유실 여부를 인지 • Durable subscription: 서버에 클라이언트의 구독(subscription) 정보 저장됨, 세션 종료 후 재접속 시에도 재작업 없이 Pub/Sub 유지 • Clean session 기능: 연결 해제 후 다시 연결되었을 때의 이전 세션 유지/삭제 선택
  • 7. MQTT: Public Push 의 제약 해결 Google GCM Apple APNS MQ Telemetry 양방향 통신 불가: Push만 가능 불가: Push만 가능 지원: 양방향(Push/Push) 컨텐츠 텍스트: 최대 4KB 텍스트: 최대 4KB 모든 데이터 유형 지원: 최대 256MB 서비스 수준 준수 (SLA) QoS 전송시 간(Latency) 미지원: 전송 보장/확인 메커니즘 미제공 일관적이지 않은 전송 시 간 미지원: 가장 최근 메시지 한 건만 저장 일 관적이지 않은 전송 시간 지원: 전송 보장/확인 메커니즘에 대 한 전적인 조절/제어권 확보 보안 네트워크 구간에 대해서는 제공 Google 서버에서 평문화됨 이용자가 제어할 수 없음 네트워크 구간에 대해서는 제공 APNS 서버에서 평문화됨 이용자가 제어할 수 없음 서드파티 개입이 없으므로 고도의 보 안성 확보: 양방향(서버/클라이언트) 인증, 구간 암호화 Pub/Sub 메시징 지원 미지원: Push 수신자들에 대해 개별적으로 송신해야 함, 최대 1K 수신자에 대 한 동시 송신 미지원: Push 수신자들에 대해 개별적으로 송신해야 함, 최대 연결 당 2K 동 시 송신 지원: 매우 많은 수(수십만, 수백만)의 동시 사용자에 대한 메시지 발행 지원 플랫폼 Android iOS, Mac OS X Android, iOS 등의 모바일 플랫폼과 대부분의 서버 플랫폼 및 개발 환경 지원 MQTT 기반의 Smart Push 는 제한된 모바일 환경에서 최소의 자원만으로 기존 퍼블릭 Push 서비스의 제약 없이 양 방향 메시지 전송을 위한 풍부한 기능을 구현하도록 돕습니다.
  • 8. MQ Telemetry: 대규모 연결을 위한 MQTT 서버 업계 표준의 검증된 메시징 솔루션 MQ 에 기반한 MQ Telemetry 서버는 대규모 기업 환경에서의 Push Service 를 위 한 성능과 신뢰성을 제공합니다. 사실 상 업계 표준인 입증된 메시징 인프라 어떤 상황에서도 데이터 전달을 보증하는 고수준의 안정성 대규모 기업 환경을 지원하는 높은 메시징 성능 엔터프라이즈 수준의 보안성 제공 IBM MQMQ Telemetry WebSphere MQ의 안정성/성능에 기반 인스턴스 당 수십 만 이상의 동시 연결 유지 초 당 수천 건 이상의 메시징 성능 용이한 백엔드 연계 및 확장 MQTT 클라이언트 1 MQTT 클라이언트 2 MQTT 클라이언트 n MQTT 서버 WebSphere MQ v7.1 큐 관리자 WebSphere MQ 큐 관리자 MQ Telemetry (MQXR) MQ Pub/Sub InfraMQTT 채널 MQTT 클라이언트 MQTT 클라이언트 MQTT 클라이언트 기업 내 기간 업무
  • 9. WebSphere MQ Telemetry와 서버/클라이언트 앱 연계 모바일 애플리케이션 MQTT 클라이언트 라이브러리 애플리케이션 UI/로직 서버 애플리케이션 MQTT 클라이언트 라이브러리 애플리케이션 UI/로직 MQ/JMS 라이브러리 MQTT 서버 WebSphere MQ v7.1 큐 관리자 WebSphere MQ 큐 관리자 MQ Telemetry (MQXR) MQ Pub/Sub InfraMQTT 채널 MQ/ JMS API 통신을 위해 MQTT 클라이 언트 라이브러리 또는 기존 의 MQ/JMS 라이브러리를 통해 MQTT 서버에 메시지 송신(Publish) 단말 앱이 MQTT 서버와 통 신하기 위해 통신 부분은 MQTT 클라이언트로 개발 WebSphere MQ 큐관리자 구 성 및 MQ Telemetry 서비스 설정 후, MQTT 채널을 할당
  • 10. MQ Telemetry - 보안 MQTT 서버 WebSphere MQ v7.1 큐 관리자 WebSphere MQ 큐 관리자 MQ Telemetry (MQXR) MQ Pub/Sub Infra MQTT 채널 외부 MQTT 클라이언트 외부 MQTT 클라이언트 외부 MQTT 클라이언트 내부 업무 MQ 앱 내부 MQTT 클라이언트 SSL 데이터 기밀성 참여자 인증 부인 방지 데이터 정합성 JAAS 패스워드 기반 참여자 인증 WMQ WMQ 기반의 보안 서브시스템 OAM* Topic, Queue 별 사용자/그룹 별 접근 제어 OAM* 대단위 사용자에 대한 일괄 보안 프로필 적용 SSL *WebSphere MQ에 포함된 권한부여 체제로 Object Authority Manager의 약자임 IBM에서 구현한 엔터프라이즈용 MQTT 서버 기능이 WebSphere MQ 에 포함되어 있으며 기업 내부로 유통되는 MQTT 접근에 대한 보안성을 제공
  • 11. MQ Telemetry > 다수 고객 대상 메시지 Push MQTT는 불특정 다수의 수신자들을 대상으로 한 브로드캐스팅을 위해 Publish/Subscribe(발행/구독) 유형의 메시징 기술을 내장하고 있습니다. 이 기능을 통해 대상을 구체적으로 명시하지 않고도 다수 고객에게 광고 (마케팅) 형태의 Push 메시지를 손쉽게 전달할 수 있습니다 모바일 기기 3 모바일 기기 2 MQTelemetry MQTT Channel 모바일 기기 1 모바일 앱 (구독자) WMQ Server-side Publisher MQ Pub/Sub 인프라 (브로커) MQTT 서버 브로드캐스트 유형 Push 이벤트 2. 발행: ‘고객사/마케팅’ 0. MQTelemetry에 연결 1. ‘고객사/마케팅’에 구독(Subscribe) 3. ‘고객사/마케팅’ 메시지 전달 Pub/Su b 정보 • 메시지 발행자(Publisher)들은 자신이 발행하는 메시지가 가는 다수의 목적지를 알 필요가 없이 단순히 토픽(e.g. /HLI/Promotion)만 설정하고 • 메시지 구독자(Subscriber)들은 자신이 구독할 메시지의 토픽에 대해 Broker에 대해 구독 신청만 하여 발행자가 어디 있는지 알 필요가 없으며 • Pub/Sub Broker가 Pub/Sub 정보를 토대로 메시지를 중재 역할을 수행하는 • 고도의 Loosely Coupled 메시징 스타일 ‘고객사/마케팅’에 구독
  • 12. MQ Telemetry > 특정 고객 대상 메시지 Push MQTT는 Pub/Sub을 통해 특정 사용자에게 메시지를 송수신하도록 합니다. 특정 사용자가 구독하는 토픽 등 은 MQTelemetrydml Pub/Sub 인프라를 통해 내부적으로 관리되며 관리자 관점에서는 특정 사용자가 어느 네트워크에 위치하고 있는지의 저수준의 정보는 필요 없이 단지 사용자가 구독한 토픽에 대해 메시지를 생성 /송신하면 됩니다. • Subscriber는 자신의 고유한 값(서비스번호 또는 MQTT Client ID)을 토대로 메시지 구독 • Publisher는 클라이언트의 고유한 값을 토픽으로 하는 메시지를 발행 • 결과적으로 특정 디바이스만 자신의 고유한 값을 토픽으로 하는 메시지를 전달받음 • 이때 Publisher는 특정 Subscriber의 물리적인 위치나 상태를 신경 쓰지 않음 • 대신 연결이 가용한 경우 Broker 서비스가 특정 디바이스에게 해당 메시지 전달 모바일 기기 3 모바일 기기 2 MQTelemetry MQTT Channel 모바일 기기 1 모바일 앱 (Subscriber) 고객#001 WMQ Server-side Publisher MQ Pub/Sub 인프라 (브로커) MQTT 서버 특정 사용자 이벤트 2. 송신: ‘고객#001/이벤트’ 0. MQTT Channel로 연결 1. ‘고객#001/#’에 구독(Subscribe) 3. ‘고객#001/이벤트’ 메시지 전달 Pub/Sub 정보 고객 별 정보
  • 13. MQ Telemetry Performance Report • QoS=0 상황에서 100,000 개의 동시 연결에 대해 초당 약 6,500 건의 메시지 전송, CPU 24% 정도 사용 • QoS=1 상황에서 100,000 개의 동시 연결에 대해 초당 약 4,000 건의 메시지 전송, CPU 17% 정도 사용 • QoS=2 상황에서 100,000 개의 동시 연결에 대해 초당 약 4,000 건의 메시지 전송, CPU 28% 정도 사용 테스트 시스템 사양: IBM xSeries 3850 4 x 4-core 2.93GHz Intel Xeon 32 GB of RAM Redhat 5.4 (kernel 2.6.18) 10Gbit Ethernet Adapter MQ Telemetry V7.5 MQTelemetry의 성능에 대해 IBM에서 공식적인 성능 측정 자료를 제공하고 있습니다. 성능 리포트 자료를 통 해 256 bytes 메시지, 테스트 시스템을 기준으로 단일 서버 인스턴스에서 각 메시징 QoS 별 MQTT 클라이언 트 연결과, 초당 송신 메시지 수, 시스템 CPU 사용률을 확인할 수 있습니다
  • 14. MQ/MQ Telemetry 주요 사례 IBM MQ Telemetry는 부산은행, 롯데카드, KT 파워텔 등의 국내 고객사에 모바일 푸쉬 서버로 적용되어 안정 성 및 신뢰성을 인정받고 있으며, 그 기반이 되는 IBM MQ 솔루션은 대한항공, 농협, 한화증권, KT, 우리카드, 등의 대규모 고객사에서 이미 그 성능 및 우수성을 인정받은 업계 최고의 메시징 솔루션입니다. 다양한 WW MQTT 사례 SMS 대체로 60% 비용 절감 개인화 마케팅 메시지 전송 실시간 경기 정보 전송 Connected Car 플랫폼 SMS 기반 상황판의 성능 및 확장성 이슈 7,000 개 역을 대상으로 일 200,000 전송 40,000 이상 사용자 대상으로 푸시 메 시지 전송 개인화 상품 안내 및 트랜잭션 메시지 동시 30,000 이상 사용자 대상 서비스 로딩시간 60% 이상 단축, 1초 미만 응답 시간 달성 운전자 경험 수집 및 개인화 서비스 제 공, 모바일 장치 기반 차량 제어 클라우드와 연계된 스마트폰, 태블릿 등 을 통하여 개인화된 맞춤 서비스 제공 MQTelemetry 국내 사례 단지 Push 방향만 아니라 양방향 통신이 동일한 채널에서 가 능하게 되어 Push 메시지 이후 사용자/고객에 대한 유연성 및 사용자 참여도를 비약적으로 높일 수 있음 •이를 위한 별도의 메시징 인프라가 아닌 공통의 메시징 솔루 션을 통해 구성하게 되어 관리 효율성 증대 및 표준화에 용이 European Bank