SpringCloud 整合注册中心,配置中心 Nacos (九)

简介: SpringCloud 整合注册中心,配置中心 Nacos (九)

前言



其实也就是相当于之前用的 eureka 和 config (或者阿波罗)。


本篇提供给初学者,最快速最简单地去使用上nacos 。


正文



1.首先以最快的速度 ,本地(windows环境) ,把我们的nacos 服务 跑起来。


网盘拿nacos 压缩包 :

https://pan.baidu.com/s/1vCbDPsGYZUdjG6J7pZ7Jrg


提取码: j3be


ps : 不想用我的也可以,去官方下一个即可,


① 去官网 Nacos 快速开始

② 看官方推荐版本,然后点击 release notes


image.png


③看自己是linux还是windows ,下载对应的包。(本篇是在windows做案例,用的zip)


image.png


2. 下载到后, 解压 ,进入到 相关的bin文件夹 ,找到 startup.cmd ,先别急着启动:


image.png


3. 默认是集群模式(相关使用情况,需要建库,本地跑会报错),所以我们改成   standalone 单机模式:


image.png


4. 双击执行  startup.cmd :


image.png


5.访问这个 默认页地址,使用默认账号 nacos  密码nacos 登录即可 :


image.png


接下来 ,其余服务 注册到 nacos, 并使用。


快速创建一个springboot项目 ,


pom.xml 文件引入依赖 :


    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <spring.boot.version>2.1.0.RELEASE</spring.boot.version>
        <spring.cloud.alibaba.version>2.1.0.RELEASE</spring.cloud.alibaba.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
    </dependencies>


bootstrap.yml 文件:


server:
  port: 9010
spring:
  profiles:
    active: dev
  application:
    name: service-A
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.230.61:8848
      config:
        file-extension: properties
        server-addr: 192.168.230.61:8848
        group: MY_DATA_GROUP


这里注意到了,我们要对应起来我们nacos里面的配置文件 :


image.png


service-A-dev.properties  nacos配置文件名 是这样, 对应我们项目的yml文件里面几个参数。


来到我们刚才登录进入的Nacos ,新增一个配置文件:


image.png


DATA ID 和 GROUP 还有配置模式 选择 properties,里面随便放一个值作为参数获取测试用:


image.png


回到我们示例项目,快速写一个测试接口、获取配置参数的代码:


image.png


项目跑起来 :


其实可以看到从nacos拿配置文件的时候的一些命名规则


image.png


回到Nacos的页面,可以看到服务已经注册上来了:


image.png


调用测试接口:


image.png


以上是配置中心的作用,以及用到了一点注册中心,但是一个服务其实看不出来注册中心的作用。


事不宜迟,快速再创建一个项目,稍微改一下名字 ,改成 server-B ,我们通过serverB 调用server-A服务接口(其实不是每个服务都要用到配置中心,如果不用,就不需要在pom里面导入spring-cloud-starter-alibaba-nacos-config 这个jar的依赖) :


image.png


但是要想都注册到注册中心去,这个依赖是必要的:


        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>


简单写点代码,在B服务通过 注册中心服务名调用 A服务接口:


image.png


启动服务B ,可以看到注册中心服务列表里面注册上来了:


image.png


测试:


image.png


好了,该篇简单快速的应用nacos作为注册中心、配置中心文章,就到这吧。


相关文章
|
4天前
|
XML Java 数据格式
Spring Cloud全解析:注册中心之zookeeper注册中心
使用ZooKeeper作为Spring Cloud的注册中心无需单独部署服务器,直接利用ZooKeeper服务端功能。项目通过`spring-cloud-starter-zookeeper-discovery`依赖实现服务注册与发现。配置文件指定连接地址,如`localhost:2181`。启动应用后,服务自动注册到ZooKeeper的`/services`路径下,形成临时节点,包含服务实例信息。
|
3天前
|
运维 Java Nacos
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
|
8天前
|
应用服务中间件 Nacos 数据库
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
22 1
|
8天前
|
SQL 关系型数据库 MySQL
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
26 1
|
3天前
|
Java 数据库连接 Nacos
SpringCloud微服务配置管理、配置热更新
SpringCloud微服务配置管理、配置热更新
14 0
|
4天前
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
13 0
|
4天前
|
Kubernetes Nacos 微服务
【技术难题破解】Nacos v2.2.3 + K8s 微服务注册:强制删除 Pod 却不消失?!7步排查法+实战代码,手把手教你解决Nacos Pod僵死问题,让服务瞬间满血复活!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但有时会遇到“v2.2.3 k8s 微服务注册nacos强制删除 pod不消失”的问题。本文介绍此现象及其解决方法,帮助开发者确保服务稳定运行。首先需检查Pod状态与事件、配置文件及Nacos配置,确认无误后可调整Pod生命周期管理,并检查Kubernetes版本兼容性。若问题持续,考虑使用Finalizers、审查Nacos日志或借助Kubernetes诊断工具。必要时,可尝试手动强制删除Pod。通过系统排查,通常能有效解决此问题。
10 0
|
4天前
|
缓存 Cloud Native Java
【紧急救援】Nacos配置上线后失效?手把手教你如何轻松搞定命名空间修改难题!
【8月更文挑战第15天】Nacos是关键的云原生服务管理平台,用于动态服务发现与配置管理。但在使用其管理微服务配置时,可能会遇到命名空间内的配置更新后不生效的问题。本文探讨此问题并提供解决方案。首先需确认Nacos服务器运行正常及客户端正确连接。接着检查客户端缓存配置,可通过禁用缓存或缩短缓存间隔来即时更新配置。例如,在Spring Cloud Alibaba Nacos配置中心中启用自动刷新功能,并设置每5秒拉取新配置。同时,对于新增配置项,需重启客户端应用。还需检查Nacos服务器日志排除异常,并考虑升级Nacos版本解决兼容性问题。通过这些步骤,通常可有效解决配置不生效的难题。
16 0
|
4天前
|
安全 Nacos 数据库
【技术安全大揭秘】Nacos暴露公网后被非法访问?!6大安全加固秘籍,手把手教你如何保护数据库免遭恶意篡改,打造坚不可摧的微服务注册与配置中心!从限制公网访问到启用访问控制,全方位解析如何构建安全防护体系,让您从此告别数据安全风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其公网暴露可能引发数据库被非法访问甚至篡改的安全隐患。本文剖析此问题并提供解决方案,包括限制公网访问、启用HTTPS、加强数据库安全、配置访问控制及监控等,帮助开发者确保服务安全稳定运行。
12 0
|
4天前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
20 0