[{"data":1,"prerenderedAt":1999},["ShallowReactive",2],{"content:\u002F2025\u002F10\u002Fkafka-go":3,"surround:\u002F2025\u002F10\u002Fkafka-go":1989},{"id":4,"title":5,"body":6,"categories":1968,"date":1970,"description":1971,"draft":1972,"extension":1973,"image":1974,"meta":1975,"navigation":45,"path":1977,"permalink":1974,"published":1974,"readingTime":1978,"recommend":1974,"references":1974,"seo":1983,"sitemap":1984,"stem":1985,"tags":1986,"type":1987,"updated":1970,"__hash__":1988},"content\u002Fposts\u002F2025\u002F10\u002Fkafka-go.md","使用 kafka-go 实现消息生产与消费",{"type":7,"value":8,"toc":1960},"minimark",[9,13,680,683,691,694,713,716,1323,1326,1860,1863,1956],[10,11,12],"h2",{"id":12},"docker安装kafka",[14,15,20],"pre",{"className":16,"code":17,"language":18,"meta":19,"style":19},"language-yaml shiki shiki-themes github-light github-dark","version: '2.1'\n\nservices:\n  zoo1:\n    image: confluentinc\u002Fcp-zookeeper:7.3.2\n    hostname: zoo1\n    container_name: zoo1\n    ports:\n      - \"2181:2181\"\n    environment:\n      ZOOKEEPER_CLIENT_PORT: 2181\n      ZOOKEEPER_SERVER_ID: 1\n      ZOOKEEPER_SERVERS: zoo1:2888:3888\n\n  kafka1:\n    image: confluentinc\u002Fcp-kafka:7.3.2\n    hostname: kafka1\n    container_name: kafka1\n    ports:\n      - \"9092:9092\"\n      - \"29092:29092\"\n      - \"9999:9999\"\n    environment:\n      KAFKA_ADVERTISED_LISTENERS: INTERNAL:\u002F\u002Fkafka1:19092,EXTERNAL:\u002F\u002F${DOCKER_HOST_IP:-127.0.0.1}:9092,DOCKER:\u002F\u002Fhost.docker.internal:29092\n      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT,DOCKER:PLAINTEXT\n      KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL\n      KAFKA_ZOOKEEPER_CONNECT: \"zoo1:2181\"\n      KAFKA_BROKER_ID: 1\n      KAFKA_LOG4J_LOGGERS: \"kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO\"\n      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1\n      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1\n      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1\n      KAFKA_JMX_PORT: 9999\n      KAFKA_JMX_HOSTNAME: ${DOCKER_HOST_IP:-127.0.0.1}\n      KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.authorizer.AclAuthorizer\n      KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: \"true\"\n    depends_on:\n      - zoo1\n  kafka-ui:\n    container_name: kafka-ui\n    image: provectuslabs\u002Fkafka-ui:latest\n    ports:\n      - 8080:8080\n    depends_on:\n      - kafka1\n    environment:\n      DYNAMIC_CONFIG_ENABLED: \"TRUE\"\n\n","yaml","",[21,22,23,40,47,56,68,83,98,112,124,139,151,169,186,203,208,218,232,246,259,270,284,298,312,323,340,357,374,391,407,424,440,456,472,489,506,523,540,552,565,575,589,603,614,628,639,652,663],"code",{"__ignoreMap":19},[24,25,28,32,36],"span",{"class":26,"data-line":27,"line":27},"line",1,[24,29,31],{"class":30},"s9eBZ","version",[24,33,35],{"class":34},"sVt8B",": ",[24,37,39],{"class":38},"sZZnC","'2.1'\n",[24,41,43],{"class":26,"data-line":42,"line":42},2,[24,44,46],{"emptyLinePlaceholder":45},true,"\n",[24,48,50,53],{"class":26,"data-line":49,"line":49},3,[24,51,52],{"class":30},"services",[24,54,55],{"class":34},":\n",[24,57,59,63,66],{"class":26,"data-line":58,"line":58},4,[24,60,62],{"class":61},"indent","  ",[24,64,65],{"class":30},"zoo1",[24,67,55],{"class":34},[24,69,71,73,75,78,80],{"class":26,"data-line":70,"line":70},5,[24,72,62],{"class":61},[24,74,62],{"class":61},[24,76,77],{"class":30},"image",[24,79,35],{"class":34},[24,81,82],{"class":38},"confluentinc\u002Fcp-zookeeper:7.3.2\n",[24,84,86,88,90,93,95],{"class":26,"data-line":85,"line":85},6,[24,87,62],{"class":61},[24,89,62],{"class":61},[24,91,92],{"class":30},"hostname",[24,94,35],{"class":34},[24,96,97],{"class":38},"zoo1\n",[24,99,101,103,105,108,110],{"class":26,"data-line":100,"line":100},7,[24,102,62],{"class":61},[24,104,62],{"class":61},[24,106,107],{"class":30},"container_name",[24,109,35],{"class":34},[24,111,97],{"class":38},[24,113,115,117,119,122],{"class":26,"data-line":114,"line":114},8,[24,116,62],{"class":61},[24,118,62],{"class":61},[24,120,121],{"class":30},"ports",[24,123,55],{"class":34},[24,125,127,129,131,133,136],{"class":26,"data-line":126,"line":126},9,[24,128,62],{"class":61},[24,130,62],{"class":61},[24,132,62],{"class":61},[24,134,135],{"class":34},"- ",[24,137,138],{"class":38},"\"2181:2181\"\n",[24,140,142,144,146,149],{"class":26,"data-line":141,"line":141},10,[24,143,62],{"class":61},[24,145,62],{"class":61},[24,147,148],{"class":30},"environment",[24,150,55],{"class":34},[24,152,154,156,158,160,163,165],{"class":26,"data-line":153,"line":153},11,[24,155,62],{"class":61},[24,157,62],{"class":61},[24,159,62],{"class":61},[24,161,162],{"class":30},"ZOOKEEPER_CLIENT_PORT",[24,164,35],{"class":34},[24,166,168],{"class":167},"sj4cs","2181\n",[24,170,172,174,176,178,181,183],{"class":26,"data-line":171,"line":171},12,[24,173,62],{"class":61},[24,175,62],{"class":61},[24,177,62],{"class":61},[24,179,180],{"class":30},"ZOOKEEPER_SERVER_ID",[24,182,35],{"class":34},[24,184,185],{"class":167},"1\n",[24,187,189,191,193,195,198,200],{"class":26,"data-line":188,"line":188},13,[24,190,62],{"class":61},[24,192,62],{"class":61},[24,194,62],{"class":61},[24,196,197],{"class":30},"ZOOKEEPER_SERVERS",[24,199,35],{"class":34},[24,201,202],{"class":38},"zoo1:2888:3888\n",[24,204,206],{"class":26,"data-line":205,"line":205},14,[24,207,46],{"emptyLinePlaceholder":45},[24,209,211,213,216],{"class":26,"data-line":210,"line":210},15,[24,212,62],{"class":61},[24,214,215],{"class":30},"kafka1",[24,217,55],{"class":34},[24,219,221,223,225,227,229],{"class":26,"data-line":220,"line":220},16,[24,222,62],{"class":61},[24,224,62],{"class":61},[24,226,77],{"class":30},[24,228,35],{"class":34},[24,230,231],{"class":38},"confluentinc\u002Fcp-kafka:7.3.2\n",[24,233,235,237,239,241,243],{"class":26,"data-line":234,"line":234},17,[24,236,62],{"class":61},[24,238,62],{"class":61},[24,240,92],{"class":30},[24,242,35],{"class":34},[24,244,245],{"class":38},"kafka1\n",[24,247,249,251,253,255,257],{"class":26,"data-line":248,"line":248},18,[24,250,62],{"class":61},[24,252,62],{"class":61},[24,254,107],{"class":30},[24,256,35],{"class":34},[24,258,245],{"class":38},[24,260,262,264,266,268],{"class":26,"data-line":261,"line":261},19,[24,263,62],{"class":61},[24,265,62],{"class":61},[24,267,121],{"class":30},[24,269,55],{"class":34},[24,271,273,275,277,279,281],{"class":26,"data-line":272,"line":272},20,[24,274,62],{"class":61},[24,276,62],{"class":61},[24,278,62],{"class":61},[24,280,135],{"class":34},[24,282,283],{"class":38},"\"9092:9092\"\n",[24,285,287,289,291,293,295],{"class":26,"data-line":286,"line":286},21,[24,288,62],{"class":61},[24,290,62],{"class":61},[24,292,62],{"class":61},[24,294,135],{"class":34},[24,296,297],{"class":38},"\"29092:29092\"\n",[24,299,301,303,305,307,309],{"class":26,"data-line":300,"line":300},22,[24,302,62],{"class":61},[24,304,62],{"class":61},[24,306,62],{"class":61},[24,308,135],{"class":34},[24,310,311],{"class":38},"\"9999:9999\"\n",[24,313,315,317,319,321],{"class":26,"data-line":314,"line":314},23,[24,316,62],{"class":61},[24,318,62],{"class":61},[24,320,148],{"class":30},[24,322,55],{"class":34},[24,324,326,328,330,332,335,337],{"class":26,"data-line":325,"line":325},24,[24,327,62],{"class":61},[24,329,62],{"class":61},[24,331,62],{"class":61},[24,333,334],{"class":30},"KAFKA_ADVERTISED_LISTENERS",[24,336,35],{"class":34},[24,338,339],{"class":38},"INTERNAL:\u002F\u002Fkafka1:19092,EXTERNAL:\u002F\u002F${DOCKER_HOST_IP:-127.0.0.1}:9092,DOCKER:\u002F\u002Fhost.docker.internal:29092\n",[24,341,343,345,347,349,352,354],{"class":26,"data-line":342,"line":342},25,[24,344,62],{"class":61},[24,346,62],{"class":61},[24,348,62],{"class":61},[24,350,351],{"class":30},"KAFKA_LISTENER_SECURITY_PROTOCOL_MAP",[24,353,35],{"class":34},[24,355,356],{"class":38},"INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT,DOCKER:PLAINTEXT\n",[24,358,360,362,364,366,369,371],{"class":26,"data-line":359,"line":359},26,[24,361,62],{"class":61},[24,363,62],{"class":61},[24,365,62],{"class":61},[24,367,368],{"class":30},"KAFKA_INTER_BROKER_LISTENER_NAME",[24,370,35],{"class":34},[24,372,373],{"class":38},"INTERNAL\n",[24,375,377,379,381,383,386,388],{"class":26,"data-line":376,"line":376},27,[24,378,62],{"class":61},[24,380,62],{"class":61},[24,382,62],{"class":61},[24,384,385],{"class":30},"KAFKA_ZOOKEEPER_CONNECT",[24,387,35],{"class":34},[24,389,390],{"class":38},"\"zoo1:2181\"\n",[24,392,394,396,398,400,403,405],{"class":26,"data-line":393,"line":393},28,[24,395,62],{"class":61},[24,397,62],{"class":61},[24,399,62],{"class":61},[24,401,402],{"class":30},"KAFKA_BROKER_ID",[24,404,35],{"class":34},[24,406,185],{"class":167},[24,408,410,412,414,416,419,421],{"class":26,"data-line":409,"line":409},29,[24,411,62],{"class":61},[24,413,62],{"class":61},[24,415,62],{"class":61},[24,417,418],{"class":30},"KAFKA_LOG4J_LOGGERS",[24,420,35],{"class":34},[24,422,423],{"class":38},"\"kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO\"\n",[24,425,427,429,431,433,436,438],{"class":26,"data-line":426,"line":426},30,[24,428,62],{"class":61},[24,430,62],{"class":61},[24,432,62],{"class":61},[24,434,435],{"class":30},"KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR",[24,437,35],{"class":34},[24,439,185],{"class":167},[24,441,443,445,447,449,452,454],{"class":26,"data-line":442,"line":442},31,[24,444,62],{"class":61},[24,446,62],{"class":61},[24,448,62],{"class":61},[24,450,451],{"class":30},"KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR",[24,453,35],{"class":34},[24,455,185],{"class":167},[24,457,459,461,463,465,468,470],{"class":26,"data-line":458,"line":458},32,[24,460,62],{"class":61},[24,462,62],{"class":61},[24,464,62],{"class":61},[24,466,467],{"class":30},"KAFKA_TRANSACTION_STATE_LOG_MIN_ISR",[24,469,35],{"class":34},[24,471,185],{"class":167},[24,473,475,477,479,481,484,486],{"class":26,"data-line":474,"line":474},33,[24,476,62],{"class":61},[24,478,62],{"class":61},[24,480,62],{"class":61},[24,482,483],{"class":30},"KAFKA_JMX_PORT",[24,485,35],{"class":34},[24,487,488],{"class":167},"9999\n",[24,490,492,494,496,498,501,503],{"class":26,"data-line":491,"line":491},34,[24,493,62],{"class":61},[24,495,62],{"class":61},[24,497,62],{"class":61},[24,499,500],{"class":30},"KAFKA_JMX_HOSTNAME",[24,502,35],{"class":34},[24,504,505],{"class":38},"${DOCKER_HOST_IP:-127.0.0.1}\n",[24,507,509,511,513,515,518,520],{"class":26,"data-line":508,"line":508},35,[24,510,62],{"class":61},[24,512,62],{"class":61},[24,514,62],{"class":61},[24,516,517],{"class":30},"KAFKA_AUTHORIZER_CLASS_NAME",[24,519,35],{"class":34},[24,521,522],{"class":38},"kafka.security.authorizer.AclAuthorizer\n",[24,524,526,528,530,532,535,537],{"class":26,"data-line":525,"line":525},36,[24,527,62],{"class":61},[24,529,62],{"class":61},[24,531,62],{"class":61},[24,533,534],{"class":30},"KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND",[24,536,35],{"class":34},[24,538,539],{"class":38},"\"true\"\n",[24,541,543,545,547,550],{"class":26,"data-line":542,"line":542},37,[24,544,62],{"class":61},[24,546,62],{"class":61},[24,548,549],{"class":30},"depends_on",[24,551,55],{"class":34},[24,553,555,557,559,561,563],{"class":26,"data-line":554,"line":554},38,[24,556,62],{"class":61},[24,558,62],{"class":61},[24,560,62],{"class":61},[24,562,135],{"class":34},[24,564,97],{"class":38},[24,566,568,570,573],{"class":26,"data-line":567,"line":567},39,[24,569,62],{"class":61},[24,571,572],{"class":30},"kafka-ui",[24,574,55],{"class":34},[24,576,578,580,582,584,586],{"class":26,"data-line":577,"line":577},40,[24,579,62],{"class":61},[24,581,62],{"class":61},[24,583,107],{"class":30},[24,585,35],{"class":34},[24,587,588],{"class":38},"kafka-ui\n",[24,590,592,594,596,598,600],{"class":26,"data-line":591,"line":591},41,[24,593,62],{"class":61},[24,595,62],{"class":61},[24,597,77],{"class":30},[24,599,35],{"class":34},[24,601,602],{"class":38},"provectuslabs\u002Fkafka-ui:latest\n",[24,604,606,608,610,612],{"class":26,"data-line":605,"line":605},42,[24,607,62],{"class":61},[24,609,62],{"class":61},[24,611,121],{"class":30},[24,613,55],{"class":34},[24,615,617,619,621,623,625],{"class":26,"data-line":616,"line":616},43,[24,618,62],{"class":61},[24,620,62],{"class":61},[24,622,62],{"class":61},[24,624,135],{"class":34},[24,626,627],{"class":38},"8080:8080\n",[24,629,631,633,635,637],{"class":26,"data-line":630,"line":630},44,[24,632,62],{"class":61},[24,634,62],{"class":61},[24,636,549],{"class":30},[24,638,55],{"class":34},[24,640,642,644,646,648,650],{"class":26,"data-line":641,"line":641},45,[24,643,62],{"class":61},[24,645,62],{"class":61},[24,647,62],{"class":61},[24,649,135],{"class":34},[24,651,245],{"class":38},[24,653,655,657,659,661],{"class":26,"data-line":654,"line":654},46,[24,656,62],{"class":61},[24,658,62],{"class":61},[24,660,148],{"class":30},[24,662,55],{"class":34},[24,664,666,668,670,672,675,677],{"class":26,"data-line":665,"line":665},47,[24,667,62],{"class":61},[24,669,62],{"class":61},[24,671,62],{"class":61},[24,673,674],{"class":30},"DYNAMIC_CONFIG_ENABLED",[24,676,35],{"class":34},[24,678,679],{"class":38},"\"TRUE\"\n",[10,681,682],{"id":682},"配置节点",[684,685,686],"p",{},[687,688],"img",{"alt":689,"src":690},"image-20251028112001997","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fcodepzj\u002Fimages@main\u002F20251028112059700.png",[10,692,693],{"id":693},"安装kafka-go",[14,695,699],{"className":696,"code":697,"language":698,"meta":19,"style":19},"language-bash shiki shiki-themes github-light github-dark","go get github.com\u002Fsegmentio\u002Fkafka-go\n","bash",[21,700,701],{"__ignoreMap":19},[24,702,703,707,710],{"class":26,"data-line":27,"line":27},[24,704,706],{"class":705},"sScJk","go",[24,708,709],{"class":38}," get",[24,711,712],{"class":38}," github.com\u002Fsegmentio\u002Fkafka-go\n",[10,714,715],{"id":715},"writer写入",[14,717,720],{"className":718,"code":719,"language":706,"meta":19,"style":19},"language-go shiki shiki-themes github-light github-dark","package main\n\nimport (\n\t\"context\"\n\t\"log\"\n\n\t\"github.com\u002Fsegmentio\u002Fkafka-go\"\n)\n\nfunc main() {\n\tw := &kafka.Writer{\n\t\tAddr:         kafka.TCP(\"localhost:9092\"),\n\t\tTopic:        \"topic-A\",\n\t\tBalancer:     &kafka.LeastBytes{},\n\t\tRequiredAcks: kafka.RequireAll,\n\t\tAsync:        true,\n\t}\n\n\terr := w.WriteMessages(context.Background(),\n\t\tkafka.Message{\n\t\t\tKey:   []byte(\"Key-A\"),\n\t\t\tValue: []byte(\"Hello World!\"),\n\t\t},\n\t\tkafka.Message{\n\t\t\tKey:   []byte(\"Key-B\"),\n\t\t\tValue: []byte(\"One!\"),\n\t\t},\n\t\tkafka.Message{\n\t\t\tKey:   []byte(\"Key-C\"),\n\t\t\tValue: []byte(\"Two!\"),\n\t\t})\n\tif err != nil {\n\t\tlog.Fatalf(\"could not write message: %v\", err)\n\t}\n\tif err := w.Close(); err != nil {\n\t\tlog.Fatalf(\"could not close writer: %v\", err)\n\t}\n}\n",[21,721,722,731,735,747,761,772,776,787,792,796,815,840,863,877,904,913,927,936,940,969,984,1013,1039,1051,1065,1090,1115,1127,1141,1166,1191,1203,1223,1250,1258,1288,1311,1319],{"__ignoreMap":19},[24,723,724,728],{"class":26,"data-line":27,"line":27},[24,725,727],{"class":726},"szBVR","package",[24,729,730],{"class":705}," main\n",[24,732,733],{"class":26,"data-line":42,"line":42},[24,734,46],{"emptyLinePlaceholder":45},[24,736,737,740,743],{"class":26,"data-line":49,"line":49},[24,738,739],{"class":726},"import",[24,741,742],{"class":34}," ",[24,744,746],{"class":745},"sSDpw","(\n",[24,748,749,752,755,758],{"class":26,"data-line":58,"line":58},[24,750,751],{"class":61},"\t",[24,753,754],{"class":38},"\"",[24,756,757],{"class":705},"context",[24,759,760],{"class":38},"\"\n",[24,762,763,765,767,770],{"class":26,"data-line":70,"line":70},[24,764,751],{"class":61},[24,766,754],{"class":38},[24,768,769],{"class":705},"log",[24,771,760],{"class":38},[24,773,774],{"class":26,"data-line":85,"line":85},[24,775,46],{"emptyLinePlaceholder":45},[24,777,778,780,782,785],{"class":26,"data-line":100,"line":100},[24,779,751],{"class":61},[24,781,754],{"class":38},[24,783,784],{"class":705},"github.com\u002Fsegmentio\u002Fkafka-go",[24,786,760],{"class":38},[24,788,789],{"class":26,"data-line":114,"line":114},[24,790,791],{"class":745},")\n",[24,793,794],{"class":26,"data-line":126,"line":126},[24,795,46],{"emptyLinePlaceholder":45},[24,797,798,801,804,807,810,812],{"class":26,"data-line":141,"line":141},[24,799,800],{"class":726},"func",[24,802,803],{"class":705}," main",[24,805,806],{"class":745},"(",[24,808,809],{"class":745},")",[24,811,742],{"class":34},[24,813,814],{"class":745},"{\n",[24,816,817,819,822,825,828,831,834,837],{"class":26,"data-line":153,"line":153},[24,818,751],{"class":61},[24,820,821],{"class":34},"w ",[24,823,824],{"class":726},":=",[24,826,827],{"class":726}," &",[24,829,830],{"class":705},"kafka",[24,832,833],{"class":34},".",[24,835,836],{"class":705},"Writer",[24,838,814],{"class":839},"sJX2D",[24,841,842,844,846,849,852,855,858,860],{"class":26,"data-line":171,"line":171},[24,843,751],{"class":61},[24,845,751],{"class":61},[24,847,848],{"class":34},"Addr:         kafka.",[24,850,851],{"class":705},"TCP",[24,853,806],{"class":854},"sqkie",[24,856,857],{"class":38},"\"localhost:9092\"",[24,859,809],{"class":854},[24,861,862],{"class":34},",\n",[24,864,865,867,869,872,875],{"class":26,"data-line":188,"line":188},[24,866,751],{"class":61},[24,868,751],{"class":61},[24,870,871],{"class":34},"Topic:        ",[24,873,874],{"class":38},"\"topic-A\"",[24,876,862],{"class":34},[24,878,879,881,883,886,889,891,893,896,899,902],{"class":26,"data-line":205,"line":205},[24,880,751],{"class":61},[24,882,751],{"class":61},[24,884,885],{"class":34},"Balancer:     ",[24,887,888],{"class":726},"&",[24,890,830],{"class":705},[24,892,833],{"class":34},[24,894,895],{"class":705},"LeastBytes",[24,897,898],{"class":854},"{",[24,900,901],{"class":854},"}",[24,903,862],{"class":34},[24,905,906,908,910],{"class":26,"data-line":210,"line":210},[24,907,751],{"class":61},[24,909,751],{"class":61},[24,911,912],{"class":34},"RequiredAcks: kafka.RequireAll,\n",[24,914,915,917,919,922,925],{"class":26,"data-line":220,"line":220},[24,916,751],{"class":61},[24,918,751],{"class":61},[24,920,921],{"class":34},"Async:        ",[24,923,924],{"class":167},"true",[24,926,862],{"class":34},[24,928,929,931,933],{"class":26,"data-line":234,"line":234},[24,930,751],{"class":61},[24,932,19],{"class":34},[24,934,935],{"class":839},"}\n",[24,937,938],{"class":26,"data-line":248,"line":248},[24,939,46],{"emptyLinePlaceholder":45},[24,941,942,944,947,949,952,955,957,960,963,965,967],{"class":26,"data-line":261,"line":261},[24,943,751],{"class":61},[24,945,946],{"class":34},"err ",[24,948,824],{"class":726},[24,950,951],{"class":34}," w.",[24,953,954],{"class":705},"WriteMessages",[24,956,806],{"class":839},[24,958,959],{"class":34},"context.",[24,961,962],{"class":705},"Background",[24,964,806],{"class":854},[24,966,809],{"class":854},[24,968,862],{"class":34},[24,970,971,973,975,977,979,982],{"class":26,"data-line":272,"line":272},[24,972,751],{"class":61},[24,974,751],{"class":61},[24,976,830],{"class":705},[24,978,833],{"class":34},[24,980,981],{"class":705},"Message",[24,983,814],{"class":854},[24,985,986,988,990,992,995,998,1001,1004,1006,1009,1011],{"class":26,"data-line":286,"line":286},[24,987,751],{"class":61},[24,989,751],{"class":61},[24,991,751],{"class":61},[24,993,994],{"class":34},"Key:   ",[24,996,997],{"class":745},"[",[24,999,1000],{"class":745},"]",[24,1002,1003],{"class":726},"byte",[24,1005,806],{"class":745},[24,1007,1008],{"class":38},"\"Key-A\"",[24,1010,809],{"class":745},[24,1012,862],{"class":34},[24,1014,1015,1017,1019,1021,1024,1026,1028,1030,1032,1035,1037],{"class":26,"data-line":300,"line":300},[24,1016,751],{"class":61},[24,1018,751],{"class":61},[24,1020,751],{"class":61},[24,1022,1023],{"class":34},"Value: ",[24,1025,997],{"class":745},[24,1027,1000],{"class":745},[24,1029,1003],{"class":726},[24,1031,806],{"class":745},[24,1033,1034],{"class":38},"\"Hello World!\"",[24,1036,809],{"class":745},[24,1038,862],{"class":34},[24,1040,1041,1043,1045,1047,1049],{"class":26,"data-line":314,"line":314},[24,1042,751],{"class":61},[24,1044,751],{"class":61},[24,1046,19],{"class":34},[24,1048,901],{"class":854},[24,1050,862],{"class":34},[24,1052,1053,1055,1057,1059,1061,1063],{"class":26,"data-line":325,"line":325},[24,1054,751],{"class":61},[24,1056,751],{"class":61},[24,1058,830],{"class":705},[24,1060,833],{"class":34},[24,1062,981],{"class":705},[24,1064,814],{"class":854},[24,1066,1067,1069,1071,1073,1075,1077,1079,1081,1083,1086,1088],{"class":26,"data-line":342,"line":342},[24,1068,751],{"class":61},[24,1070,751],{"class":61},[24,1072,751],{"class":61},[24,1074,994],{"class":34},[24,1076,997],{"class":745},[24,1078,1000],{"class":745},[24,1080,1003],{"class":726},[24,1082,806],{"class":745},[24,1084,1085],{"class":38},"\"Key-B\"",[24,1087,809],{"class":745},[24,1089,862],{"class":34},[24,1091,1092,1094,1096,1098,1100,1102,1104,1106,1108,1111,1113],{"class":26,"data-line":359,"line":359},[24,1093,751],{"class":61},[24,1095,751],{"class":61},[24,1097,751],{"class":61},[24,1099,1023],{"class":34},[24,1101,997],{"class":745},[24,1103,1000],{"class":745},[24,1105,1003],{"class":726},[24,1107,806],{"class":745},[24,1109,1110],{"class":38},"\"One!\"",[24,1112,809],{"class":745},[24,1114,862],{"class":34},[24,1116,1117,1119,1121,1123,1125],{"class":26,"data-line":376,"line":376},[24,1118,751],{"class":61},[24,1120,751],{"class":61},[24,1122,19],{"class":34},[24,1124,901],{"class":854},[24,1126,862],{"class":34},[24,1128,1129,1131,1133,1135,1137,1139],{"class":26,"data-line":393,"line":393},[24,1130,751],{"class":61},[24,1132,751],{"class":61},[24,1134,830],{"class":705},[24,1136,833],{"class":34},[24,1138,981],{"class":705},[24,1140,814],{"class":854},[24,1142,1143,1145,1147,1149,1151,1153,1155,1157,1159,1162,1164],{"class":26,"data-line":409,"line":409},[24,1144,751],{"class":61},[24,1146,751],{"class":61},[24,1148,751],{"class":61},[24,1150,994],{"class":34},[24,1152,997],{"class":745},[24,1154,1000],{"class":745},[24,1156,1003],{"class":726},[24,1158,806],{"class":745},[24,1160,1161],{"class":38},"\"Key-C\"",[24,1163,809],{"class":745},[24,1165,862],{"class":34},[24,1167,1168,1170,1172,1174,1176,1178,1180,1182,1184,1187,1189],{"class":26,"data-line":426,"line":426},[24,1169,751],{"class":61},[24,1171,751],{"class":61},[24,1173,751],{"class":61},[24,1175,1023],{"class":34},[24,1177,997],{"class":745},[24,1179,1000],{"class":745},[24,1181,1003],{"class":726},[24,1183,806],{"class":745},[24,1185,1186],{"class":38},"\"Two!\"",[24,1188,809],{"class":745},[24,1190,862],{"class":34},[24,1192,1193,1195,1197,1199,1201],{"class":26,"data-line":442,"line":442},[24,1194,751],{"class":61},[24,1196,751],{"class":61},[24,1198,19],{"class":34},[24,1200,901],{"class":854},[24,1202,791],{"class":839},[24,1204,1205,1207,1210,1213,1216,1219,1221],{"class":26,"data-line":458,"line":458},[24,1206,751],{"class":61},[24,1208,1209],{"class":726},"if",[24,1211,1212],{"class":34}," err ",[24,1214,1215],{"class":726},"!=",[24,1217,1218],{"class":167}," nil",[24,1220,742],{"class":34},[24,1222,814],{"class":839},[24,1224,1225,1227,1229,1232,1235,1237,1240,1243,1245,1248],{"class":26,"data-line":474,"line":474},[24,1226,751],{"class":61},[24,1228,751],{"class":61},[24,1230,1231],{"class":34},"log.",[24,1233,1234],{"class":705},"Fatalf",[24,1236,806],{"class":854},[24,1238,1239],{"class":38},"\"could not write message: ",[24,1241,1242],{"class":167},"%v",[24,1244,754],{"class":38},[24,1246,1247],{"class":34},", err",[24,1249,791],{"class":854},[24,1251,1252,1254,1256],{"class":26,"data-line":491,"line":491},[24,1253,751],{"class":61},[24,1255,19],{"class":34},[24,1257,935],{"class":839},[24,1259,1260,1262,1264,1266,1268,1270,1273,1275,1277,1280,1282,1284,1286],{"class":26,"data-line":508,"line":508},[24,1261,751],{"class":61},[24,1263,1209],{"class":726},[24,1265,1212],{"class":34},[24,1267,824],{"class":726},[24,1269,951],{"class":34},[24,1271,1272],{"class":705},"Close",[24,1274,806],{"class":839},[24,1276,809],{"class":839},[24,1278,1279],{"class":34},"; err ",[24,1281,1215],{"class":726},[24,1283,1218],{"class":167},[24,1285,742],{"class":34},[24,1287,814],{"class":839},[24,1289,1290,1292,1294,1296,1298,1300,1303,1305,1307,1309],{"class":26,"data-line":525,"line":525},[24,1291,751],{"class":61},[24,1293,751],{"class":61},[24,1295,1231],{"class":34},[24,1297,1234],{"class":705},[24,1299,806],{"class":854},[24,1301,1302],{"class":38},"\"could not close writer: ",[24,1304,1242],{"class":167},[24,1306,754],{"class":38},[24,1308,1247],{"class":34},[24,1310,791],{"class":854},[24,1312,1313,1315,1317],{"class":26,"data-line":542,"line":542},[24,1314,751],{"class":61},[24,1316,19],{"class":34},[24,1318,935],{"class":839},[24,1320,1321],{"class":26,"data-line":554,"line":554},[24,1322,935],{"class":745},[10,1324,1325],{"id":1325},"reader读入",[14,1327,1328],{"className":718,"code":719,"language":706,"meta":19,"style":19},[21,1329,1330,1336,1340,1348,1358,1368,1372,1382,1386,1390,1404,1422,1440,1452,1474,1482,1494,1502,1506,1530,1544,1568,1592,1604,1618,1642,1666,1678,1692,1716,1740,1752,1768,1790,1798,1826,1848,1856],{"__ignoreMap":19},[24,1331,1332,1334],{"class":26,"data-line":27,"line":27},[24,1333,727],{"class":726},[24,1335,730],{"class":705},[24,1337,1338],{"class":26,"data-line":42,"line":42},[24,1339,46],{"emptyLinePlaceholder":45},[24,1341,1342,1344,1346],{"class":26,"data-line":49,"line":49},[24,1343,739],{"class":726},[24,1345,742],{"class":34},[24,1347,746],{"class":745},[24,1349,1350,1352,1354,1356],{"class":26,"data-line":58,"line":58},[24,1351,751],{"class":61},[24,1353,754],{"class":38},[24,1355,757],{"class":705},[24,1357,760],{"class":38},[24,1359,1360,1362,1364,1366],{"class":26,"data-line":70,"line":70},[24,1361,751],{"class":61},[24,1363,754],{"class":38},[24,1365,769],{"class":705},[24,1367,760],{"class":38},[24,1369,1370],{"class":26,"data-line":85,"line":85},[24,1371,46],{"emptyLinePlaceholder":45},[24,1373,1374,1376,1378,1380],{"class":26,"data-line":100,"line":100},[24,1375,751],{"class":61},[24,1377,754],{"class":38},[24,1379,784],{"class":705},[24,1381,760],{"class":38},[24,1383,1384],{"class":26,"data-line":114,"line":114},[24,1385,791],{"class":745},[24,1387,1388],{"class":26,"data-line":126,"line":126},[24,1389,46],{"emptyLinePlaceholder":45},[24,1391,1392,1394,1396,1398,1400,1402],{"class":26,"data-line":141,"line":141},[24,1393,800],{"class":726},[24,1395,803],{"class":705},[24,1397,806],{"class":745},[24,1399,809],{"class":745},[24,1401,742],{"class":34},[24,1403,814],{"class":745},[24,1405,1406,1408,1410,1412,1414,1416,1418,1420],{"class":26,"data-line":153,"line":153},[24,1407,751],{"class":61},[24,1409,821],{"class":34},[24,1411,824],{"class":726},[24,1413,827],{"class":726},[24,1415,830],{"class":705},[24,1417,833],{"class":34},[24,1419,836],{"class":705},[24,1421,814],{"class":839},[24,1423,1424,1426,1428,1430,1432,1434,1436,1438],{"class":26,"data-line":171,"line":171},[24,1425,751],{"class":61},[24,1427,751],{"class":61},[24,1429,848],{"class":34},[24,1431,851],{"class":705},[24,1433,806],{"class":854},[24,1435,857],{"class":38},[24,1437,809],{"class":854},[24,1439,862],{"class":34},[24,1441,1442,1444,1446,1448,1450],{"class":26,"data-line":188,"line":188},[24,1443,751],{"class":61},[24,1445,751],{"class":61},[24,1447,871],{"class":34},[24,1449,874],{"class":38},[24,1451,862],{"class":34},[24,1453,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472],{"class":26,"data-line":205,"line":205},[24,1455,751],{"class":61},[24,1457,751],{"class":61},[24,1459,885],{"class":34},[24,1461,888],{"class":726},[24,1463,830],{"class":705},[24,1465,833],{"class":34},[24,1467,895],{"class":705},[24,1469,898],{"class":854},[24,1471,901],{"class":854},[24,1473,862],{"class":34},[24,1475,1476,1478,1480],{"class":26,"data-line":210,"line":210},[24,1477,751],{"class":61},[24,1479,751],{"class":61},[24,1481,912],{"class":34},[24,1483,1484,1486,1488,1490,1492],{"class":26,"data-line":220,"line":220},[24,1485,751],{"class":61},[24,1487,751],{"class":61},[24,1489,921],{"class":34},[24,1491,924],{"class":167},[24,1493,862],{"class":34},[24,1495,1496,1498,1500],{"class":26,"data-line":234,"line":234},[24,1497,751],{"class":61},[24,1499,19],{"class":34},[24,1501,935],{"class":839},[24,1503,1504],{"class":26,"data-line":248,"line":248},[24,1505,46],{"emptyLinePlaceholder":45},[24,1507,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528],{"class":26,"data-line":261,"line":261},[24,1509,751],{"class":61},[24,1511,946],{"class":34},[24,1513,824],{"class":726},[24,1515,951],{"class":34},[24,1517,954],{"class":705},[24,1519,806],{"class":839},[24,1521,959],{"class":34},[24,1523,962],{"class":705},[24,1525,806],{"class":854},[24,1527,809],{"class":854},[24,1529,862],{"class":34},[24,1531,1532,1534,1536,1538,1540,1542],{"class":26,"data-line":272,"line":272},[24,1533,751],{"class":61},[24,1535,751],{"class":61},[24,1537,830],{"class":705},[24,1539,833],{"class":34},[24,1541,981],{"class":705},[24,1543,814],{"class":854},[24,1545,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566],{"class":26,"data-line":286,"line":286},[24,1547,751],{"class":61},[24,1549,751],{"class":61},[24,1551,751],{"class":61},[24,1553,994],{"class":34},[24,1555,997],{"class":745},[24,1557,1000],{"class":745},[24,1559,1003],{"class":726},[24,1561,806],{"class":745},[24,1563,1008],{"class":38},[24,1565,809],{"class":745},[24,1567,862],{"class":34},[24,1569,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590],{"class":26,"data-line":300,"line":300},[24,1571,751],{"class":61},[24,1573,751],{"class":61},[24,1575,751],{"class":61},[24,1577,1023],{"class":34},[24,1579,997],{"class":745},[24,1581,1000],{"class":745},[24,1583,1003],{"class":726},[24,1585,806],{"class":745},[24,1587,1034],{"class":38},[24,1589,809],{"class":745},[24,1591,862],{"class":34},[24,1593,1594,1596,1598,1600,1602],{"class":26,"data-line":314,"line":314},[24,1595,751],{"class":61},[24,1597,751],{"class":61},[24,1599,19],{"class":34},[24,1601,901],{"class":854},[24,1603,862],{"class":34},[24,1605,1606,1608,1610,1612,1614,1616],{"class":26,"data-line":325,"line":325},[24,1607,751],{"class":61},[24,1609,751],{"class":61},[24,1611,830],{"class":705},[24,1613,833],{"class":34},[24,1615,981],{"class":705},[24,1617,814],{"class":854},[24,1619,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640],{"class":26,"data-line":342,"line":342},[24,1621,751],{"class":61},[24,1623,751],{"class":61},[24,1625,751],{"class":61},[24,1627,994],{"class":34},[24,1629,997],{"class":745},[24,1631,1000],{"class":745},[24,1633,1003],{"class":726},[24,1635,806],{"class":745},[24,1637,1085],{"class":38},[24,1639,809],{"class":745},[24,1641,862],{"class":34},[24,1643,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664],{"class":26,"data-line":359,"line":359},[24,1645,751],{"class":61},[24,1647,751],{"class":61},[24,1649,751],{"class":61},[24,1651,1023],{"class":34},[24,1653,997],{"class":745},[24,1655,1000],{"class":745},[24,1657,1003],{"class":726},[24,1659,806],{"class":745},[24,1661,1110],{"class":38},[24,1663,809],{"class":745},[24,1665,862],{"class":34},[24,1667,1668,1670,1672,1674,1676],{"class":26,"data-line":376,"line":376},[24,1669,751],{"class":61},[24,1671,751],{"class":61},[24,1673,19],{"class":34},[24,1675,901],{"class":854},[24,1677,862],{"class":34},[24,1679,1680,1682,1684,1686,1688,1690],{"class":26,"data-line":393,"line":393},[24,1681,751],{"class":61},[24,1683,751],{"class":61},[24,1685,830],{"class":705},[24,1687,833],{"class":34},[24,1689,981],{"class":705},[24,1691,814],{"class":854},[24,1693,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714],{"class":26,"data-line":409,"line":409},[24,1695,751],{"class":61},[24,1697,751],{"class":61},[24,1699,751],{"class":61},[24,1701,994],{"class":34},[24,1703,997],{"class":745},[24,1705,1000],{"class":745},[24,1707,1003],{"class":726},[24,1709,806],{"class":745},[24,1711,1161],{"class":38},[24,1713,809],{"class":745},[24,1715,862],{"class":34},[24,1717,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738],{"class":26,"data-line":426,"line":426},[24,1719,751],{"class":61},[24,1721,751],{"class":61},[24,1723,751],{"class":61},[24,1725,1023],{"class":34},[24,1727,997],{"class":745},[24,1729,1000],{"class":745},[24,1731,1003],{"class":726},[24,1733,806],{"class":745},[24,1735,1186],{"class":38},[24,1737,809],{"class":745},[24,1739,862],{"class":34},[24,1741,1742,1744,1746,1748,1750],{"class":26,"data-line":442,"line":442},[24,1743,751],{"class":61},[24,1745,751],{"class":61},[24,1747,19],{"class":34},[24,1749,901],{"class":854},[24,1751,791],{"class":839},[24,1753,1754,1756,1758,1760,1762,1764,1766],{"class":26,"data-line":458,"line":458},[24,1755,751],{"class":61},[24,1757,1209],{"class":726},[24,1759,1212],{"class":34},[24,1761,1215],{"class":726},[24,1763,1218],{"class":167},[24,1765,742],{"class":34},[24,1767,814],{"class":839},[24,1769,1770,1772,1774,1776,1778,1780,1782,1784,1786,1788],{"class":26,"data-line":474,"line":474},[24,1771,751],{"class":61},[24,1773,751],{"class":61},[24,1775,1231],{"class":34},[24,1777,1234],{"class":705},[24,1779,806],{"class":854},[24,1781,1239],{"class":38},[24,1783,1242],{"class":167},[24,1785,754],{"class":38},[24,1787,1247],{"class":34},[24,1789,791],{"class":854},[24,1791,1792,1794,1796],{"class":26,"data-line":491,"line":491},[24,1793,751],{"class":61},[24,1795,19],{"class":34},[24,1797,935],{"class":839},[24,1799,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818,1820,1822,1824],{"class":26,"data-line":508,"line":508},[24,1801,751],{"class":61},[24,1803,1209],{"class":726},[24,1805,1212],{"class":34},[24,1807,824],{"class":726},[24,1809,951],{"class":34},[24,1811,1272],{"class":705},[24,1813,806],{"class":839},[24,1815,809],{"class":839},[24,1817,1279],{"class":34},[24,1819,1215],{"class":726},[24,1821,1218],{"class":167},[24,1823,742],{"class":34},[24,1825,814],{"class":839},[24,1827,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846],{"class":26,"data-line":525,"line":525},[24,1829,751],{"class":61},[24,1831,751],{"class":61},[24,1833,1231],{"class":34},[24,1835,1234],{"class":705},[24,1837,806],{"class":854},[24,1839,1302],{"class":38},[24,1841,1242],{"class":167},[24,1843,754],{"class":38},[24,1845,1247],{"class":34},[24,1847,791],{"class":854},[24,1849,1850,1852,1854],{"class":26,"data-line":542,"line":542},[24,1851,751],{"class":61},[24,1853,19],{"class":34},[24,1855,935],{"class":839},[24,1857,1858],{"class":26,"data-line":554,"line":554},[24,1859,935],{"class":745},[10,1861,1862],{"id":1862},"执行结果",[14,1864,1866],{"className":696,"code":1865,"language":698,"meta":19,"style":19},"root@pzj:\u002Fcode\u002Fdemo\u002Fkafka\u002Freader# go run main.go \nmessage at offset 0 key: Key-A value: Hello World!\nmessage at offset 1 key: Key-B value: One!\nmessage at offset 2 key: Key-C value: Two!\n",[21,1867,1868,1885,1914,1935],{"__ignoreMap":19},[24,1869,1870,1873,1876,1879,1882],{"class":26,"data-line":27,"line":27},[24,1871,1872],{"class":705},"root@pzj:\u002Fcode\u002Fdemo\u002Fkafka\u002Freader#",[24,1874,1875],{"class":38}," go",[24,1877,1878],{"class":38}," run",[24,1880,1881],{"class":38}," main.go",[24,1883,1884],{"class":34}," \n",[24,1886,1887,1890,1893,1896,1899,1902,1905,1908,1911],{"class":26,"data-line":42,"line":42},[24,1888,1889],{"class":705},"message",[24,1891,1892],{"class":38}," at",[24,1894,1895],{"class":38}," offset",[24,1897,1898],{"class":167}," 0",[24,1900,1901],{"class":38}," key:",[24,1903,1904],{"class":38}," Key-A",[24,1906,1907],{"class":38}," value:",[24,1909,1910],{"class":38}," Hello",[24,1912,1913],{"class":38}," World!\n",[24,1915,1916,1918,1920,1922,1925,1927,1930,1932],{"class":26,"data-line":49,"line":49},[24,1917,1889],{"class":705},[24,1919,1892],{"class":38},[24,1921,1895],{"class":38},[24,1923,1924],{"class":167}," 1",[24,1926,1901],{"class":38},[24,1928,1929],{"class":38}," Key-B",[24,1931,1907],{"class":38},[24,1933,1934],{"class":38}," One!\n",[24,1936,1937,1939,1941,1943,1946,1948,1951,1953],{"class":26,"data-line":58,"line":58},[24,1938,1889],{"class":705},[24,1940,1892],{"class":38},[24,1942,1895],{"class":38},[24,1944,1945],{"class":167}," 2",[24,1947,1901],{"class":38},[24,1949,1950],{"class":38}," Key-C",[24,1952,1907],{"class":38},[24,1954,1955],{"class":38}," Two!\n",[1957,1958,1959],"style",{},"html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sSDpw, html code.shiki .sSDpw{--shiki-default:#005cc5;--shiki-dark:#79b8ff}html pre.shiki code .sJX2D, html code.shiki .sJX2D{--shiki-default:#e36209;--shiki-dark:#ffab70}html pre.shiki code .sqkie, html code.shiki .sqkie{--shiki-default:#5a32a3;--shiki-dark:#b392f0}",{"title":19,"searchDepth":58,"depth":58,"links":1961},[1962,1963,1964,1965,1966,1967],{"id":12,"depth":42,"text":12},{"id":682,"depth":42,"text":682},{"id":693,"depth":42,"text":693},{"id":715,"depth":42,"text":715},{"id":1325,"depth":42,"text":1325},{"id":1862,"depth":42,"text":1862},[1969],"工程实践","2025-10-28","介绍 kafka-go 的安装与使用，并通过 Go 示例实现消息生产、消费和偏移量读取。",false,"md",null,{"slots":1976},{},"\u002F2025\u002F10\u002Fkafka-go",{"text":1979,"minutes":1980,"time":1981,"words":1982},"2 min read",1.385,83100,277,{"title":5,"description":1971},{"loc":1977},"posts\u002F2025\u002F10\u002Fkafka-go",[830],"tech","QrqksA74MPzwtF_TuTsp5Aw76a2DAbm3MnE-PE_3Tpw",[1990,1994],{"title":1991,"path":1992,"stem":1993,"date":1970,"type":1987,"children":-1},"Canal 安装配置与 Go 客户端实践","\u002F2025\u002F10\u002Fcanal","posts\u002F2025\u002F10\u002Fcanal",{"title":1995,"path":1996,"stem":1997,"date":1998,"type":1987,"children":-1},"Go Zap实现日志双写和切割","\u002F2025\u002F10\u002Fgo-zap","posts\u002F2025\u002F10\u002Fgo-zap","2025-10-30",1786555054950]