第 7 章 数据网格端口和协议

随着数据网格在整个网络上分发数据,并可为外部客户端请求建立连接,您应该了解数据网格用来处理网络流量的端口和协议。

如果以远程服务器身份运行 Data Grid,您可能需要通过防火墙允许远程客户端。同样,您应该调整 Data Grid 节点用于集群通信的端口,以防止冲突或网络问题。

7.1. Data Grid Server 端口和协议

Data Grid Server 提供网络端点,允许客户端访问不同的协议。

端口协议描述

11222

TCP

热环和 REST

11221

TCP

memcached (默认为禁用)

单个端口

数据网格服务器通过单个 TCP 端口 11222 公开多个协议。使用单一端口处理多个协议简化了配置,降低部署数据网格集群时的管理复杂性。使用单个端口还通过最小化网络上的攻击面来增强安全性。

数据网格服务器以不同的方式通过单一端口处理来自客户端的 HTTP/1.1、HTTP/2 和 Hot Rod 协议请求。

HTTP/1.1 升级标头

客户端请求可以包含 HTTP/1.1 upgrade 标头字段来发起与 Data Grid Server 的 HTTP/1.1 连接。然后,客户端应用程序可以发送 Upgrade: protocol 标头字段,其中 protocol 是服务器端点。

application-Layer Protocol Negotiation (ALPN)/Transport Layer Security (TLS)

客户端请求包括 Data Grid Server 端点的 Server Name Indication (SNI)映射,以便在 TLS 连接中协商协议。

注意

应用程序必须使用支持 ALPN 扩展的 TLS 库。数据网格将 WildFly OpenSSL 绑定用于 Java。

自动 Hot Rod 检测

包含 Hot Rod 标头的客户端请求会自动路由到 Hot Rod 端点。

7.1.1. 为 Data Grid 流量配置网络防火墙

调整防火墙规则,以允许 Data Grid 服务器和客户端应用程序之间的流量。

流程

例如,在 Red Hat Enterprise Linux (RHEL)工作站中,您可以使用 firewalld 来允许到端口 11222 的流量,如下所示:

# firewall-cmd --add-port=11222/tcp --permanent
success
# firewall-cmd --list-ports | grep 11222
11222/tcp

要配置网络适用的防火墙规则,您可以使用 nftables 实用程序。