-
Notifications
You must be signed in to change notification settings - Fork 3
Replication Sequence
Replication Sequence¶
1. interface sequence¶
1-1. 동기화 테이블 추가

Control/Changing Data Flow
1. sql 사용자 인터페이스로 부터 동기화 테이블 추가
2. bwcontrol: 해당 테이블명을 tbl_mapps에 추가
3. bwcontrol: botteldwater 실행
4. bwcontrol: kafka connect로 topic list 전달(tbl_mapps 참조)
5. bottledwater: 해당 database에 접속하여 tbl_mapps 정보 획득
6. Replication slot 생성
7. bottledwater: tbl_mapps result로 동기화 테이블 리스트 구성
8. postgresql: transaction event 발생
9. postgresql: bottledwater output plugin에 avro encoding요청(callback)
10.bottledwater-output plugin: avro encoding후 반환
11.postgresql:encoding된 replication data를 bottledwater에 전송
12.bottledwater: 데이터 레코드별 정보 추출 및 동기화 테이블 여부 판단
13.bottledwater: kafka broker로 전송
14.kafka connect: kakfa broker로 부터 데이터 pull
1-2. 동기화 테이블 삭제

Control/Changing Data Flow
1. sql 사용자 동기화 테이블 삭제 요청
2. bwcontrol: 해당 테이블명을 tbl_mapps에서 삭제
3. bwcontrol: botteldwater Reload signal 전달
4. bottledwater: 해당 database에 접속하여 tbl_mapps 정보 획득
5. Replication map update
6. bwcontrol: kafka connect로 topic list 전달(tbl_mapps 참조)
1-3. Kafka connect 생성

Control/Changing Data Flow
1. sql 사용자 초기화 실행
2. bwcontrol: kafka connect에 초기값 요청
3. bwcontrol: kafka connect에 연결/설정 정보 생성
4. bwcontrol: kafka connect에 kafka connection 생성 요청
5. bwcontrol: kafka con_config table에 connection 메타정보 입력