微服务框架 SpringCloud微服务架构 3 Eureka 3.5 服务发现

news2025/1/17 3:13:21

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

SpringCloud微服务架构

文章目录

      • 微服务框架
      • SpringCloud微服务架构
      • 3 Eureka
        • 3.5 服务发现
          • 3.5.1 在order-service完成服务拉取
          • 3.5.2 总结

3 Eureka

3.5 服务发现

3.5.1 在order-service完成服务拉取

之前我们已经完成 了服务的注册

在这里插入图片描述

且eureka 管理界面可以查看到服务列表

在这里插入图片描述

现在就要做服务的发现【拉取】

服务拉取是基于服务名称获取服务列表,然后在对服务列表做负载均衡

① 修改OrderService的代码,修改访问的url路径,用服务名代替ip、端口:

package cn.itcast.order.service;

import cn.itcast.order.mapper.OrderMapper;
import cn.itcast.order.pojo.Order;
import cn.itcast.order.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

@Service
public class OrderService {

    @Autowired
    private OrderMapper orderMapper;

    @Autowired
    private RestTemplate restTemplate;

    public Order queryOrderById(Long orderId) {
        // 1.查询订单
        Order order = orderMapper.findById(orderId);
        //2. 利用RestTemplate发起HTTP请求查询用户
        //2.1 URL路径
        String url = "http://userservice/user/" + order.getUserId();
        //2.2 发送HTTP请求,实现远程调用
        User user = restTemplate.getForObject(url, User.class);
        //3. 封装user到order
        order.setUser(user);
        // 4.返回
        return order;
    }
}

在这里插入图片描述

② 在order-service项目的启动类OrderApplication中的RestTemplate添加负载均衡注解:

package cn.itcast.order;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

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

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

    //创建RestTemplate并注入Spring容器
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

}

在这里插入图片描述

其实现在代码已经完成 了

重启order 服务

在这里插入图片描述

现在直接调order 服务,看看它到底调的user 1 还是user 2

在这里插入图片描述

第一次,

在这里插入图片描述

第二次

OK,查看日志

user 1

在这里插入图片描述

user2

在这里插入图片描述

这就实现了负载均衡,而且我们这次根本没有直接写到用哪个服务,只是写了服务名称

在这里插入图片描述

OK,这就是服务的发现【拉取】

3.5.2 总结
  1. 搭建EurekaServer

    • 引入eureka-server依赖
    • 添加@EnableEurekaServer注解
    • 在application.yml中配置eureka地址
  2. 服务注册

    • 引入eureka-client依赖
    • 在application.yml中配置eureka地址
  3. 服务发现

    • 引入eureka-client依赖
    • 在application.yml中配置eureka地址
    • 给RestTemplate添加@LoadBalanced注解
    • 用服务提供者的服务名称远程调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/44700.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实习day1

今天部署东西: docker compose -f docker-compose.yml up -d 知道这个命令是什么意思 先进入decays里面,再进去corepack ,在进入yarn安装代码。 需要进入路径然后run 这个东西 c:\Users\yuan\PycharmProjects\decsys\app\Decsys>dotnet…

IBM MQ命令:DEFINE AUTHINFO

此命令里有很多内容值得一看。 https://www.ibm.com/docs/en/ibm-mq/8.0?topiccommands-define-authinfo#q085490___6 一,CHCKCLNT CHCKCLNT This attribute determines the authentication requirements for client applications, and is valid only for an A…

复制淘宝宝贝上传,宝贝的属性是错误的,怎么修改为正确的属性?

大家都知道,淘宝的发布要求是在不断变化的,以前发布宝贝没有这要求,但现在有可能就有这要求了,比如说以前这一属性可以随便填,但现在发布必须按照他的要求去填,不然发布不成功。近期,小编就有收…

什么是联盟营销以及如何使用它在网上赚更多的钱

无需创建自己的任何产品即可通过您的网站、社交媒体或博客在线赚钱。您可以使用联盟网络营销。如果您听说过联盟营销,但不确定它是什么或它是如何运作的,那么本文是一个很好的起点。 如果您已经熟悉这个概念,并且想知道如何开始使用它从您的博…

【DL with Pytorch】第 3 章 :使用 DNN 的分类问题

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

尚硅谷ES6复习总结上(64th)

1. let 关键字 let 关键字用来声明变量,使用 let 声明的变量有几个特点: 1、不允许重复声明 2、块级作用域 if (true) {let a 10; } console.log(a) // a is not defined3、不存在变量提升 console.log(a); //报错let a 20;4、不影响作用域链 以后声…

ggrcs 包2.4绘制RCS(限制立方样条图)实际操作演示(1)

ggrcs 包2.4版本已经发布一段时间了,大概几个月了吧,收到不少好评, 没听说太大的问题,最主要的问题有两个: 1.是说变量不是数字变量。 2.是说数据超过10万,无法处理 第一个问题非常好处理,这…

【一文秒懂——Profile配置】

目录 1. Profile配置 2. 实例 1. Profile配置 Spring框架允许使用Profile配置,即某些“个性化配置文件”,这些配置文件默认并不会被应用,需要“激活”后才生效! 在Spring Boot项目中,简化了Profile配置的使用&…

智能型电动机保护器(马保)可应用在水泥厂,保证生产过程的连续不间断

安科瑞 李可欣 具体可咨询:Acrel_lkx 一、水泥厂的要求 水泥生产是一项较庞大的工程,生产环境比较恶劣,粉尘污染严重,受生产工艺的限制使得其工作场所的通风条件差且环境温度较高,而且需要设定大量的工作站点&…

NetCore路由的Endpoint模式

IdentityServer里有各种Endpoint,如TokenEndpoint,UserInfoEndpoint,Authorize Endpoint,Discovery Endpoint等等。Endpoint从字面意思来看是“终端节点"或者“终节点”的意思。无独有偶NetCore的路由也有Endpoint的概念。那么我们提出一个问题来,究竟什么是En…

R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计

全文链接:http://tecdat.cn/?p19664 MCMC是从复杂概率模型中采样的通用技术。蒙特卡洛马尔可夫链Metropolis-Hastings算法(点击文末“阅读原文”获取完整代码数据)。问题如果需要计算有复杂后验pdf p(θ| y)的随机变量…

中远通创业板IPO过会:上半年营收7.3亿 拟募资2.3亿

雷递网 雷建平 11月28日深圳市核达中远通电源技术股份有限公司(简称:“中远通”)日前IPO过会,准备在深交所创业板上市。中远通计划募资2.3亿元。其中,1.3亿元用于研发中心改造提升项目,3248万元用于企业信息…

规则引擎Drools在贷后催收业务中的应用

作者:vivo 互联网服务器团队- Feng Xiang 在日常业务开发工作中我们经常会遇到一些根据业务规则做决策的场景。为了让开发人员从大量的规则代码的开发维护中释放出来,把规则的维护和生成交由业务人员,为了达到这种目的通常我们会使用规则引擎…

(十八)Spring6集成MyBatis3.5

文章目录实现步骤具体实现第一步:准备数据库表第二步:IDEA中创建一个模块,并引入依赖第三步:基于三层架构实现,所以提前创建好所有的包第四步:编写pojo第五步:编写mapper接口第六步:…

怎么建网站?【模版建站】

关于怎么建网站,除了公司企业,甚至有些个人用户都想了解。大家印象中的建站网站都是要会编程,不然就是找外包公司解决。其实现在建网站也是比较简单的,模版建站一般都能解决基本的建站需求。下面我们一起来看看怎么建网站吧。 一…

考阿里云ACE需要准备什么?考试内容难不难?

最近几年云计算技术发展得越来越好,市场上大多数企业已经选择转型,使用云计算技术来发展自己的新业务,这样一来就需要大量的人才来维持市场的运行。另一方面,为了在现在内卷的社会中的脱颖而出,获得一份稳定、高薪的工…

目标级联分析法( Analytical Target Cascading , ATC )理论matlab程序

目标级联分析法( Analytical Target Cascading , ATC )理论matlab程序 目标级联分析法(Analytical Target Cascading,ATC)是一种采用并行思想解决复杂系统的设计方法,最初由密执安大学研究人员…

微服务框架 SpringCloud微服务架构 4 Ribbon 4.1 负载均衡原理

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构4 Ribbon4.1 负载均衡原理4.1.1 负载均衡流程4 Ribbon 4.1 负载均衡原理 …

基于STM32单片机电子相册设计全套资料

资料编号:188 功能介绍: 本系统采用STM32f103单片机通过SPI接口读取sd卡模块中的图片数据。并在单片机为sd卡模块生成fat文件系统。方便读取sd卡中的文件信息。将Bmp格式的图片存放到sd卡的picture文件夹中,然后单片机进行Bmp解码&#xff0…

GEE批量下载 Python本地快速下载GEE数据(比网页版保存到网盘再下载快几十倍,尤其是在下载几十年的长时间系列数据时,速度提升更加明显)

前言 可根据研究区直接裁剪数据以及进行一些计算处理后再下载,GEE成为了大家下载数据的重要途径,然而直接通过官网网页将数据先保存到网盘再下载的下载方法速度太慢,新号速度还好,越用速度越来越慢,本文提供了一种直接…