栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

虚拟域名解决开发和生产环境bootstrap.yml中nacos地址不一致问题

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

虚拟域名解决开发和生产环境bootstrap.yml中nacos地址不一致问题

情景:最近本人给所在的准国企的一个项目搭建正式环境,遇到一个问题,问题是开发环境nacos地址为127.0.0.1,而正式环境中使用nacos集群的地址为192.168.0.1(编造,服务器真实涉密不方便透露原理一样)。这就造成bootstrap.yml中的nacos地址配置问题,到底配置哪个地址,项目才能正常启动?

首先来分析一下问题,开发环境nacos为单机版所以在本地服务器搭建了nacos单机版地址为127.0.0.1,这样没有什么问题。但是产品上线或者准上线时部署的环境通常为nacos集群(正式环境通常为了高可用,都会使用集群模式)。nacos集群官方推荐使用nginx负载均衡或者其他负载均衡方案,此时bootstrap.yml中nacos地址就会变成nacos.com或者nginx负载均衡地址192.168.0.1。所以会导致开发环境和正式环境nacos地址不一致的问题。有人就会说了?直接在负载均衡的nginx中部署然后nacos地址就可以填写127.0.0.1了,可以是可以,但是忽略了几个问题。 使用nacos的场景一般都为微服务或者分布式,都会部署应用集群,应用集群,项目启动本地服务器并没有nacos而地址配置的是127.0.0.1合适吗?

nacos集群方案:

域名+负载均衡

nginx负载均衡

解决方案:在配置文件配置域名
原理:为什么配置域名可以解决这个问题?原理是这样的,配置文件中配置域名比如a.com,然后在开发服务器和所有正式环境服务器的hosts文件中配置a.com的映射,映射到nacos集群地址。这样只要是本地hosts配置了a.com,服务器就会映射到nacos的集群地址。

使用步骤:

  1. 项目配置文件bootstrap.yml中配置域名,可以使虚拟域名或者正式环境域名都可以。
cloud:
    nacos:
      discovery:
        server-addr: nacos.com:8001
      config:
        server-addr: nacos.com:8001
  1. 服务器hosts配置文件添加nacos.com的映射
    nacos.com直接解析到192.168.0.2,Linux系统hosts文件为/etc/hosts,开发环境和所有的正式环境服务器都要配置,自己的本机的开发环境hosts也要配置。
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.4 ls.5tg6sesa ls.5tg6sesa
192.168.0.2 nacos.com
  1. 可以正常启动。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/964958.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号