2. Contents
01 네? 뭐라구요? 나에게 떨어진 미션
02 Mediator, 어떻게 만들었나
03 Mediator의 진화, Mediation Cluster
04 QnA
3. 김성화
Connected Car 플랫폼 개발 4년차
자율주행 플랫폼 Mediator 개발 담당
GiGA FMS G/W 개발 담당
팀 내 Technical Architect 담당
Java & Vert.x 기반 Backend 개발
mail : seonghwa.kim@kt.com
5. 네? 뭐라구요? 나에게 떨어진 미션
V2X 자율주행 플랫폼 개발에 참여하게 되다!
01
너 나랑 일 하나 같이 하자!
네? 뭐라구요? 무슨 플랫폼 이요?
5G V2X 자율주행 플랫폼.
6. 네? 뭐라구요? 나에게 떨어진 미션
V2X? 그게 어떤 기술인데?
01
자동차와
무언가가
연결된다!
Something
7. 네? 뭐라구요? 나에게 떨어진 미션
V2X? 그게 왜 필요한데?
01
차의 인식 범위
V2X로 얻을 수 있는 정보 범위
8. 네? 뭐라구요? 나에게 떨어진 미션
V2X? 2가지가 있다고?
01
WAVE C-V2X
Road Side Unit 을 통한 통신
별도의 통신 Unit 인프라 구축 필요
이미 통신 Unit에 내장된 차량과의 통신 기능
LTE/5G 기지국을 통한 V2X 통신
구축된 기지국 활용 가능
V2X 통신을 위한 플랫폼 개발 필요
9. 네? 뭐라구요? 나에게 떨어진 미션
우리 Edge 단은 이런 기능들이 필요하고….
01
신속한 장애 복구
손쉬운 버전 업
표준을 준수하는 메시지 규격
DL 기반으로 만들어진 모델 활용
5G 네트워크 이용한 빠른 데이터 전달
모든 X의 데이터를 중계
Mediator 모니터링
V2V 까지도 커버
데이터 과부하 자동 Scale out
10. 네? 뭐라구요? 나에게 떨어진 미션
우리, 이 모듈을 V2X Mediator 라고 부르자
01
V2X Mediator
모든 X의 데이터를 중계한다
12. Mediator, 어떻게 만들었나
우리의 Mediator에게 바라는 역할
02
환경에 받는 영향이 적은 구조
Fault Tolerance, Resource Managing에 강력한 구조
수집과 처리, 제공이 서로 영향을 받지 않는 구조
필요한 메시지셋 추가/제외가 유연한 구조
22. Mediator, 어떻게 만들었나02
Mediator
pod
. . .
Mediator
pod
Other
Module
pod Other
Module
pod
Other
Module
pod
Other
Module
pod
Other
Module
pod
Other
Module
pod
Other
Module
podOther
Module
pod
Other
Module
pod
Worker Node 1 Worker Node 2 Worker Node N
25. Mediator의 진화, Mediation Cluster04
더 필요한 모듈만 분신술을 쓰자, MSA
5G Listener Verticle
PVD BSM EVA
RSA SPaT TIM MAP
RTCM
5G Listener Verticle
PVD
BSM EVA
RSA
SPaT
TIM
MAP
RTCM
5G Listener Verticle
PVD BSM EVA
RSA SPaT TIM MAP
RTCM
5G Listener Verticle
PVD BSM EVA
RSA SPaT TIM MAP
RTCM
PVD
PVD
5G Listener Verticle
26. Mediator의 진화, Mediation Cluster04
그런데 어떻게 연락을 하지?
5G Listener Verticle Event Bus
Worker Node 1 Worker Node 2 Worker Node 3
EVA 메시지 처리 Verticle
한테 이거 전달 좀 해줘!
나 걔 어디 사는지 몰라….
EVA
27. Mediator의 진화, Mediation Cluster03
따로 또 같이, 녀석들을 묶어주는 IMDG
“Vert.x의 Cluster 모드를 활용해보자!
그러면 물리적/논리적으로
분리 되어 있어도 문제가 없다는데?”
Cluster 모드를 쓰려면
IMDG가 필요하다.
28. Mediator의 진화, Mediation Cluster03
따로 또 같이, 녀석들을 묶어주는 IMDG
IMDG
IMDG IMDG
IMDG
Application
Replication
Synchronization
Read/Write
29. Mediator의 진화, Mediation Cluster03
따로 또 같이, 녀석들을 묶어주는 IMDG
성숙도
성능
Vert.x
레퍼런스
높음 높음 낮음
높음 매우 높음높음
적음 매우 적음많음
30. Mediator의 진화, Mediation Cluster03
따로 또 같이, 녀석들을 묶어주는 IMDG, Hazelcast
Micro Service의
데이터 공유 목적으로 활용 가능
JVM 위에서 Running
별도 설치 불필요
31. Mediator의 진화, Mediation Cluster03
따로 또 같이, 녀석들을 묶어주는 IMDG, Hazelcast
5G Listener Verticle
PVD
BSM EVA
RSA
SPaT
TIM
MAP
RTCM
PVD
PVD
5G Listener Verticle
걱정 말아요!
Verticle들이
어디에 떠있든
하나의 Event Bus
인 것처럼
묶어줄게요!
32. Mediator의 진화, Mediation Cluster03
따로 또 같이, 녀석들을 묶어주는 IMDG, Hazelcast
5G Listener
Verticle
아니 그런데….
묶어주긴 할건데….
격리된 환경이라….
컨테이너 내부
33. Mediator의 진화, Mediation Cluster03
Kubernetes와의 콜라보레이션, HazelcastKubernetesDiscoveryStrategy
5G Listener Verticle
PVD
BSM
EVA
RSA
SPaT
TIM
MAP
RTCM
PVD
PVD
5G Listener Verticle
k8s DNS를
이용해서
컨테이너 환경도
문제 없어요!
DNS or k8s API
36. Mediator의 진화, Mediation Cluster03
Mediation Cluster Dev Zone 구성도
. . .
Other
modules Other
modules
Other
modules
Other
modules
Other
modules Other
modules
Other
modules
Worker Node 1 Worker Node 2 Worker Node N
5G
Listener
PVD
BSM
EVA
RSA
SPaT
TIM
MAP
RTCM
PVD
5G
Listener
DNS or k8s API