general java

[debezium] 일반적인 설정

'김용환' 2019. 3. 21. 11:16

debezium 일반적인 설정은 다음과 같다.


{

 “name”: “kc_debezium_connector_shopping_orders”,

 “config”: {

   “connector.class”: “io.debezium.connector.mysql.MySqlConnector”,

   “tasks.max”: “1”,

   “database.hostname”: “mysql”,

   “database.port”: “3306”,

   “database.user”: “debezium”,

   “database.password”: “비밀번호”,

   “database.server.id”: “18405”,

   “database.server.name”: “shopping.alpha-google.com”,

   “database.whitelist”: “shopping”,

   “table.whitelist”: “shopping.demo_orders”,

   “database.history.kafka.bootstrap.servers”: “kafka:29092”,

   “database.history.kafka.topic”: “schema_changes_shopping_orders”

 }

}





<기본설정>


처음에 debezium 사용할 때


kafka connector 에 debezium을 사용할 때

serverName(database.server.name).databaseName.tableName이 합쳐진 카프카 토픽에 DML 정보가 저장된다. (insert, update, delete)


shopping.shopping.demo_orders



참고

https://debezium.io/docs/connectors/mysql/#topic-names




스키마와 관련된 정보는 아래 토픽에 저장된다. (trucate, create table, alter table ..)


 “database.history.kafka.topic”: “schema_changes_shopping_orders”






또한 DML 정보가 저장되는 topic이름은 바꿀 수 있다 .


아래는 table 이름으로 topic 이름을 줄 수 있다.


   “transforms”: “route”,

   “transforms.route.type”: “org.apache.kafka.connect.transforms.RegexRouter”,

   “transforms.route.regex”: “([^.]+)\\.([^.]+)\\.([^.]+)“,

   “transforms.route.replacement”: “$3"