nacos的服务注册与调用

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

        此篇博客进行一个简单实例进行展示服务注册和服务的调用,以订单与库存模块为例,其结构图如下:

nacos的服务注册与调用

 

目  录

1、创建订单模块与库存模块

1.1、编写stock模块

1.2、编写order模块

2、访问地址进行测试

3、总结


1、创建订单模块与库存模块

        创建两个模块,其结构如下

nacos的服务注册与调用

 

1.1、编写stock模块

        pom文件引入相关依赖

<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-config</artifactId>
        </dependency>

        <!--   服务注册/发现     -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>

        application.yml配置文件

server:
  port: 8092
  servlet:
    context-path: /

spring:
  application:
    name: nacos-stock
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
NacosStockApplication类(其中注解@EnableDiscoveryClient 作用为:在nacos中进行注册,并且让其他服务能够被发现,进而能够被调用)
package com.ljy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @Author 不要有情绪的  ljy
 * @Date 2023/1/10 14:13
 * @Description:
 */
@SpringBootApplication
@EnableDiscoveryClient
public class NacosStockApplication {
    public static void main(String[] args) {
        SpringApplication.run(NacosStockApplication.class, args);
    }

}
StockController类
package com.ljy.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author 不要有情绪的  ljy
 * @Date 2023/1/10 14:26
 * @Description:
 */
@RestController
@RequestMapping("/stock")
public class StockController {

    @RequestMapping("/test")
    public String test(String info) {
        return "库存模块接收到的信息:" + info;
    }
}

1.2、编写order模块

        pom文件引入相关依赖(其中依赖openfeign是为了能够调用stock模块而引入)

<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-config</artifactId>
        </dependency>

        <!--   服务注册/发现     -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!--  openfeign   -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
    </dependencies>

application.yml配置文件

server:
  port: 8091
  servlet:
    context-path: /

spring:
  application:
    name: nacos-order
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
NacosOrderApplication类(不要忘记@EnableFeignClients(basePackages = "com.ljy.feign"),不然不会扫描到feign包)
package com.ljy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

/**
 * @Author 不要有情绪的  ljy
 * @Date 2023/1/10 10:39
 * @Description:
 */
@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients(basePackages = "com.ljy.feign")
public class NacosOrderApplication {
    public static void main(String[] args) {
        SpringApplication.run(NacosOrderApplication.class, args);
    }
}
OrderController类
package com.ljy.controller;

import com.ljy.feign.StockFeignService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author 不要有情绪的  ljy
 * @Date 2023/1/10 14:34
 * @Description:
 */
@RestController
@RequestMapping("/order")
public class OrderController {

    @Autowired
    private StockFeignService stockFeignService;

    @RequestMapping("/test")
    public String test(){
        return stockFeignService.test("我是订单模块,我给库存模块发消息!!!");
    }
}

在feign包下编写StockFeignService接口(其作用为:能够调用到库存模块)

package com.ljy.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @Author 不要有情绪的  ljy
 * @Date 2023/1/10 14:30
 * @Description:
 */
@FeignClient("nacos-stock")
public interface StockFeignService {

    @RequestMapping("/stock/test")
    public String test(@RequestParam("info") String info);
}

2、访问地址进行测试

http://localhost:8091/order/test

nacos的服务注册与调用

3、总结

        以上就是nacos的服务注册与调用的简单实例展示过程,其过程为引入相关依赖,在nacos中进行服务注册,其目的是让其他服务能够发现,再引入openfeign依赖,为了能够让相关模块调用到。希望我的书写能够帮助到你。

学习之所以会想睡觉,是因为那是梦开始的地方。
ଘ(੭ˊᵕˋ)੭ (开心) ଘ(੭ˊᵕˋ)੭ (开心)ଘ(੭ˊᵕˋ)੭ (开心)ଘ(੭ˊᵕˋ)੭ (开心)ଘ(੭ˊᵕˋ)੭ (开心)
                                                                                                        ------不写代码不会凸的小刘文章来源地址https://www.toymoban.com/news/detail-451760.html

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

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

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

相关文章

  • SpringCloud Alibaba(一)微服务简介+Nacos的安装部署与使用+Nacos集成springboot实现服务注册+Feign实现服务之间的远程调用+负载均衡+领域划分

    目录 一.认识微服务 1.0.学习目标 1.1.单体架构 单体架构的优缺点如下: 1.2.分布式架构 分布式架构的优缺点: 1.3.微服务 微服务的架构特征: 1.4.SpringCloud 1.5Nacos注册中心 1.6.总结 二、Nacos基本使用安装部署+服务注册 (一)linux安装包方式单节点安装部署 1. jdk安装配置 2. na

    2024年02月09日
    浏览(47)
  • dubbo 服务注册使用了内网IP,而服务调用需要使用公网IP进行调用

    使用dubbo时,提供者注册时显示服务地址ip为[内网IP:20880],导致其他消费者在外部连接的情况下时,调用dubbo服务失败 (1). 先查询一下服务器的hostname (2). 修改hostname解析绑定公网ip值(最后一行),即可 (3)、服务器不用重启,服务提供者重启 重启服务,注意除注册中心端口

    2024年02月09日
    浏览(44)
  • Spring boot3.x 无法向 Nacos2.x进行服务注册的问题

    一:问题描述 配置中心都是可用的,但是就是无法向nacos进行服务注册。 二:问题可能出现的原因有如下两种 1.Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。除了8848还需要开放9848,9849端口。 官方文档说明:Nacos 2.0.0 兼容性文档 | Nacos 2.maven依赖版本的问题

    2024年01月24日
    浏览(43)
  • 【Docker】使用 Docker 部署的微服务在 Nacos 里注册成内网地址 导致无法微服务间互相调用的解决方案...

    遇到问题: 一般情况下,微服务采用docker部署,通常默认采用 bridge 桥接的网络模式,docker 会自动分配一个 172.x.x.x 这样的私有内网地址,存在这样的难题: 由于是 172开头的内部网络地址, 在本机的docker 内是可以访问,而 跨主机 就无法访问。 在使用了nacos 后,nacos 里注册

    2024年02月06日
    浏览(38)
  • 【Java项目】SpringCloud项目注册到Nacos中心时显示的是内网IP导致不同服务器之间无法互相调用接口的解决并发

    微服务项目地址—动动你发财的小手点一个stars吧 出现这个问题是之前我也就遇到过的,这个问题的情况就是: 我们知道微服务项目是可以把不同的项目部署在不同的服务器上从而减少某一台服务器的压力,我们只需要为每一个服务配置一个注册中心即可,然后一个服务需要

    2024年02月16日
    浏览(50)
  • Nacos 的底层实现原理 & 注册中心的两种调用方式

    目录 1. Nacos 的底层实现原理 1.1 配置中心自动刷新实现原理 1.2  注册中心底层实现原理 2. Nacos 注册中心的两种调用方式  2.1 RestTemplate + Spring Cloud LoadBalancer 的调用方式 2.2 使用 OpenFeign + Spring Cloud LoadBalancer  Nacos 配置中心的自动刷新,其底层是基于 长轮询+事件驱动 的方式来

    2024年02月05日
    浏览(45)
  • 注册最便宜的xyz域名,低成本搭建一个博客

    看到群里有人发考虑买xyz域名,于是就分享一下自己的xyz域名是如何购买的。 .xyz,Internet网址域名后缀,全球通用的新顶级域名,简单来说就是网址中最右边一个“点”后面的字符,由XYZ注册局运营 。Slogan是“For every website, everywhere®”(适用于每个网站,每个地方) “.xyz”由

    2024年02月04日
    浏览(41)
  • nacos注册中心+Ribbon负载均衡+完成openfeign的调用(超详细步骤)

    目录 1.注册中心 1.1.nacos注册中心 1.2. 微服务注册和拉取注册中心的内容 2.3.修改订单微服务的代码 3.负载均衡组件 3.1.什么是负载均衡 3.2.什么是Ribbon 3.3.Ribbon 的主要作用 3.4.Ribbon提供的负载均衡策略 4.openfeign完成服务调用 4.1.什么是OpenFeign 4.2.完成openfeign的调用  继  微服务

    2024年02月16日
    浏览(36)
  • 【微服务】五. Nacos服务注册

    服务跨集群调用问题: 服务调用尽可能选择本地集群的服务,跨集群调用延迟较高。 本地集群不可访问时,再去访问其他集群。 修改application.yml,添加如下内容 在nacos控制台可以看到集群变化 Nacos服务分级存储模型 一级是服务,例如userservice 二级是集群,例如杭州或上海

    2024年02月09日
    浏览(48)
  • SpringCloud微服务注册中心:Nacos介绍,微服务注册,Ribbon通信,Ribbon负载均衡,Nacos配置管理详细介绍

    注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。 服务注册中心(简称注册中心)是微服务框架的一个重要组件,在微服务架构里主要

    2024年02月22日
    浏览(69)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包