天天看点

手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战

前面讲解了Eureka的集成实战,目的是让大家先了解SpringCloud初代是怎么集成的,然后在了解Nacos的就是水到渠成的事情。Nacos的强大在于一下整合了服务注册发现、配置管理和Bus总线,我会分三期分别讲解,本期带大家来学习服务注册中心的主要功能。

Nacos简介

  • GitHub地址:https://github.com/alibaba/nacos
  • 中文官方地址:https://nacos.io/zh-cn/
  • 手册地址:https://nacos.io/zh-cn/docs/what-is-nacos.html
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战
上面三个地址是学习Nacos最常用的地址。代码集成也是出自手册,所以大家在学习过程中遇到任何不懂的地方,建议大家把三个地址收藏到浏览器的书鉴中,方便及时查阅。

Nacos的功能

  • 替代EUREKA,作为服务注册中心
  • 替代Config,作为配置中心 
  • 替代Bus,作为服务总线

Nacos的下载和安装

  • Nacos跟Eureka类似也有一个后台页面,Eureka在使用的时候还需要构建一个Web工程,而Nacos就不需要了,只要下载一个jar包就可以。
  • Nacos默认内部集成了数据库,适合单机模式,也支持mysql做替换,适合集群模式。注册中心的功能介绍,我这里是在单机模式上来开发。
  • 需要Java8和maven本地环境
  • 由于前面文章介绍过,我使用的是cloud的alibaba的2.2.6版本,对应的Nacos的版本是1.4.2
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战
  •  在GitHub上点击tags,下载1.4.2的server的zip包,文件的结构如下。bin目录下是执行文件,conf下是配置文件
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战
  • 配置文件的结构如下,application.properties是Springboot工程的配置文件,cluster.conf是Nacos集群配置文件,主要是配置IP+port,nacos-mysql.sql是MySQL的初始化语句,主要是创建数据库和表结构
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战
  • 单机模式启动Nacos,执行命令:
startup.cmd -m standalone
           
  • 默认绑定8848端口,使用内嵌数据库,看到Nacos started successfully in standalone mode,说明单机模式启动成功
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战
  • 本地访问http://localhost:8848,账号密码都是nacos,看到如下主页说明nacos已经能够正常使用了。可以看到有配置管理、服务管理等,本篇文章主要关注服务管理。
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战

SpringCloud集成Nacos实战

  • 首先是创建一个新的module,cloud-nacos-payment9001,Moudle的创建可以参考本系列的其他文章,这里不在赘述,跟着我博客学下来的,这部分应该已经学会了。
  • 修改pom文件,添加Nacos服务注册中心需要的jar包依赖
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
           
  • 修改yml文件,增加Nacos的服务注册中心的配置 
spring:
  application:
    name: cloud-nacos-payment
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
           
  • 修改启动类,只要添加@EnableDiscoveryClient注解即可
@SpringBootApplication
@EnableDiscoveryClient
public class Application9001 {
    public static void main(String[] args) {
        SpringApplication.run(Application9001.class, args);
    }
}
           
  • 启动服务,去Nacos后台查看该服务是否已经注册进来。
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战
  • 同样的办法,服务提供者我们再创建一个9002,主要用来模拟负载均衡
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战
  • 同样的办法添加服务消费者cloud-nacos-order9003,看到payment两个实例,order一个实例,都注册成功。
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战
  • 修改业务类,9001和9002中分别添加getPayment方法,在9003中添加调用方法,来测试通过nacos的服务发现功能是否能访问成功。具体方法代码跟使用Eureka的相同,这里就不在赘述,大家可以进入我的码云仓库去下载。关注我公众号【帅哥趣谈】,回复【cloud】获取。
  • Nacos是集成了Ribbon,所有具有服务发现的能力,可以通过依赖关系看到。所以在发起服务请求的时候用RESTTemplate即可
手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战
  • 至此,Nacos的服务注册和发现功能集成实战就完成了。

关注公众号,回复【资料】,免费获取海量Java学习资料

手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战

同时也欢迎大家添加个人微信【shishuai860505】,我拉大家进我的读者交流群。

手把手学习springcloudalibaba:❤️‍Nacos服务注册中心集成实战❤️‍Nacos简介Nacos的功能Nacos的下载和安装SpringCloud集成Nacos实战

继续阅读