nacos——你了解吗?

前言:

之前说的dubbo官网指定的注册中心的zookeeper,现在我们说一下更加常用的nacos.

nacos: 它是专注于服务发现和配置管理领域的一个阿里项目。nacos可以跟很多技术 进行整合的,我就说一下比较常用的整合吧。

前期准备:

下载nacos服务,直接解压就好了。
nacos下载
注意点:
如果你使用的是最近比较新的版本可能会报错,比如2.0.3
nacos——你了解吗?
推荐使用命令启动:startup.cmd -m standalone
如果你想直接双击就启动,推荐使用版本nacos-server-1.1.3

整合使用

**
Springcloud与nacos整合

  • 添加依赖
<!--nacos启动配置管理-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>${latest.version}</version>
</dependency>
<!--启动nacos服务发现功能-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>0.2.2.RELEASE</version>
</dependency>
<!--nacos客户端-->
<dependency>
	<groupId>com.alibaba.nacos</groupId>
	<artifactId>nacos-client</artifactId>
	<version>1.1.0</version>
</dependency>
  • 添加配置
# 服务方的配置
server:
  port: 8000
spring:
  cloud:
    nacos:
      discovery:
        server-addr:  127.0.0.1:8848 # 配置nacos 服务端地址
  application:
    name: nacos-provider # 服务名称
# 消费方的配置
server:
  port: 9000
spring:
  cloud:
    nacos:
      discovery:
        server-addr:  127.0.0.1:8848 # 配置nacos 服务端地址
  application:
    name: nacos-consumer # 服务名称
  • 添加注解
在启动类的位置上加上注解:@EnableDiscoveryClient

核心代码

dubbo与nacos整合

  • 添加依赖
 <dependencies>
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>common-api</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-registry-nacos</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.1</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>1.3.1</version>
        </dependency>


        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
  • dubbo中配置nacos的信息
## 其他属性保持不变

server:
  port: 8082
dubbo:
  registry:
    address: nacos://127.0.0.1:8848
  application:
    name: nacos-provider-application


启动类上加上注解@EnableDubbo
重启你的dubbo即可。

  • 访问你的nacos
  • 地址为:localhost:8848/nacos 账户密码:默认为nacos
    nacos——你了解吗?
    其实它dubbo整合的方法是一样的 只是换了注册中心的地址而已。

    nacos作为注册中心源码

nacos的其他概念

  • 命名空间
    你可能会在配置文件中看到一个namespace的属性,这个就是命名空间,你可以将它理解成一个不同的饭店,不同的饭店可以存在相同的门牌号(相同的Group或Data ID)常常开发的时候,我们会有不同的环境,比如开发环境,生产环境什么的,我们可以通过这个命名空间进行区别.
  • 服务名
    服务提供的标志,说白了就是相当与服务的唯一标识,就像数据库中的主键一样。
  • 注册中心
    存储服务实例和服务负载均衡策略的数据库,说白了就是你写的服务,会 生成一个实例,这个实例放的位置就是我们的注册中心。
  • 服务提供方和服务消费方
    就是我们提供可复用和可调用服务的应用方,而消费方就是我们对于我们注册的服务方发起调用的应用方,我们的使用都是基于这两个的。
上一篇:Java连接Redis集群


下一篇:JS 数据可视化