Nacos 新版本为什么要开放 9848 端口?

Nacos 新版本为什么要开放 9848 端口?

背景

Nacos 从 2.0 版本开始引入了 gRPC 协议作为客户端与服务器之间的通信方式,而 9848 端口是 gRPC 协议的默认端口。因此,新版本的 Nacos 需要开放 9848 端口以支持 gRPC 通信。

本文将详细解释 Nacos 新版本开放 9848 端口的原因、作用以及如何配置。


1. 为什么需要 gRPC?

Nacos 2.0 引入 gRPC 的主要目的是为了提升性能和扩展性:

  • 性能优化:gRPC 基于 HTTP/2 协议,支持多路复用、二进制传输等特性,相比 HTTP/1.1 具有更高的传输效率和更低的延迟。

  • 双向通信:gRPC 支持双向流式通信,适合 Nacos 的配置动态更新和服务发现场景。

  • 扩展性:gRPC 提供了更好的扩展性,支持多种编程语言,方便 Nacos 客户端和服务器的跨语言集成。


2. 为什么是 9848 端口?

  • 默认端口:Nacos 2.0 将 9848 端口作为 gRPC 通信的默认端口。

  • 端口分离

    • 8848 端口:用于 HTTP 协议,兼容旧版本的 Nacos 客户端。

    • 9848 端口:用于 gRPC 协议,支持新版本的 Nacos 客户端。

  • 安全性:通过端口分离,可以更好地管理不同协议的流量,便于防火墙和安全组规则的配置。


3. 新版本 Nacos 的端口说明

端口协议用途
8848HTTP兼容旧版本客户端,提供 RESTful API。
9848gRPC支持新版本客户端,提供高性能通信。
7848gRPC

用于 Nacos 集群节点间的通信。

4. 如何开放 9848 端口

如果你的 Nacos 服务器运行在云服务器或本地环境中,需要确保 9848 端口对客户端开放。

4.1 云服务器(如阿里云、腾讯云等)

4.2 本地服务器

    • 登录云服务器控制台。

    • 找到安全组配置,添加入站规则:

      • 协议:TCP

      • 端口范围:9848

      • 源 IP:允许访问的客户端 IP 地址(或 0.0.0.0/0 允许所有 IP)。

    • 使用以下命令开放 9848 端口:

      bash

      复制

      sudo ufw allow 9848
    • 如果使用 iptables,可以添加以下规则:

      bash

      复制

      sudo iptables -A INPUT -p tcp --dport 9848 -j ACCEPT
      sudo service iptables save
  • 5. 如何禁用 gRPC(可选)

    如果你不希望使用 gRPC,可以强制 Nacos 客户端使用 HTTP 协议。在客户端配置中添加以下参数:

    yaml

    复制

    spring:
      cloud:
        nacos:
          config:
            server-addr: 127.0.0.1:8848
            protocol: HTTP # 强制使用 HTTP 协议
          discovery:
            server-addr: 127.0.0.1:8848
            protocol: HTTP # 强制使用 HTTP 协议

    6. 注意事项

    • 兼容性:Nacos 2.0 仍然支持 HTTP 协议(8848 端口),因此旧版本客户端可以继续使用。

    • 性能权衡:如果禁用 gRPC,可能会影响配置动态更新和服务发现的性能。

    • 安全性:开放 9848 端口时,确保仅允许受信任的客户端访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值