实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错
更新时间: 浏览次数: 258
理论学再多,不如上手敲代码!前面我们又是搭集群,又是讲概念,今天终于到了激动人心的编程实战环节!
我们将使用 Python 这个“万金油”语言,连接到我们亲手搭建的 Kafka 4.0 KRaft 集群,编写生产者(Producer)发送消息,再编写消费者(Consumer)接收消息。
更重要的是,我们会穿插一个 “开发运维扯皮角” 环节,专门聊聊那些在实际工作中,开发和运维因为 Kafka 问题经常battle的场景,以及如何从根源上解决它们。
准备工作:安装 Python Kafka 库
我们需要一个强大的 Python 库来和 Kafka 交互。kafka-python 是一个非常流行的选择。
pip install kafka-python
生产者(Producer):把消息送上车
生产者负责将业务消息发送到指定的 Topic。下面是一个简单但包含了最佳实践的生产者代码。
# producer.pyfrom kafka import KafkaProducerimport jsonimport time# --- 最佳实践:配置要清晰 ---# 1. 集群地址列表,即使只有一个也要写成列表,方便扩展bootstrap_servers = ['192.168.1.11:9092', '192.168.1.12:9092', '192.168.1.13:9092']# 2. Topic 名称topic_name = 'hello-kraft'# 3. 序列化器:将 Python 字典转为 JSON 字符串再编码为字节流def json_serializer(data): return json.dumps(data).encode('utf-8')# --- 创建生产者实例 ---producer = KafkaProducer( bootstrap_servers=bootstrap_servers, value_serializer=json_serializer, # acks='all' 保证数据不丢失,是生产环境推荐的配置 acks='all', # 重试次数,应对网络抖动 retries=3)print("生产者已启动,开始发送消息...")# --- 发送消息 ---for i in range(10): message = { 'event_id': i, 'message': f'Hello Kafka from Python! Message #{i}', 'timestamp': time.time } try: # 发送!.get 会阻塞直到消息发送成功或失败 future = producer.send(topic_name, value=message) record_metadata = future.get(timeout=10) print(f"消息发送成功 -> Topic: {record_metadata.topic}, Partition: {record_metadata.partition}, Offset: {record_metadata.offset}") except Exception as e: print(f"消息发送失败: {e}") # 这里可以加入更复杂的错误处理逻辑,比如记录日志、告警 time.sleep(1)# --- 关闭生产者 ---producer.flushproducer.closeprint("生产者已关闭。")
️ 开发运维扯皮角 (Producer篇)
开发:“我程序报 KafkaTimeoutError!是不是 Kafka 集群挂了?”
运维:“我看了监控,集群好好的!是不是你代码有问题?”
排查思路:
网络先行:运维首先要确认,开发的应用服务器能否 telnet 192.168.1.11 9092 通。90% 的连接问题都是网络不通或防火墙。
检查 advertised.listeners:运维要再次确认 Kafka Broker 的 advertised.listeners 配置的是不是开发能访问的 IP。这是新手运维最常犯的错!
代码配置 acks:开发要检查 acks 配置。如果 acks='all',意味着需要所有副本都确认收到才算成功,这对网络的稳定性和延迟要求更高。如果业务允许,可以降级为 acks=1(仅 Leader 确认)来提高发送速度,但会牺牲一点点可靠性。
消息大小:开发要确认发送的消息是否超过了 Kafka 的 message.max.bytes 限制(默认 1MB)。
消费者(Consumer):从车上取包裹
消费者负责从 Topic 订阅并处理消息。
# consumer.pyfrom kafka import KafkaConsumerimport json# --- 配置 ---bootstrap_servers = ['192.168.1.11:9092', '192.168.1.12:9092', '192.168.1.13:9092']topic_name = 'hello-kraft'# 【关键】消费者组 ID,同一组的消费者会分摊 Partitiongroup_id = 'my-first-consumer-group'# --- 创建消费者实例 ---consumer = KafkaConsumer( topic_name, bootstrap_servers=bootstrap_servers, group_id=group_id, # auto_offset_reset='earliest' 表示从最早的消息开始消费 # 如果设置为 'latest',则只消费启动后到达的新消息 auto_offset_reset='earliest', # 自动提交 offset,生产环境可能需要手动提交以保证精确一次处理 enable_auto_commit=True, auto_commit_interval_ms=5000, # 5秒提交一次 # 反序列化器 value_deserializer=lambda v: json.loads(v.decode('utf-8')))print(f"消费者已启动,正在监听 Topic '{topic_name}'...")# --- 循环消费消息 ---try: for message in consumer: print(f"收到消息 -> Partition: {message.partition}, Offset: {message.offset}") print(f" Key: {message.key}, Value: {message.value}") # 在这里编写你的业务处理逻辑 # ...except KeyboardInterrupt: print("停止消费...")finally: consumer.close print("消费者已关闭。")
️ 开发运维扯皮角 (Consumer篇)
开发:“我的服务好像重复消费了好多消息啊!Kafka 的 bug?”
运维:“集群没问题。你看看你的 group.id 是不是没设对?或者处理逻辑太慢了?”
排查思路:
group.id 是灵魂:开发必须保证,所有处理同一业务逻辑的消费者实例,都使用 相同的 group.id。如果每个实例都随机生成一个 group.id,那 Kafka 会认为它们都是独立的消费者,于是把所有消息都发给它们一遍,造成“伪重复消费”。
消费 rebalance:运维可以观察日志,看消费者组是否频繁发生 rebalance(重平衡)。当一个消费者加入或离开组时,会触发 rebalance,分区会重新分配。如果消费者的处理逻辑时间超过了 Kafka 的 session.timeout.ms(默认 45 秒),Broker 会认为它“假死”了,将它踢出组,从而引发 rebalance。这是导致重复消费的常见原因。
消息积压 (Lag):运维的核心职责是监控 Consumer Lag。如果 Lag 持续增大,说明消费速度跟不上生产速度。此时需要:分析瓶颈:是消费者的处理逻辑太慢(比如调用外部 API、复杂计算)?还是资源不足(CPU、内存)?扩容:如果逻辑无法优化,最直接的办法就是 增加消费者实例。但前提是,你的 Topic 分区数必须大于等于消费者实例数,否则多出来的消费者实例会闲置,无法提高并行度。这就是为什么我们在上一篇强调“合理规划分区数”如此重要!

实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错24小时观看热线:122。实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错全市各区点热线号码。☎:122
实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错24小时观看热线拥有专业的观看技师,快速的上门,为你的生活排忧解难。如您有以下需要我们来解决的问题请尽快与我们联系。我们能为您排除各种故障,特别是疑难杂症。
1.热情专业的团队
实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错是您解决问题的最佳选择。我们拥有一支热情、专业的团队,竭诚为您提供优质的。无论您遇到哪些问题或疑虑,只需拨打122,我们的将会耐心倾听并提供您所需的帮助。您的满意是我们的追求。
2.红色字体,标志品质保障
当您拨打实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错的电话热线122时,您会惊喜地发现号码是以鲜艳的红色字体显示。这不仅是为了吸引您的注意,更是对我们产品卓越品质的保证。红色代表着力量和热情,我们希望通过热情的为您提供最可靠的解决方案,确保您的使用体验无忧无虑。
3.您的需求是我们最大的动力
我们深知客户的需求是我们成长的源泉,因此,您的需求总是我们最关心的问题。无论您遇到什么问题,无论大小,我们都将以最快的速度和最专业的态度进行处理。您只需拨打我们的电话热线,详细描述问题,我们将竭尽全力为您解决。您的满意度是我们工作的最终目标。
4.全方位的解决方案
一旦您拨通了实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错的电话热线122,我们将全面了解您的问题,并提供最合适的解决方案。无论是技术问题、、观看咨询还是其他相关问题,我们都将通过专业分析和经验丰富的团队来解决您的困扰。您的信赖是我们不懈努力的动力。
5.周到贴心的
我们追求卓越品质的同时,也注重周到贴心的。在您使用实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错的过程中,如果遇到了任何问题或需要观看,您只需拨打122,我们将及时安排人员为您提供全程跟踪。我们将无微不至地为您解决问题,确保您的家居生活舒适温暖。
结语
无论是产品质量还是,实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错都以高品质标准来追求客户的满意度。拨打我们的实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错电话热线122,您将得到热情专业的团队的全方位支持。我们将竭诚为您提供最可靠、高效和周到的解决方案,为您带来舒适的家居体验。
5、全部在线支付,方便快捷,保障权益。支持支付宝,微信付款
清远市(清城、清新)
宜昌市(宜都市、长阳土家族自治县、🦐当阳市、🕕五峰土家族自治县、西陵区、兴山县、夷陵区、远安县、点军区、枝江市、猇亭区、秭归县、伍家岗区、🌍市辖区)
淮安市(淮安、淮阴、🍣清江浦、🙏洪泽)
巴彦淖尔市(杭锦后旗、磴口县、乌拉特中旗、🍽乌拉特后旗、乌拉特前旗、🍦️市辖区、🖕临河区、♍️五原县)
焦作市(解放、中站、马村、山阳)
娄底市(娄星)
鞍山市:🤤铁东区、铁西区、💝立山区、👎千山区。
郴州市(北湖、苏仙)
牡丹江市:🔪东安区(部分区域未列出)、西安区和阳明区和爱民区和绥芬河市和海林市(部分区域未列出)。
唐山市(丰润区、😤丰南区、遵化市、🌛迁安市、⚠️️开平区、唐海县、🕣滦南县、🦇乐亭县、滦州市、玉田县、♈️迁西县、遵化市、唐山市路南区)
南通市(崇川区,港闸区,开发区,🥢海门区,🙀海安市。)
厦门市(思明、海沧、😒湖里、🙀集美、同安、翔安)
湘西土家族苗族自治州(凤凰县、😨永顺县、🐐泸溪县、🌮保靖县、♓️吉首市、花垣县、龙山县、古丈县)
白山市:浑江区、😇江源区。
江门市(蓬江、江海、新会)
常熟市(方塔管理区、⚱️虹桥管理区、💕琴湖管理区、🐝兴福管理区、谢桥管理区、♓️大义管理区、☁️莫城管理区。)宿迁(宿豫区、🌗宿城区、🍆湖滨新区、洋河新区。)
荆州市(沙市、😭荆州)
三亚市(淮北、🥄吉阳、天涯、崖州)
廊坊市(安次、广阳)
无锡市实战 Kafka 4.0 编程 : Python 生产者 消费者最佳实践与排错电话-400各市区电话(梁溪、滨湖、惠山、新吴、锡山)
宜春市(袁州)
六安市(日照安、🎋裕安、叶集)
锦州市(凌海市、🍗义县、🍊黑山县、🥕凌河区、😽市辖区、古塔区、🛐北镇市、😌太和区)
银川市(永宁县、兴庆区、西夏区、金凤区、💝贺兰县、灵武市、市辖区)
安康市(宁陕县、🥤白河县、✝️汉阴县、岚皋县、🤬石泉县、🈴市辖区、紫阳县、🐅汉滨区、🍡旬阳县、镇坪县、✳️平利县)
宜昌市(伍家岗区、西陵区、点军区、👐猇亭区、🤞夷陵区、👺远安县、🌹兴山县、秭归县、🈴长阳土家族自治县、🍞五峰土家族自治县、🐣宜都市、当阳市、🐕枝江市、🔪虎亭区)
白山市:浑江区、🦚江源区。
赣州市(南康区、✡️章贡区、🍬赣县区、👹信丰县、大余县、上犹县、♒️崇义县、安远县、♒️龙南县、🙃定南县、全南县、宁都县、🐅于都县、兴国县、😗会昌县、寻乌县、石城县、长征镇、沙洲镇、黄冈镇)
绍兴市(越城、柯桥、上虞)
杭州市(临安、🍳上城、下城、🦁江干、拱野、🤪西湖、滨江、余杭)
揭阳市(榕城、🌚揭东)
鹰潭市(余江县、市辖区、♍️贵溪市、🏉月湖区)
邯郸市(邯山、♎️丛台、🌎复兴、🐥峰峰矿、肥乡、永年)
巴彦淖尔市(杭锦后旗、磴口县、乌拉特中旗、⁉️乌拉特后旗、乌拉特前旗、🦇市辖区、☕️临河区、🐐五原县)
宜昌市(伍家岗区、西陵区、点军区、猇亭区、夷陵区、🐄远安县、兴山县、秭归县、💙长阳土家族自治县、😲五峰土家族自治县、🕞宜都市、🤬当阳市、枝江市、虎亭区)
襄阳市(樊城区、襄州区、老河口市、😞宜城市、南漳县、谷城县、保康县、🕖枣阳市、定南县、🍑随州市、白浪镇、城关镇、🖤赵家镇、东津镇、堰头镇)
湖州市(南湖、秀洲)
马鞍山市(花山、雨山)
邢台市(柏乡县、临西县、任县、👽新河县、🌧宁晋县、南宫市、🐅内丘县、清河县、㊙️巨鹿县、🏉临城县、😉隆尧县、🈷️南和县、威县、桥东区、邢台县、🚸市辖区、平乡县、桥西区、🐖广宗县、沙河市)
银川市(永宁县、🐏兴庆区、🤝西夏区、😶金凤区、贺兰县、⚡️灵武市、市辖区)
遵义市(汇川区、红花岗区、遵义县、🌸桐梓县、绥阳县、正安县、道真仡佬族苗族自治县、🥣务川县、☝️凤冈县、🤔湄潭县、余庆县、习水县、🥀赤水市、🌕仁怀市、土家族苗族自治县、🈺铜仁市、😓松桃苗族自治县、万山区、黔西县)
襄阳市(襄城、🌍樊城、🐅襄州)
长春市(南关、宽城、🏺️朝阳、二道、🐥绿园、双阳)
桂林市(象山区、叠彩区、🈶七星区、🎋️临桂区、阳朔县、🤗灵川县、全州县、兴安县、灌阳县、荔浦市、🐒资源县、平乐县、恭城瑶族自治县、龙胜各族自治县、永福县)
重庆市(绵阳、🐝涪陵、渝中、🖤大渡口、🎽️江北、😩沙坪坝、💥️九龙坡、南岸、北培、万盛、双桥、渝北、巴南)
鞍山市(铁西区、海城市、台安县、岫岩满族自治县、立山区、🦡铁东区、🐂市辖区、🙏千山区)
蚌埠市(五河县、🤜️固镇县、🌵市辖区、淮上区、龙子湖区、蚌山区、怀远县、禹会区)
襄阳市(襄城、🍲樊城、襄州)
太原市(小店、🦁迎泽、杏花岭、尖草坪、🦝万柏林、🤬️晋源)
南昌市(青山湖区、🍝️红谷滩新区、🆎东湖区、西湖区、♏️青山湖区、😝南昌县、进贤县、🐂安义县、湾里区、🍮地藏寺镇、🐙瑶湖镇、铜鼓县、昌北区、⚛️青云谱区、🤮望城坡镇)
宁波市(海曙、🐙️江东、🌰江北、👐北仑、⛎镇海)
甘肃省兰州市(城关区、🙉七里河区、西固区、🦂安宁区、红古区、永登县、皋兰县、榆中县、兰州新区、皋兰县、🌥雁滩区)
抚顺市:🚫顺城区、新抚区、👵东洲区、望花区。
衡阳市(珠晖、雁峰、😀石鼓、♐️蒸湘、南岳)
咸宁市(通山县、🥯咸安区、崇阳县、通城县、🤯市辖区、赤壁市、嘉鱼县)
新竹县(新丰乡、♌️峨眉乡、湖口乡、⚱️关西镇、新埔镇、🥟横山乡、尖石乡、北埔乡、竹东镇、🌍宝山乡、芎林乡、🍾五峰乡、😅竹北市)
太仓市(城厢镇、金浪镇、💥沙溪镇、璜泾镇、浏河镇、浏家港镇;)
南通市(崇州、港闸、通州)
宜昌市(西陵、伍家岗、🐷点军、猇亭、👲️夷陵)
铁岭市:🉐银州区、🥬清河区。
贵州省安顺市(西秀区、🈸平坝区、普定县、镇宁布依族苗族自治县、🌥关岭布依族苗族自治县、🤜紫云苗族布依族自治县、😉安顺市、开阳县)
抚顺市:顺城区、新抚区、🤞东洲区、💀望花区。
济南市(历下、市中、槐荫、天桥、🥥历城、长清)
珠海市(香洲区、斗门区、☮️金湾区、💖横琴新区、万山区、🥍珠海高新区、✡️唐家湾镇、🧓三灶镇、白石镇、💥前山镇、🤙南屏镇、🕒珠海港镇、金鼎镇)
铁岭市:😫银州区、清河区。
南昌市(东湖区、🐐西湖区、👎青山湖区、红谷滩新区、南昌县、新建区、♒️安义县、进贤县、🌱️湾里区、🐓昌北区)
南投县(信义乡、🕙竹山镇、🐔中寮乡、🍏水里乡、🐈草屯镇、🧡仁爱乡、名间乡、🌔埔里镇、🎣鹿谷乡、国姓乡、鱼池乡、🍚集集镇、南投市)
榆林市(榆阳区,横山区)朝阳市(双塔区、龙城区)
上饶市(信州、广丰、广信)
益阳市(南县、资阳区、🥯桃江县、🍔市辖区、🌒沅江市、赫山区、安化县)
南昌市(东湖区、西湖区、💙青山湖区、红谷滩新区、南昌县、👐安义县、进贤县、经开区、青山湖区、湾里区、🧀赣江新区、青云谱区、👌浔阳区)
临沂市(兰山区、🤳️罗庄区、👍️河东区、沂南县、郯城县、🕡苍山县、🥊费县、🐚蒙阴县、临沭县、🤨兰陵县、莒南县、平邑县、沂水县、🍡临沂高新技术产业开发区)
本溪市:平山区、明山区、🏐溪湖区、南芬区。
乐山市(市中、🍹沙湾、五通桥、日照口河)
鹤壁市(淇县、🥟鹤山区、🐸浚县、山城区、市辖区、淇滨区)
白山市(靖宇县、🐤浑江区、江源区、长白朝鲜族自治县、抚松县、🕸临江市、🥋市辖区)
贵州省安顺市(西秀区、平坝区、普定县、镇宁布依族苗族自治县、🔞关岭布依族苗族自治县、🥋紫云苗族布依族自治县、安顺市、🎂开阳县)
九江市(莲溪、🍧浔阳)
牡丹江市:东安区(部分区域未列出)、🌞西安区和阳明区和爱民区和绥芬河市和海林市(部分区域未列出)。
东莞市(莞城、🦚南城、🦑万江、东城,石碣、🍖石龙、🍙茶山、🥍石排、🛑企石、横沥、桥头、谢岗、🏏东坑、🙏常平、🦇寮步、🌞大朗、黄江、清溪、塘厦、凤岗、🎍长安、🙏惠东、🌪厚街、👎沙田、道窖、洪梅、🍸麻涌、‼️中堂、✡️高步、🕖樟木头、🌳大岭山、🥬望牛墩)
通辽市(科尔沁区、☪️扎鲁特旗、😻开鲁县、霍林郭勒市、市辖区、😰科尔沁左翼中旗、♨️库伦旗、科尔沁左翼后旗、💓奈曼旗)
桂林市(秀峰区、🤣️象山区、七星区、雁山区、🥤临桂区、👽阳朔县、资源县、平乐县、灌阳县、👊荔浦市、灵川县、全州县、🍍永福县、🕚龙胜各族自治县、🍝恭城瑶族自治县):🙂
嘉兴市(海宁市、👍市辖区、🕓秀洲区、💫平湖市、🐔桐乡市、南湖区、🦂嘉善县、海盐县)
常熟市(方塔管理区、🕠虹桥管理区、琴湖管理区、⛈兴福管理区、谢桥管理区、大义管理区、莫城管理区。)宿迁(宿豫区、♑️宿城区、😽湖滨新区、洋河新区。)
台州市(椒江、🗡黄岩、🐜️路桥)
泰州市(海陵区、🥦高港区、姜堰区、兴化市、👍泰兴市、🥝靖江市、😩扬中市、丹阳市、泰州市区、姜堰区、🗡️海安镇、周庄镇、🕥东进镇、世伦镇、❇️青龙镇、杨湾镇、🕷️马桥镇)
牡丹江市:东安区(部分区域未列出)、🆑️西安区和阳明区和爱民区和绥芬河市和海林市(部分区域未列出)。
雅安市(汉源县、市辖区、🕉名山区、🥟石棉县、🔞荥经县、宝兴县、天全县、👆芦山县、🔪雨城区)
南充市(顺庆区、🕞高坪区、🖤嘉陵区、🌩南部县、🈴营山县、蓬安县、👌仪陇县、✴️西充县、😸阆中市、抚顺县、阆中市、😧南充高新区)
郴州市(宜章县、🐕嘉禾县、🐋永兴县、💞汝城县、市辖区、桂东县、北湖区、桂阳县、苏仙区、🌦临武县、安仁县、资兴市)
山南市(错那县、琼结县、‼️洛扎县、🌝贡嘎县、🐡️桑日县、👴曲松县、🌍浪卡子县、🐺市辖区、隆子县、🦏加查县、🌑扎囊县、乃东区、措美县)
南昌市(青山湖区、红谷滩新区、东湖区、🥛西湖区、青山湖区、南昌县、进贤县、安义县、🦃湾里区、📛地藏寺镇、瑶湖镇、🌐铜鼓县、🏉昌北区、青云谱区、望城坡镇)
株洲市(荷塘、芦淞、石峰、🐄天元)
辽阳市(文圣区、🌒宏伟区、🥨弓长岭区、太子河区、🥘灯塔市、💙️辽阳县、白塔区、广德镇、双台镇、桥头镇、长春镇、🍊合德镇、😆兴隆镇、安平镇、辛寨镇、🐝黄土岭镇)
舟山市(市辖区、💓定海区、嵊泗县、普陀区、🤲️岱山县)
玉溪市(澄江县、⚾️江川县、易门县、华宁县、新平彝族傣族自治县、🥮元江哈尼族彝族傣族自治县、🤠通海县、抚仙湖镇、红塔区、🌓龙潭街道、南北街道、白石街道)
三明市(梅列、♉️三元)
柳州市(柳北区、柳南区、柳江县、柳城县、🕞️鹿寨县、融安县、〽️融水苗族自治县、三江侗族自治县、城中区、鱼峰区、柳东新区、柳市镇)
保定市(莲池、竞秀)
德州市(陵城区、乐陵市、宁津县、庆云县、💚️临邑县、🦖平原县、🐅武城县、夏津县、禹城市、德城区、🧐禹城市、🤮齐河县、🦟开封县、双汇镇、👏东风镇、商丘市、阳谷县、🐤共青城市、城南新区)
昆山市(昆山开发、高新、☘️综合保税)
许昌市(魏都)
济南市(历下、市中、🦌槐荫、🛡️天桥、🈯️历城、长清)
安康市(宁陕县、🈶白河县、汉阴县、🦄️岚皋县、石泉县、市辖区、紫阳县、🐕汉滨区、🍋️旬阳县、镇坪县、平利县)
常州市(天宁、⛎钟楼、新北、武进、日照坛)
郑州市(中原、二七、管城、日照水、🍞上街、惠济)
中卫市(沙坡头区、海原县、中宁县、🥜市辖区)
金华市(武义县、东阳市、磐安县、浦江县、🙄兰溪市、🖤永康市、婺城区、义乌市、⛔️市辖区、金东区)
长沙市(芙蓉、✌天心、岳麓、🕒开福、🕢雨花、望城)
葫芦岛市:龙港区、♉️南票区、🍻连山区。
沧州市(新华区、运河区、💜沧县、青县、🐅东光县、海兴县、盐山县、肃宁县、南皮县、😟吴桥县、献县、👿孟村回族自治县、河北沧州高新技术产业开发区、沧州经济技术开发区、🔅任丘市、黄骅市、🐍河间市、泊头市)
邢台市(邢台县、😥南和县、清河县、临城县、🚬广宗县、威县、宁晋县、😡柏乡县、♋️任县、🌲内丘县、南宫市、沙河市、任县、邢东区、邢西区、😔平乡县、🤲️巨鹿县)
巴彦淖尔市(杭锦后旗、磴口县、👌乌拉特中旗、乌拉特后旗、🍿乌拉特前旗、🦕市辖区、临河区、五原县)
连云港市(连云、海州、赣榆)
淮安市(淮阴区、清河区、淮安区、🍝涟水县、🌮洪泽区、🐿️盱眙县、金湖县、楚州区、👊️淮安区、🍯海安县、🥃亭湖区、🐀淮安开发区)
玉林市(玉州)
柳州市(城中、☢️鱼峰、🐔柳南、柳北、🈸柳江)
新竹县(新丰乡、💓峨眉乡、🕘湖口乡、关西镇、新埔镇、🍤横山乡、尖石乡、🍩北埔乡、🤞竹东镇、宝山乡、🍂芎林乡、五峰乡、竹北市)
临沂市(兰山、💹罗庄、河东)
连云港市(连云、🐸海州、🕞赣榆)
廊坊市(安次、广阳)
赣州市(南康区、🌺赣县区、于都县、兴国县、🌱章贡区、龙南县、大余县、🍴信丰县、安远县、全南县、🤠宁都县、⛅️定南县、上犹县、🐉崇义县、🥨南城县)
玉溪市(澄江县、江川县、通海县、😺华宁县、🌈易门县、峨山彝族自治县、抚仙湖镇、新平县、元江哈尼族彝族傣族自治县、红塔区、🌨玉溪县、📵敖东镇、🦅珠街镇)
宜昌市(宜都市、🛐长阳土家族自治县、当阳市、五峰土家族自治县、西陵区、兴山县、🌖夷陵区、远安县、点军区、🐟枝江市、🐓猇亭区、秭归县、🍻伍家岗区、🕧市辖区)
绵阳市(江油市、😞北川羌族自治县、梓潼县、市辖区、盐亭县、涪城区、安州区、🧓三台县、🥒平武县、游仙区)
湘潭市(雨湖、☦️岳塘)
漳州市(芗城、✴️龙文)
嘉义县(朴子市、🐇番路乡、民雄乡、竹崎乡、梅山乡、义竹乡、大林镇、🍤布袋镇、新港乡、太保市、六脚乡、🏉大埔乡、👹鹿草乡、🌶️溪口乡、水上乡、🔱中埔乡、阿里山乡、🐃东石乡)
日本首相石破茂宣布辞去自民党总裁职务 当地时间7日18时左右,日本首相、自民党总裁石破茂在首相官邸举行紧急记者会,宣布决定辞去自民党总裁职务。 石破茂表示,有关临时总裁选举的相关手续事项,已向自民党干事长传达。在选出新总裁之前,将尽到自己的责任