개요 9
장점: 성능
AMQP 테스트
클라이언트 · 서버
4 dual-core Opterons (8 cores)
1Gbit 이더넷
클라이언트 프로세스 10 개
본문: 256+ 바이트 (AMQP 헤더 제외)
평균: 180,000 msg/sec
최대: 220,000 msg/sec
Courtesy of Robert J. Greig, JP Morgan Chase & Co.
개요 10
장점: 안정성
API 디자인
11월 19일 1.0 릴리즈
구현체
2004년부터 지속적으로 개선
오픈 소스 vs. In-house?
개요 11
사용자
The Apache Directory Project
CitiStreet
LDAPv3 Kerberos DNS
DHCP NTP
ChangePW
AMQP (Qpid) Advanced Message Queuing Protocol
JP Morgan Chase & Co.
QuickFIX/J Financial Information eXchange
유가 증권 정보 교환 업계 표준
개요 12
사용자
AsyncWeb HTTP
Codehaus XFire SOAP, WS-*
Rails-AsyncWeb Ruby on Rails
EURid European Domain Registry
Jive Software Wildfire Jabber / XMPP
RED5 Server Macromedia Flash Media RTMP
13
목차: 내부
개요
내부
아키텍처
핵심 요소
In-VM 파이프
데모
미래
결론
내부 14
아키텍처
Legend
Remote Peer Core
Extension Point
Low-level
Low-level
Protocol Implementation
I/O
I/O
실제 I/O 수행
IoService Filtered I/O
I/O Event
Request
IoFilterChain
이벤트 · 요청 필터링
IoFilter #1
IoFilter #2
IoFilter #3
Filtered I/O
Request
접속과 1:1 대응
Event
I/O
IoSession
<프로토콜 로직 구현>
IoHandler
내부 15
IoService
IoService
IoS es s ionManager
서버: 클라이언트:
연결 받기 서버에 연결하기
IoAc c eptor IoConnec tor
구현체들
nio::S oc ketAc c eptor nio::S oc ketConnec tor
nio::DatagramAc c eptor nio::DatagramConnec tor
v mpipe::VmPipeAc c eptor v mpipe::VmPipeConnec tor
내부 16
IoFilter
이벤트 · 요청을 가로채 기능 확장
재사용 가능
Hot deploy 가능
SSL · TLS Logger
Thread pool Overload detector
Performance profiler Traffic shaper
Lightweight firewall Authorization
내부 17
ThreadPoolFilter
스레드 풀 없음: 최소 레이턴시를 위한 싱글 스레드 설정
IoAcceptor IoHandler
스레드 풀 한 개: 일반적인 高 스루풋 설정
Thread
IoAcceptor Pool IoHandler
Filter
하나 이상의 스레드 풀: 다양한 자원이 병목일 경우
Thread Bottle- Thread
IoAcceptor Pool neck A Pool IoHandler
Filter (IoFilter) Filter
내부 18
ProtocolCodecFilter
명확한 분리를 통한 재사용성
비즈니스 로직 – IoHandler
프로토콜 코덱 – ProtocolCodecFilter
Object serialization
Text line
내부 20
In-VM 파이프
I/O 없는 통신:
‘Direct Method Invocations’
⇒ 無 프로토콜 코덱
⇒ 無 네트워크 레이턴시
⇒ 동일한 API 사용
21
목차: 데모
개요
내부
데모
미래
결론
데모 22
Reverse Echo Server
받은 줄을 뒤집어 돌려주는 서버
기본 제공되는 텍스트 라인 코덱 사용
23
목차: 미래
개요
내부
데모
미래
플랫폼으로서의 MINA
실시간 관리
참여합시다!
결론
미래 24
플랫폼으로서의 MINA
Real-Time Management System
Integration with Apache ASN.1 for complex protocols
Users can build customized servers
Design custom
Rapidly
HTTP FTP Kerberos
Prototyped
with ready-made protocol codecs.
protocols just like
Protocol
drawing a UML!
Visual Protocol
SMTP LDAP
Designer
……
(ASN.1-based)
Popular ASN.1
Others
Protocols Codec
MINA Core Library
미래 25
실시간 관리
A universal management view
JMX 콘솔 · 웹 인터페이스
실시간 접근
서버 트래픽 완료!
IoFilter Hot-deployment
어느 클라이언트가 무슨 메시지를? 완료!
어느 메시지가 오래 걸리지?
……
미래 26
실시간 관리 예시
미래 27
참여합시다!
마음에 드십니까?
피드백이 많을 수록 품질은 향상됩니다!
질문하기
디자인 결함 지적하기
버그 알려주기
성능 테스트 결과 공유하기
28
목차: 결론
개요
내부
데모
미래
결론
결론 29
결론
MINA는 현재…
최고의 자바 넷-어플리케이션 프레임워크!
생산성
성능
안정성
MINA는 앞으로…
네트워크 어플리케이션 개발에 관한
모두를 갖춘 개발 · 관리 플랫폼이 되겠다!
30
참고자료
홈페이지
http://mina.apache.org/
다양한 예제 · 다운로드 · 본 발표 자료
메일링 리스트
dev@mina.apache.org
영어가 어렵다면 저에게 직접!
trustin@apache.org
0 comments
Post a comment