nats client_advertise advertise cluster_advertise 参数
nats 的几个参数还是比较有意思的,但是也比较容易误解,在leaf 节点,cluster,gateway 模式中都有这几个参数,但是不同的场景次参数意义也不太一样
cluster 模式
client_advertise 主要是在集群部署的时候,同时我们如果是在nat 环境(或者云环境),需要暴露公网访问地址,advertise ,cluster_advertise 主要是集群内部的,但是这个东西吧还有一个额外的参数no_advertise,从参数可以控制不会泄漏内部地址,当然client 如果需要访问通过client_advertise 是推荐的模式,同时建议no_advertise 不开启,这样client 就能使用nats 的自动负载均衡以及处理了
leaf 节点模式
此模式中advertise 可以不配置,但是如果是云环境,需要保留外部的场景,此参数应该配置为公网的ip:port, 同时注意no_advertise 多得作用与cluster 是不一样的(当前版本),尽管你可以开启,但是实际效果并不是你想的,依然还是会暴露内网ip 的
gateway 模式
与leaf 基本类似,但是没有 no_advertise 参数
说明
nats advertise 以及no_advertise 在不同场景的含义是不太一样的,对于cluster 推荐还是配置client_advertise,如果真的不想配置,可以添加no_advertise,然后通过lb 解决,但是实际上官方并不太推荐此玩法,还是建议开启自动的lb 模式(推荐配置client_advertise)
参考资料
https://docs.nats.io/running-a-nats-service/configuration/clustering/cluster_config
浙公网安备 33010602011771号