当前位置: 首页 > news >正文

镇江网站建设制作在线一键生成网页

镇江网站建设制作,在线一键生成网页,阿里巴巴网站威海哪里做?,今日中央新闻问题背景: Kafka部署在内网,内网Java服务会使用Kafka收发消息,另外,Java服务会与其他第三方系统使用kafka实现数据同步,也就是外网也会发送消息到kafka,外网IP做了端口映射到了内网,advertised…

问题背景:

Kafka部署在内网,内网Java服务会使用Kafka收发消息,另外,Java服务会与其他第三方系统使用kafka实现数据同步,也就是外网也会发送消息到kafka,外网IP做了端口映射到了内网,advertised.listeners配置了外网ip端口,所以这里的问题就是内网程序发送kafka消息也会走到外网,这样会有部分连接出现超时错误,所以这种方式不太合理。

解决办法:

参考网上内外网分流方式进行处理,外部访问kafka通过公网连接,内部程序使用内网访问。

listeners与advertised.listeners含义

1. listeners

含义:用于指定Kafka Broker实际监听的地址和端口,listeners 的格式通常是:协议名称://主机名或IP地址:端口,可以同时配置多个, 并且用逗号隔开,监听器的名称和端口必须是唯一的,端口相同,就冲突了。
示例

listeners=PLAINTEXT://your.host.name:9092

在这个示例中,Kafka Broker将监听your.host.name这个主机名上的9092端口,并使用PLAINTEXT协议(即不加密的文本协议)。

2.advertised.listeners

含义
Kafka 服务器对外宣传的端点信息,它会将地址注册到Zookeeper中,用于告诉客户端应该连接到哪个地址和端口,也就是客户端真正要访问的地址。advertised.listeners 的格式与 listeners 类似,但是可以指定不同的地址或端口,如果没有配置,则默认值和listener一样,另外,advertised.listeners不支持0.0.0.0这种形式, 所以如果listeners属性设置成0.0.0.0,则必须设置advertised.listeners属性。
示例

listeners=PLAINTEXT://internal.host.name:9092  
advertised.listeners=PLAINTEXT://external.host.name:9092

在这个示例中,Kafka Broker在内部网络上监听internal.host.name这个主机名上的9092端口,但向外部客户端公布external.host.name这个主机名上的9092端口作为连接地址。

内外网分流配置修改

kakfa配置文件config/server.properties修改前

listeners=PLAINTEXT://172.20.0.147:9092
advertised.listeners=PLAINTEXT://10.103.25.230:9092

修改后

listeners=INSIDE://:19092,OUTSIDE://:9092
advertised.listeners=INSIDE://172.20.0.147:19092,OUTSIDE://10.103.25.230:9092
listener.security.protocol.map=INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
inter.broker.listener.name=INSIDE

说明

  • listeners这里设置了2个监听器,监听了所有IP的两个端口,19092为内网kafka使用端口,9092为外部访问端口
  • 172.20.0.147是内网服务器IP地址,10.103.25.230为公网IP地址,端口已也添加了映射:10.103.25.230->172.20.0.147,这样我们当我们通过kafka客户端连接kafka时,kafka会从zookeeper中获取kafka元数据信息,这时候kafka客户端得到的就是advertised.listeners的信息,因为这里OUTSIDE配置的外网IP,当客户端通过10.103.25.230访问kafka时,请求就会被之前配置的映射进行转发,被转发到内网ip,从而完成对kafka的访问。
  • listener.security.protocol.map为监听器名称和安全协议之间的映射关系集合,PLAINTEXT表示明文
  • inter.broker.listener.name用于broker之间通信的listener名称,如果未设置,则listener名称由 security.inter.broker.protocol 定义(security.inter.broker.protocol默认值是PLAINTEXT)

遇到问题

  1. 修改过程中的报错:
org.apache.kafka.common.KafkaException: Socket server failed to bind to 10.103.25.230:9092: Cannot assign requested address.

解决方案
listeners由原来固定IP修改为:

listeners=INSIDE://:19092,OUTSIDE://:9092

参考链接:
https://juejin.cn/post/6893410969611927566
https://www.confluent.io/blog/kafka-listeners-explained/

http://www.hkea.cn/news/191101/

相关文章:

  • wpf入可以做网站吗竞价托管外包费用
  • 公司设计网站需要包含什么资料优化排名软件
  • 日本樱花云服务器wan亚马逊seo关键词优化软件
  • layui框架的wordpress厦门站长优化工具
  • 微网站设计尺寸培训课程总结
  • 保险平台官网湖北搜索引擎优化
  • 西安微信小程序制作公司关键词优化方法
  • 手机网站建设用乐云seo搜索引擎是什么意思啊
  • 昆明做大的网站开发公司google网页搜索
  • 做网站运营需要什么证宁波靠谱营销型网站建设
  • 天津进口网站建设电话青岛网站建设公司
  • 游戏币网站建设win7优化大师官方网站
  • 技术专业网站建设班级优化大师网页版登录
  • 外国网站上做雅思考试台州百度推广优化
  • 男女做那种的的视频网站国内最好的搜索引擎
  • 泉州做网站优化价格成功品牌策划案例
  • 做网站去哪个平台资源优化排名网站
  • 备案的网站名称可以改吗百度青岛代理公司
  • 专做进口批发的网站关键词优化多少钱
  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司
  • 那些网站招聘在家里做的客服网店推广策略
  • 湘西 网站 建设 公司sem代运营托管公司
  • 用css为wordpress排版西安seo外包服务
  • vs2005做网站百度推广官方网站登录入口