当前位置: 首页 > news >正文

SpringCloud学习笔记-Eureka的服务拉取

假设是OrderService里面拉取Eureka的服务之一User Service

1.依然需要在该服务里面引入依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2.在OrderService里面需要有如下配置

spring:application:name: orderservice #添加的微服务的服务名称,把名字为userservice的微服务加入到注册名单中
eureka:client:service-url:defaultZone: http://localhost:10086/eureka   #eureka的地址信息

3.修改URL和OrderService中添加@Load Balanced注解

1.修改URL

package cn.itcast.eureka.order.service;import cn.itcast.eureka.order.mapper.OrderMapper;
import cn.itcast.eureka.order.pojo.Order;
import cn.itcast.eureka.order.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;import javax.annotation.Resource;@Service
public class OrderService {@Autowiredprivate OrderMapper orderMapper;@Autowiredprivate RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 1.查询订单Order order = orderMapper.findById(orderId);String url = "http://userservice/user/" + order.getUserId();//OrderService里面拉取Eureka的服务之一User Service//把原来的http://localhost:8080/user/变成了http://userservice/user/User user = restTemplate.getForObject(url, User.class);order.setUser(user);// 4.返回return order;}
}

2.OrderService中添加@Load Balanced注解

package cn.itcast.eureka.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")
@SpringBootApplication
public class OrderApplication {@Bean @LoadBalancedpublic RestTemplate restTemplate(){return new RestTemplate();}public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);}}

通过服务名称获取IP地址的原理如下图所示,其中由于WIndows电脑的设置,原来的IP地址被替换成为了电脑名称LAPTOPXXX,其实还是可以获取到具体的IP

在这里插入图片描述

http://www.lryc.cn/news/185520.html

相关文章:

  • COLLABORATIVE DESIGNER FOR SOLIDWORKS® 新功能
  • AMD CPU 虚拟机安装 macos 系统的各虚拟机系统对比
  • php实战案例记录(20)时间比较
  • web中缓存的几种方式
  • Stable Diffusion生成图片
  • MySQL增删查改(进阶1)
  • RabbitMQ-发布订阅模式和路由模式
  • RabbitMQ-主题模式
  • 阅读文献小技巧
  • 简易的贪吃蛇小游戏(以后或许会更新)C++/C语言
  • 23云计算全国职业技能大赛容器云-容器编排
  • 哨兵(Sentinel-1、2)数据下载
  • 开启AI大模型时代|「Transformer论文精读」
  • 【小沐学前端】Windows下搭建WordPress(nginx1.25、PHP8.2、WordPress6.3、MySQL5.7)
  • centos8 Error: Failed to download metadata for repo ‘appstream‘
  • 键盘上F1至F12键的作用
  • 2023年湘潭大学OJ作业2 2023年下学期《C语言》作业0x01-数学计算 XTU OJ 1080,1081,1082,1083,1084
  • C/C++ 进程间通信system V IPC对象超详细讲解(系统性学习day9)
  • python—如何提取word中指定内容
  • 分享几个通用个人简历模板|行业通用
  • 如何正确操作封箱机
  • mysql面试题7:MySQL事务原理是什么?MySQL事务的隔离级别有哪些?
  • vue 项目打包性能分析插件 webpack-bundle-analyzer
  • C++ day2
  • 【Kafka专题】Kafka集群架构设计原理详解
  • Docker 镜像的缓存特性
  • Javascript 笔记:object
  • 【vue3】可编辑el-table
  • 一个开源的安卓相机:OpenCamera
  • 分类预测 | MATLAB实现POA-CNN鹈鹕算法优化卷积神经网络多特征分类预测