文章正文

若依权限系统-Nacos集群配置与域名访问

【文章】2020-04-23

简介若依权限系统-Nacos集群配置与域名访问

image.png



官方参考文档: Nacos集群部署


Nginx配置

upstream nacos {
      server 127.0.0.1:8848;
      server 127.0.0.1:8849;
      server 127.0.0.1:8850;
}
server{
      listen 80;
      server_name  nacos.com;
      location / {
            proxy_pass http://nacos;
        }
}


集成Nacos

maven依赖:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>                   
            <version>0.9.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <!-- nacos-服务注册发现 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <!-- nacos-配置中心 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
</dependencies>

配置:

  • bootstrap.properties

spring.cloud.nacos.config.server-addr=nacos.com:80
spring.application.name=demo-core
  • application.yml

application.yml
    server:
        port: 9000
    spring:
      profiles:
        active: @profileActive@
      cloud:
        nacos:
          discovery:
            server-addr: nacos.com:80
            group: DEFAULT_GROUP
          config:
            group: DEFAULT_GROUP
            file-extension: properties
  • application-dev.properties

根据不同的环境,可以创建命名空间,命名空间namespace配置的是ID,不是名称
#nacos 命名空间
spring.cloud.nacos.discovery.namespace=8b4cd4e4-c018-42a7-a8e2-e3c724e6d80b
spring.cloud.nacos.config.namespace=8b4cd4e4-c018-42a7-a8e2-e3c724e6d80b

启动类

@SpringCloudApplication
@EnableDiscoveryClient
@EnableFeignClients
@Slf4j
public class CoreApplication {
    public static void main(String[] args) {
        SpringApplication.run(CoreApplication.class, args);
    }
    @Bean
    @LoadBalanced
    RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

注意

  • server-addr= 域名+port,如果只配置server-addr=nacos.com,Nacos 代码生成的路径中,会在域名后加端口8848,访问路径不对。

  • Spring cloud 项目配置文件加载顺序,最先加载bootstrap.properties,项目中要有bootstrap.properties文件,并在bootstrap.properties中包含配置中心地址

  • Nacos 目前有个bug,服务注册时,group默认DEFAULT_GROUP,如果自定义group,注册后发现还是DEFAULT_GROUP,自定义的不生效。

  • 使用Nacos作为配置中心时,命名空间默认就是public, 其他自定义的命名空间无效,只有服务注册发现才区分命名空间。因为对于配置,阿里最初命名空间用来区分不同业务开发场景的,不是用来区分开发、测试、线上环境的,因为配置文件名data id 已经可以区分环境,官方目前也没有对该问题作出修改,我试了如下最新版也不可以。

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>2.2.1.RELEASE</version>
</dependency>

打赏支持

感谢您的支持,加油!

打开微信扫码打赏,你说多少就多少

找书费时,联系客服快速获取!

扫码支持

在线客服8:30-22:30,若离线请留言!

获取教程,请联系在线客服!

扫码支持

在线客服8:30-22:30,若离线请留言!

热门阅读

找PDF电子书,太费时间?

  • 微信扫描二维码,让客服快速查找。
  • 在线客服8:30-22:00,若离线请留言!