Nacos 注册中心的使用(单体)

环境 springboot + springcloud

Nacos注册中心服务端

下载windows版或Linux版:https://nacos.io/zh-cn
目录结构:

配置文件./config/application.properties

在这里插入图片描述
在这里插入图片描述

启动文件./bin/startup.cmd

cmd命令启动单机服务startup.cmd -m standalone
在这里插入图片描述

 


 

父工程依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.6.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

 


 

Service提供者

pom.xml

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

application.yml

spring:
  application:
    name: userservice
spring:
  cloud:
    nacos:
      server-addr: http://localhost:8848

 


 

consumer消费者 (消费者也可以作为提供者身份出现)

pom.xml

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

application.yml

spring:
  application:
    name: orderservice
spring:
  cloud:
    nacos:
      server-addr: http://localhost:8848
      discovery:
        cluster-name: SZ  # 集群名称		

OrderApplication 配置RestTemplate的Bean加入到Spring容器中

@MapperScan("cn.xxx.order.mapper")
@SpringBootApplication
public class OrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }

    @Bean
    @LoadBalanced # 负责均衡 和 做拉取服务
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
}

OrderService 利用RestTemplate调用 UserService接口

@Service
public class OrderService {

    @Autowired
    private OrderMapper orderMapper;
    @Autowired
    private RestTemplate restTemplate;

    public Order queryOrderById(Long orderId) {
        Order order = orderMapper.findById(orderId);

		// restTemplate.getForObject(请求地址, 返回值类型);
        String url = "http://userservice/user/" + order.getUserId(); // userservice是提供者的spring.application.name
        User user = restTemplate.getForObject(url, User.class);
        order.setUser(user);
        
        return order;
    }
}

在这里插入图片描述

 


 

同集群优先的负载均衡(NacosRule):默认的ZoneAvoidanceRule并不能实现根据同集群优先来实现负载均衡。

application.xml

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # Nacos负载均衡规则 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Nacos作为注册中心的步骤如下: 1. 首先,需要将Nacos作为Spring Cloud项目的依赖添加到项目的pom.xml文件中。可以通过引用中提到的阿里巴巴的产品Nacos来实现。 2. 在Nacos的管理页面中,配置好Nacos的地址。可以参考引用中提到的在nacos01中配置好nacos02的地址的方法。 3. 在需要注册到Nacos的微服务项目中,配置Nacos的地址。这可以通过修改项目的配置文件来实现。具体而言,可以在user-service和order-service等微服务的配置文件中添加以下内容: ``` spring: cloud: nacos: server-addr: localhost:8848 ``` 这个配置将指定Nacos的地址为localhost:8848。可以根据实际情况进行修改。 4. 最后,确保每个微服务都将自己注册到Nacos。这可以通过在微服务的启动类上添加@EnableDiscoveryClient注解来实现。 通过以上步骤,就可以将Nacos作为注册中心使用了。在这个注册中心中,各个微服务将注册自己的信息,并能够相互发现和调用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Nacos注册中心、配置中心](https://blog.csdn.net/m0_46979453/article/details/125091857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Nacos注册中心简单使用(含nacos搭建集群流程)](https://blog.csdn.net/Staba/article/details/124630286)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值