14. 내부 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. 내부 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. 내부 16
IoFilter
이벤트 · 요청을 가로채 기능 확장
재사용 가능
Hot deploy 가능
SSL · TLS Logger
Thread pool Overload detector
Performance profiler Traffic shaper
Lightweight firewall Authorization
17. 내부 17
ThreadPoolFilter
스레드 풀 없음: 최소 레이턴시를 위한 싱글 스레드 설정
IoAcceptor IoHandler
스레드 풀 한 개: 일반적인 高 스루풋 설정
Thread
IoAcceptor Pool IoHandler
Filter
하나 이상의 스레드 풀: 다양한 자원이 병목일 경우
Thread Bottle- Thread
IoAcceptor Pool neck A Pool IoHandler
Filter (IoFilter) Filter
18. 내부 18
ProtocolCodecFilter
명확한 분리를 통한 재사용성
비즈니스 로직 – IoHandler
프로토콜 코덱 – ProtocolCodecFilter
Object serialization
Text line
22. 데모 22
Reverse Echo Server
받은 줄을 뒤집어 돌려주는 서버
기본 제공되는 텍스트 라인 코덱 사용
23. 23
목차: 미래
개요
내부
데모
미래
플랫폼으로서의 MINA
실시간 관리
참여합시다!
결론
24. 미래 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. 미래 25
실시간 관리
A universal management view
JMX 콘솔 · 웹 인터페이스
실시간 접근
서버 트래픽 완료!
IoFilter Hot-deployment
어느 클라이언트가 무슨 메시지를? 완료!
어느 메시지가 오래 걸리지?
……