Lub hauv paus ntsiab lus ntawm kev khiav hauj lwm ntawm lub connector tom qab configuration no yog heev yooj yim:
Thaum pib thawj zaug, nws txuas mus rau cov ntaub ntawv teev tseg hauv kev teeb tsa thiab pib hauv hom pib snapshot, xa mus rau Kafka thawj txheej ntawm cov ntaub ntawv tau txais nrog cov xwm txheej SELECT * FROM table_name.
Tom qab pib ua tiav, tus txuas nkag mus rau hom kev nyeem ntawv hloov pauv ntawm PostgreSQL WAL cov ntaub ntawv.
Hais txog cov kev xaiv siv:
name - lub npe ntawm lub connector uas lub configuration piav hauv qab no yog siv; yav tom ntej, lub npe no yog siv los ua haujlwm nrog cov khoom sib txuas (piv txwv li saib cov xwm txheej / rov pib dua / hloov kho qhov teeb tsa) los ntawm Kafka Txuas REST API;
Los ntawm lub neej ntawd, Debezium tsim cov ncauj lus siv txoj cai teev npe hauv qab no: serverName.schemaName.tableName. Qhov no tej zaum yuav tsis yooj yim. Kev xaiv transforms siv cov lus qhia tsis tu ncua, koj tuaj yeem txhais cov npe ntawm cov rooj uas nws cov xwm txheej yuav tsum tau xa mus rau lub ncauj lus nrog lub npe tshwj xeeb.
Nyob rau hauv peb configuration ua tsaug rau transforms Cov hauv qab no tshwm sim: tag nrho CDC cov xwm txheej los ntawm cov ntaub ntawv taug qab yuav mus rau lub ntsiab lus nrog lub npe data.cdc.dbname. Txwv tsis pub (tsis muaj cov kev teeb tsa no), Debezium yuav los ntawm lub neej ntawd tsim ib lub ntsiab lus rau txhua lub rooj ntawm daim ntawv: pg-dev.public.<table_name>.
Connector txwv
Thaum kawg ntawm qhov kev piav qhia ntawm tus connector configuration rau PostgreSQL, nws yog tsim nyog tham txog cov nram qab no nta / kev txwv ntawm nws cov hauj lwm:
Lub connector functionality rau PostgreSQL tso siab rau lub tswv yim ntawm kev txiav txim siab logical. Yog li ntawd nws tsis taug qab thov kom hloov cov qauv ntawm cov ntaub ntawv (DDL) - Raws li, cov ntaub ntawv no yuav tsis nyob hauv cov ncauj lus.
Txij li thaum replication slots yog siv, kev sib txuas ntawm lub connector yog ua tau tsuas rau tus tswv DBMS piv txwv.
Yog hais tias tus neeg siv nyob rau hauv uas lub connector txuas mus rau lub database muaj cai nyeem nkaus xwb, ces ua ntej lub community launch, koj yuav tsum manually tsim ib tug replication slot thiab luam tawm rau lub database.
Thov ib tug configuration
Yog li cia peb thauj peb cov kev teeb tsa rau hauv lub connector:
Zoo heev: nws tau teeb tsa thiab npaj mus. Tam sim no cia peb ua txuj ua tus neeg siv khoom thiab txuas rau Kafka, tom qab ntawd peb ntxiv thiab hloov qhov nkag hauv lub rooj:
Raws li koj tuaj yeem pom, tsis muaj kev xaiv tshiab piv rau piv txwv yav dhau los, tab sis tsuas yog tus naj npawb ntawm cov kev xaiv lub luag haujlwm rau kev txuas mus rau cov ntaub ntawv thiab lawv cov ntawv ua ntej tau raug txo.
Chaw transforms lub sijhawm no lawv ua cov hauv qab no: tig lub npe ntawm lub hom phiaj ntawm lub tswv yim <server_name>.<db_name>.<collection_name> Π² data.cdc.mongo_<db_name>.
txhaum cai
Qhov teeb meem ntawm kev ua txhaum cai thiab muaj siab nyob hauv peb lub sijhawm yog qhov mob hnyav dua li puas tau - tshwj xeeb tshaj yog thaum peb tham txog cov ntaub ntawv thiab kev hloov pauv, thiab cov ntaub ntawv hloov pauv tsis yog nyob rau ntawm qhov teeb meem no. Cia peb saib seb qhov twg tuaj yeem ua yuam kev hauv txoj cai thiab yuav ua li cas rau Debezium hauv txhua kis.
Muaj peb txoj kev xaiv tawm:
Kafka Txuas tsis ua haujlwm. Yog tias txuas tau teeb tsa ua haujlwm hauv hom kev faib tawm, qhov no yuav tsum muaj ntau tus neeg ua haujlwm los teeb tsa tib lub group.id. Tom qab ntawd, yog tias ib qho ntawm lawv ua tsis tiav, qhov txuas yuav rov pib dua ntawm lwm tus neeg ua haujlwm thiab txuas ntxiv nyeem los ntawm qhov kawg tau cog lus nyob rau hauv cov ncauj lus hauv Kafka.
Poob kev sib txuas nrog Kafka pawg. Lub connector tsuas yuav tsum tsis txhob nyeem ntawv ntawm txoj hauj lwm nws ua tsis tau tejyam xa mus rau Kafka thiab yuav ncua sij hawm rov xa nws mus txog rau thaum qhov kev sim ua tiav.
Cov ntaub ntawv qhov chaw tsis muaj. Lub connector yuav sim rov txuas mus rau qhov chaw raws li kev teeb tsa. Lub neej ntawd yog 16 sim siv exponential backoff. Tom qab 16th ua tsis tau tejyam, txoj hauj lwm yuav raug cim raws li ua tsis tau thiab nws yuav tsum tau rov pib dua manually ntawm Kafka Txuas REST interface.
Xws li ntawm PostgreSQL cov ntaub ntawv yuav tsis ploj, vim siv cov replication slots yuav tiv thaiv kev tshem tawm ntawm WAL cov ntaub ntawv tsis nyeem los ntawm lub connector. Nyob rau hauv cov ntaub ntawv no, muaj ib tug downside: yog hais tias lub network kev twb kev txuas ntawm connector thiab DBMS cuam tshuam rau lub sij hawm ntev, muaj lub caij nyoog uas qhov chaw disk yuav khiav tawm, thiab qhov no yuav ua rau tsis ua hauj lwm ntawm tag nrho cov DBMS.
Xws li ntawm MySQL binlog cov ntaub ntawv tuaj yeem tig los ntawm DBMS nws tus kheej ua ntej kev sib txuas tau rov qab los. Qhov no yuav ua rau lub connector nkag mus rau hauv lub xeev ua tsis tau tejyam, thiab nws yuav tsum tau rov pib dua nyob rau hauv thawj snapshot hom mus txuas ntxiv nyeem ntawv los ntawm binlogs mus rau restore ib txwm ua hauj lwm.
rau MongoDB. Cov ntaub ntawv hais tias: tus cwj pwm ntawm tus connector nyob rau hauv cov ntaub ntawv log / oplog ntaub ntawv tau raug tshem tawm thiab cov connector tsis tau txuas ntxiv nyeem ntawv los ntawm txoj hauj lwm uas nws tshuav tawm yog tib yam rau tag nrho cov DBMS. Nws nyob rau hauv qhov tseeb hais tias tus connector yuav mus rau hauv lub xeev ua tsis tau thiab yuav tsum tau rov pib dua hauv hom pib snapshot.
Txawm li cas los xij, muaj kev zam. Yog hais tias lub connector nyob rau hauv lub disconnector lub sij hawm ntev (los yog tsis tuaj yeem ncav cuag MongoDB piv txwv), thiab oplog tau tig thaum lub sijhawm no, tom qab ntawd thaum qhov kev sib txuas tau rov qab los, tus connector yuav maj mam nyeem cov ntaub ntawv los ntawm thawj txoj haujlwm. , uas yog vim li cas qee cov ntaub ntawv hauv Kafka tsis yuav ntaus.
xaus
Debezium yog kuv thawj qhov kev paub nrog CDC systems thiab tau zoo tag nrho. Qhov project bribed kev txhawb nqa ntawm lub ntsiab DBMS, yooj yim ntawm configuration, kev txhawb pab pawg thiab ib tug active zej zog. Rau cov neeg nyiam xyaum, kuv xav kom koj nyeem cov lus qhia rau Kafka Txuas ΠΈ Debezium.
Piv nrog rau JDBC connector rau Kafka Connect, lub ntsiab kom zoo dua ntawm Debezium yog qhov kev hloov pauv tau nyeem los ntawm DBMS cav, uas tso cai rau cov ntaub ntawv tau txais nrog qeeb qeeb. Lub JDBC Connector (muab los ntawm Kafka Txuas) nug cov lus taug qab ntawm lub sijhawm ruaj khov thiab (rau tib lub laj thawj) tsis tsim cov lus thaum cov ntaub ntawv raug tshem tawm (koj tuaj yeem nug cov ntaub ntawv uas tsis nyob ntawd li cas?).
Txhawm rau daws cov teeb meem zoo sib xws, koj tuaj yeem mloog cov kev daws teeb meem hauv qab no (ntxiv rau Debezium):