如果配置文件完全由Nacos进行管理的话,SpringCloud无法同时访问多个namespace的配置文件,那么我在开发环境定义的数据库类型,在测试和生产环境又要重新定义一遍,这个时候配置仍然没有做到共享。如果要完全遵循 只配置一次
的原则,显然Nacos是无法做到的。
为了达到只配置一次的目的,要解决两个问题:①不同服务(商品服务,订单服务,用户服务)之间的配置共享,②不同环境(dev/uat/prod)之间的配置共享
按照Nacos的设计理念:一个namespace就是一个环境。他只做到了第一点,没有做到第二点。
恰好SpringBoot的profiles能做到第二点,做不到第一点。
要坚持 只配置一次
的原则,如果Nacos坚持一个服务只能配置一个namespace的话,我认为折中的方案是:使用Nacos管理不同服务的配置共享,使用profiles管理不同环境的配置共享。