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

微服务之Eureka

🏠个人主页:阿杰的博客
💪个人简介:大家好,我是阿杰,一个正在努力让自己变得更好的男人👨
目前状况🎉:24届毕业生,奋斗在找实习的路上🌟
🚗🚗为了让更多的人看到更优质的博客,阿杰正在努力的更新学习中心中的内容。

文章目录

    • 🌳认识微服务
      • 🍅SpringCloud
    • 🌲Eureka注册中心
      • 🌻搭建eureka注册中心
      • 🌻注册eureka
      • 🌻服务发现

🌳认识微服务

🍅SpringCloud

image-20230220164407359

🌲Eureka注册中心

服务调用出现的问题

  • 服务消费者该如何获取服务提供者的地址信息

    • 服务提供者启动时向eureka注册自己的信息
    • eureka保存这些信息
    • 消费者根据服务名称向eureka拉取提供者信息

    简单来说就是eureka充当家政公司的角色,消费者充当你,提供者充当家政。

    家政上班的时候在公司登记,你去家政公司找家政的时候,他会按照自己的规则派给你一个家政。

  • 如果有多个服务提供者,消费者该如何选择

    • 服务消费者利用负载均衡算法,从服务器列表挑一个
  • 消费者如何得知服务提供者的健康状态

    • 服务提供者会没30 秒向eurekaServer发送心跳请求,报告健康状态
    • eureka会更新状态,剔除不正常的

🌻搭建eureka注册中心

  1. 引用依赖

    <!--eureka服务端-->
    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    
  2. 启动类添加注解 @EnableEurekaServer

  3. 添加配置

    server:port: 10086 # 服务端口
    spring:application:name: eurekaserver # eureka的服务名称
    eureka:client:service-url:  # eureka的地址信息defaultZone: http://127.0.0.1:10086/eureka
    

🌻注册eureka

  1. 引用依赖

    <!--eureka客户端依赖-->
    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    
  2. 添加配置

    server:port: 8081 # 服务端口
    spring:application:name: userserver # user的服务名称
    eureka:client:service-url:  # eureka的地址信息defaultZone: http://127.0.0.1:10086/eureka
    

🌻服务发现

  1. 在启动类添加RestTemplate到容器 并添加@LoadBalanced注解

    /*** 创建RestTemplate并注入Spring容器*/
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {return new RestTemplate();
    }
    
  2. 调用服务名就可以使用服务

    @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到Orderorder.setUser(user);// 4.返回return order;
    }
    
http://www.lryc.cn/news/15204.html

相关文章:

  • 日日顺于贞超:供应链数字化要做到有数、有路、有人
  • Js中blob、file、FormData、DataView、TypedArray
  • CTFer成长之路之任意文件读取漏洞
  • 制造企业为何要上数字化工厂系统?
  • Facebook广告投放的正确姿势:玩转目标定位
  • 思科C9115AXI-H型号AP上线C9800失败处理记录
  • WSO2通过设定Role来订阅对应的Api
  • 使用 PyTorch+LSTM 进行单变量时间序列预测(附完整源码)
  • 操作系统(day12)-- 虚拟内存;页面分配策略
  • Git commit 提交没有被远端分支合并,撤销本次commit
  • Netty核心原理(线程模型、核心API)与入门案例详解
  • 【 java 8】Lambda 表达式
  • 改进YOLO系列 | 谷歌团队 | CondConv:用于高效推理的条件参数化卷积
  • SQL高级 --优化
  • 【C++】空间配置器
  • nginx的介绍及源码安装
  • 通过openssl生成pfx证书
  • 华为OD机试真题Python实现【敏感字段加密】真题+解题思路+代码(20222023)
  • 我的 System Verilog 学习记录(1)
  • 金三银四,我不允许你们不知道这些软件测试面试题
  • 【UnityEditor】Unity将Multiple Sprite分割成多张png小图
  • 独立搭建 handle server
  • 记一次KindEditor表格修改无效问题
  • 一种图片展示的完美方案,图片展示,object-fill
  • 社科院杜兰金融管理硕士——考研初试成绩已出,关于分数“6线”你有了解吗
  • Talk | 清华大学交叉信息研究院助理教授杜韬:利用计算方法探究流固耦合
  • 2023年,智能家居实体门店如何选品?
  • 数据分析-深度学习 NLP Day2关键词提取案例
  • LeetCode题解:938. 二叉搜索树的范围和,BFS,JavaScript,详细注释
  • istio初步了解