欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx反向代理Kafka集群配置詳解

 更新時間:2025年08月18日 08:54:32   作者:花酒鋤作田  
文章介紹如何使用Nginx?1.28反向代理Kafka?2.13-3.9.1集群,本文的測試環(huán)境中,使用nginx來反向代理kafka集群,接下來通過本文給大家講解Nginx反向代理Kafka集群配置的相關知識,感興趣的朋友一起看看吧

前言

kafka集群的網絡沒法被客戶端直接訪問,中間需要有個代理。正常網絡情況下,kafka會給客戶端返回所有的broker地址,如果客戶端無法訪問到broker就會報錯,所以kafka給客戶端返回的地址需要是客戶端能訪問的代理服務器地址。

本文的測試環(huán)境中,使用nginx來反向代理kafka集群。nginx和kafka部署在同一臺機器上,使用firewalld確保只開放8000端口,拒絕機器外訪問kafka的端口。

  • nginx版本:1.28,IP:192.168.0.41,使用8000端口代理kafka集群
  • kafka版本:2.13-3.9.1,使用kraft組單點集群, IP:192.168.0.41。搭建過程見我的另一篇博客 詳細講解Docker-Compose部署Kafka KRaft集群環(huán)境
  • 客戶端IP:192.168.0.108

kafka配置

因為使用的是kraft,所以修改 config/kraft/server.properties配置文件,只需要修改advertised.listeners的配置。如下,PLAINTEXT指的是客戶端訪問地址,CONTROLLER因為是kafka內部集群通信才用到,所以只需要修改PLAINTEXT為nginx代理地址即可。PLAINTEXT試了需要寫成hostname,而不能是ip地址,否則客戶端還是會報錯。

# 舊配置,PLAINTEXT為Kakfa broker的監(jiān)聽地址
# advertised.listeners=PLAINTEXT://192.168.0.41:9092,CONTROLLER://192.168.0.41:19092
# 新配置,PLAINTEXT為Nginx代理服務器的地址
advertised.listeners=PLAINTEXT://kafka-cluster:8000,CONTROLLER://192.168.0.41:19092

kafka 機器的/etc/hosts添加配置192.168.0.41 kafka-cluster(不確定到底要不要配置,懶得再測了,感興趣的可以自行嘗試)

配置修改完成后,重啟kafka所有節(jié)點。

nginx配置

nginx需要有編譯參數--with-stream才能支持TCP/UDP的反向代理,如何編譯可自行搜索相關文檔。

  • 修改nginx/conf/nginx.conf的配置,導入conf.d目錄下所有*-stream.conf的配置文件。如果配置很少,也可以直接寫在nginx.conf文件里面。
stream {
    include conf.d/*-stream.conf;
}
  • 編輯nginx/conf/conf.d/kafka-stream.conf
upstream kafka-endpoints {
    server 192.168.0.41:9092;
    server 192.168.0.41:9093;
    server 192.168.0.41:9094;
}
server {
    listen 8000;
    proxy_pass kafka-endpoints;
}
  • 測試并重加載nginx配置
nginx -t
nginx -s reload

firewalld配置

  • 安裝firewalld
sudo apt install -y firewalld
  • 設置默認zone為drop,即拒絕所有入站流量
sudo firewall-cmd --set-default-zone=drop
  • 添加放行入站端口
sudo firewall-cmd --add-port=22/tcp --add-port=80/tcp --add-port=443/tcp --add-port=8000/tcp --permanent --zone=drop
  • 重加載
sudo firewall-cmd --reload
  • 在客戶端測試能否訪問其它端口。結果不為0即訪問失敗。
timeout 1 bash -c "cat < /dev/null > /dev/tcp/192.168.0.41/9092" > /dev/null 2>&1;echo $?

客戶端配置

  • 修改/etc/hosts,添加配置
192.168.0.41    kafka-cluster
  • 使用kafka自帶工具啟動生產者
./bin/kafka-console-producer.sh --broker-list kafka-cluster:8000 --topic testtopic
  • 在另一個終端啟動消費者
./bin/kafka-console-consumer.sh --bootstrap-server kafka-cluster:8000 --topic testtopic --from-beginning
  • 在生產者終端隨便輸入點字符,如果消費者終端也能看到,說明nginx代理成功。

到此這篇關于Nginx反向代理Kafka集群的文章就介紹到這了,更多相關Nginx反向代理Kafka集群內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • nginx+iis實現簡單的負載均衡

    nginx+iis實現簡單的負載均衡

    這篇文章主要為大家詳細介紹了nginx+iis實現一個簡單的負載均衡的方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Nginx緩存文件與動態(tài)文件自動均衡的配置腳本

    Nginx緩存文件與動態(tài)文件自動均衡的配置腳本

    Nginx (engine x) 是一個高性能的HTTP和反向代理服務,也是一個IMAP/POP3/SMTP服務。這篇文章主要介紹了Nignx緩存文件與動態(tài)文件自動均衡的配置,需要的朋友可以參考下
    2018-09-09
  • 如何配置nginx成功代理websocket

    如何配置nginx成功代理websocket

    配置Nginx作為WebSocket代理是一種常見的設置,以便在Nginx服務器上實現WebSocket連接的轉發(fā)和負載均衡,這篇文章主要介紹了配置nginx以成功代理websocket,需要的朋友可以參考下
    2024-02-02
  • Nginx用戶認證配置方法詳解(域名/目錄)

    Nginx用戶認證配置方法詳解(域名/目錄)

    Nginx超級強大它可以單獨為一個域名設置用戶認證,方法也很簡單我們只要生成用戶認證的用戶名和密碼,然后再Nginx添加auth認證配置即可
    2013-08-08
  • nginx HTTP模塊配置常用指令

    nginx HTTP模塊配置常用指令

    這篇文章主要介紹了nginx HTTP模塊在配置文件中常用的指令,詳解了每個指令的含義、語法和注意事項等,需要的朋友可以參考下
    2014-03-03
  • 詳解php+nginx 服務發(fā)生500 502錯誤排查思路

    詳解php+nginx 服務發(fā)生500 502錯誤排查思路

    這篇文章主要介紹了詳解php+nginx 服務發(fā)生500 502錯誤排查思路,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • nginx try_files指令判斷文件是否存在實例

    nginx try_files指令判斷文件是否存在實例

    這篇文章主要介紹了nginx try_files指令判斷文件是否存在實例,本文用一個實際需求講解try_files指令的使用,并給出配置示例,需要的朋友可以參考下
    2015-02-02
  • nginx?sticky實現基于cookie負載均衡示例詳解

    nginx?sticky實現基于cookie負載均衡示例詳解

    這篇文章主要為大家介紹了nginx?sticky實現基于cookie負載均衡示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Nginx的跨域、alias、優(yōu)化方式

    Nginx的跨域、alias、優(yōu)化方式

    這篇文章主要介紹了Nginx的跨域、alias、優(yōu)化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 詳解Nginx中的geo模塊與利用其配置負載均衡的示例

    詳解Nginx中的geo模塊與利用其配置負載均衡的示例

    這篇文章主要介紹了詳解Nginx中的geo模塊與利用其配置負載均衡的示例,文中對模塊的geo指令使用有比較詳細的介紹,需要的朋友可以參考下
    2016-01-01

最新評論