微服务-Nacos的使用

微服务

Maven的依赖冲突解决方案:

  • 路径最短原则
  • 配置优先原则
  • 破坏规则则使用排除

微服务

将应用划分为若干个体量更小的服务,每个服务可以独立开发、独立部署、独立运行,服务之间可以通过轻量级通信机制进行相互调用。

Nacos应用步骤

服务提供者

1、添加依赖

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

2、添加配置

spring.application.name=role-service   定义的服务名称,服务消费者是通过服务名称查找地址
spring.cloud.nacos.discovery.server-addr=localhost:8848  Nacos的地址

3、在配置类上添加注解以启动Nacos客户端

@EnableDiscoveryClient  也可以直接定义在主类
@SpringBootConfiguration
public class NacosConfig {
}
服务消费者

1、添加依赖

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

2、添加配置配置

spring.application.name=user-service   定义的服务名称,服务消费者是通过服务名称查找地址
spring.cloud.nacos.discovery.server-addr=localhost:8848  Nacos的地址

3、通过注解启动nacos client

@EnableDiscoveryClient

4、可以通过nacos client查询注册在nacos中的所有对应的服务提供者

@RestController
public class TestController {
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private DiscoveryClient discoveryClient;
    @GetMapping("/test")
    public String test(String name){
//        String url="http://localhost:8070/hello?name=zhangsan"
        //从nacos根据服务名称获取对应的服务提供方的地址端口号等信息
        List<ServiceInstance> serviceInstances = discoveryClient.getInstances("hello-service");
        //从nacos种获取服务列表后需要根据某种策略获取某一个具体的服务实例---负载均衡
        Random r=new Random();
        ServiceInstance instance = serviceInstances.get(r.nextInt(serviceInstances.size()));
        System.out.println("远程服务的主机地址:"+instance.getHost());
        System.out.println("远程服务的端口号:"+instance.getPort());
        //拼接访问的URL地址
        String url=instance.getUri()+"/say?name="+name;
        System.out.println("远程服务地址:"+url);
        String res = restTemplate.getForObject(url, String.class);
        return "Consumer:["+res+"]";
    }
}

Nacos使用步骤

1、安装

2、 启动nacos命令startup -m standalone

3、启动服务提供者

4、在nacos的webUI可以查看localhost:8848/nacos

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
xxl-job-nacos 是一个基于微服务的调度系统。它的设计理念是通过将大型应用拆分成多个微服务,每个微服务都有一个独立的调度器,用于管理该微服务的任务调度和执行。xxl-job-nacos 使用 Nacos 作为注册中心,通过 Nacos 实现微服务的注册和发现。 通过将任务调度设置为微服务的一部分,xxl-job-nacos 可以实现任务的集中管理和分布式部署。它提供了一套友好的调度管理界面,用于配置和监控任务的运行情况。用户可以通过该界面添加、编辑和删除任务,指定任务的执行时间和频率。同时,xxl-job-nacos 支持任务的动态调度,可以实时修改任务的执行策略和参数,以适应不同的业务需求。 通过使用 Nacos 作为注册中心,xxl-job-nacos 实现了任务的注册和发现。当一个新任务被添加到调度系统中时,它会通过 Nacos 将任务的信息注册到注册中心,并通知相应的微服务微服务通过订阅注册中心的信息,获知新任务的相关信息,并根据任务的调度策略和配置进行任务的执行。当任务执行完成后,微服务会将执行结果反馈给 xxl-job-nacos,并更新任务状态和日志。 总的来说,xxl-job-nacos 是一个基于微服务的调度系统,它通过将任务调度设置为微服务的一部分,实现了任务的集中管理和分布式部署。同时,xxl-job-nacos 使用 Nacos 作为注册中心,实现了任务的注册和发现,以实时更新任务的信息和执行结果。通过这样的设计,xxl-job-nacos 可以提供强大的任务调度能力,适用于大型应用的任务调度和分布式执行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值