Nacos作为服务注册中心简单示例

这篇具有很好参考价值的文章主要介绍了Nacos作为服务注册中心简单示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、服务注册与发现场景

主要包含两个服务:

  • zhshl-order服务: 作为服务消费者
  • zhsl-stock服务: 作为服务提供者

当我们启用服务发现的时候,需要进行的操作主要有三步

0、前置条件,需要先搭建好一个nacas服务,可以是一个集群或者是单个nacos服务。可以参考https://nacos.io/zh-cn/docs/quick-start.html,

示例中使用需要使用nacos1.4.2版本匹配。具体配置关系可以参考:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

1、添加maven依赖
     <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
     </dependency>
2、配置服务提供者,将服务注册到nacos中,后续通过
2.1 在bootstrap.yml的配置文件中配置nacos的地址
spring:
  cloud:
    nacos:
      discovery:
        service: zhshl-stock
        server-addr: localhost:8848

server:
  port: 8081
2.2 通过 Spring Cloud 原生注解 @EnableDiscoveryClient 开启服务注册发现功能:
@SpringBootApplication
@EnableDiscoveryClient
public class ZhslStockApplication {

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

@RestController
public class StockController {
    @Value("${server.port}")
    private String port;

    @GetMapping("/stock/reduce/{productId}")
    public String reduce(@PathVariable Integer productId) {
        System.out.println("减库存成功");
        return "减库存成功,响应的是: " + port;
    }
}
3、配置消费者,消费通过nacos的服务发现功能,从nacos中获取到对应的服务提供者的具体实例来进行调用
3.1、服务消费者对应的配置信息:
spring:
  cloud:
    nacos:
      discovery:
        service: zhshl-stock
        server-addr: localhost:8848

server:
  port: 18082
3.2、 消费者的配置启用服务发现
@SpringBootApplication
@EnableDiscoveryClient
public class ZhshlOrderApplication {
    public static void main(String[] args) {
        SpringApplication.run(ZhshlOrderApplication.class, args);
    }
}
@Configuration
public class AppConfig {
    @Autowired
    private LoadBalancerClient loadBalancerClient;
    @Bean
    //@LoadBalanced
    public RestTemplate restTemplate(){
        RestTemplate restTemplate = new RestTemplate();
        restTemplate.setInterceptors(Collections.singletonList(new LoadBalancerInterceptor(loadBalancerClient)));
        return restTemplate;
    }
}
@Slf4j
@RestController
public class OrderController {
    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/order/create")
    public String createOrder(Integer productId, Integer userId) {

        String result = restTemplate.getForObject("http://zhshl-stock/stock/reduce/" + productId, String.class);
        return "下单成功,库存响应: " + result;
    }
}

4、启动服务提供者(zhsl-stock)和服务消费者(zhshl-order)

4.1、两个服务启动后,可以在nacos的控制平台上看到如下信息

Nacos作为服务注册中心简单示例

4.2 在浏览器上输入http://localhost:8082/order/create?productId=10,然后可以到如下的输出:

下单成功,库存响应: 减库存成功,响应的是: 18082
Nacos作为服务注册中心简单示例
文章使用到的源码请见:https://github.com/zhang1github2test/nacos-zhshl-parent/tree/master文章来源地址https://www.toymoban.com/news/detail-471231.html

到了这里,关于Nacos作为服务注册中心简单示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手带你实现Dubbo集成Nacos作为注册中心(超详细+全代码)

    Nacos简介 什么是Nacos? Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服

    2024年02月09日
    浏览(55)
  • 【微服务开篇-RestTemplate服务调用、Eureka注册中心、Nacos注册中心】

     本篇用到的资料: https://gitee.com/Allengan/cloud-demo.git https://gitee.com/Allengan/cloud-demo.git 目录 1.认识微服务 1.1.单体架构 1.2.分布式架构 1.3.微服务 1.4.SpringCloud 1.5.总结 2.服务拆分和远程调用 2.1.服务拆分原则 2.2.服务拆分示例 2.2.1.导入Sql语句 2.2.2.导入demo工程 2.3.实现远程调用案例

    2024年02月08日
    浏览(39)
  • 作为服务注册中心,Eureka比Zookeeper好在哪里

    RDBMS(Mysql Oracle sqlServer) == 》ACID NoSQL (Redis mongdb) ==》 CAP ACID是什么? A(Atomicity) 原子性 C(Consistence) 一致性 I(Isolation)隔离性 D(Durability)持久性 CAP是什么? C(Consistency)强一致性 A(Availability)可用性 P(Parition tolerance) 分区容错性 CAP的三进二 CA 、AP、CP CAP理论的核心 一个分布式系统

    2024年02月10日
    浏览(37)
  • Nacos作为服务配置中心、集群和持久化配置

    目录 一、Nacos作为服务配置中心演示 (一)Nacos作为配置中心-基础配置 (二)Nacos作为配置中心-分类配置 二、Nacos集群和持久化配置(重要) (一)官网说明 (二)Nacos持久化配置解释 1、Nacos默认自带的是嵌入式数据库derby 2、derby到mysql切换配置步骤 (三)Linux版Nacos+MyS

    2024年02月09日
    浏览(52)
  • 微服务-Nacos(注册中心)

    Nacos是SpringCloud的一个功能非常强大的组件,想比eureka的功能更加丰富 Nacos(全称:Naming and Configuration Service)是一个开源的动态服务发现、配置管理和服务管理平台。它由阿里巴巴集团开发并贡献给开源社区,旨在帮助开发者更好地构建和管理微服务架构。 Nacos提供了以下核

    2024年02月12日
    浏览(46)
  • 【微服务】Nacos注册中心

    国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。 Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。 在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务

    2024年02月02日
    浏览(49)
  • 微服务注册中心-Nacos概述

    Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 N

    2024年02月04日
    浏览(41)
  • Nacos:服务的注册、发现和配置中心(注册篇)

    Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 N

    2024年02月15日
    浏览(39)
  • Ribbon和 Nacos服务注册中心

    ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 微服务探索之旅 ✨特色专栏: MySQL学习 🥭本文内容:Ribbon和 Nacos服务注册中心 🖥️个人小站 :个人博客,欢迎大家访问 📚个人知识库: 知

    2024年02月09日
    浏览(41)
  • nacos 注册中心服务端配置详解

    Nacos是一个开源的动态服务发现、配置管理和服务管理平台。在使用Nacos作为注册中心时,需要配置Nacos Server的相关参数。 下面是Nacos Server的配置参数详解: nacos.core.default.namespace: Nacos默认的命名空间,用于隔离不同的环境或不同的应用。默认值为public。 nacos.naming.data.warmup

    2024年02月13日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包