【微服务搭建】--Nacos注册中心

微服务搭建

在完整搭建一个项目前,一定要确认自己的版本!!!!例如我自己搭建的环境为,JDK17,Springboot 3.2.2,SpringCloud 2023.0.0,否则很容易出现版本不兼容的Bug

搭建EurekaServer

1.引入eureka-server依赖

注册中心需要

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
 </dependency>

2.添加@EnableEurekaServer注解

@EnableEurekaServer

application.yml中文件添加eureka地址

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:11011/eureka/

服务注册

1.配置eurka地址

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:11011/eureka/

2.引入依赖

     <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

负载均衡

@Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

Ribbon负载均衡

负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。软件负载均衡的 主流产品 有:Nginx、HAProxy、LVS。
修改负载均衡规则

@Bean
public IRule randomRule(){
			return new RandomRule();
}

或在xml文件中使用ribbon

饥饿加载

Nacos注册中心

nacos与eureka都是服务注册中心

Nacos与Eureka

1.Consistency(一致性) :数据一致更新,所有数据的变化都是同步的
2.Availability(可用性) :在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求
3.Partition tolerance(分区容忍性) :某个节点的故障,并不影响整个系统的运行
Nacos支持CP,AP,Eurka支持AP
Eurka迁移到Nacos
1.更换依赖,注释掉Eurka依赖

startup.cmd -m standalone

添加nacos父依赖

            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.1.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
                <version>2.2.5.RELEASE</version>
            </dependency>

添加nacos客户端

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

修改yml配置添加

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        service: User

启动类中去掉Eureka发现注解

@EnableDiscoveryClient

Nacos使用的是netty和服务直接进行连接,属于长连接
Eureka是使用定时发送和服务进行联系,属于短连接

问题:我在添加依赖后程序运行没有问题,但是就是无法在Nacos服务列表中查询到注册的服务,于是我进行测试,发现版本关系很重要,于是我重新建立微服务项目,严格对应版本进行建立,然后终于成功了

集群概念

在application.yml的spring.cloud.nacos.discovery.cluster-name属性进行配置集群
在这里插入图片描述
然后可以在nacos中查看当前集群为WH

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想成为全栈工程师的小小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值