Eureka的使用场景

前言:

微服务技术的第一步就是对项目进行拆分,就是把一个单体项目,拆分成多个独立的项目,我们把这种独立的项目称为一个服务,一个大型的项目往往包含数百甚至上千的服务形成一个服务集群。如图:

 

 一个业务可能是由多个服务共同完成,例如服务A调用服务B,服务B调用服务C,当一个业务功能比较复杂的时候这些服务之间的调用关系就会变得越来越复杂,如图:

 这么复杂的关系如果单靠人来记录或者维护,那是非常困难的,想想都麻。因此微服务中一定会有一个组件来代替我们干这种事情,它就是注册中心,例如Eureka,作用是记录微服务集群中,每一个服务的ip、端口以及服务的功能。

 在服务集群里面每一独立的项目都有自己的配置文件,将来如果需要更改配置就非常麻烦,因此就用了配置中心。实现配置热更新

 

 

微服务的远程调用

提供者与消费者

服务提供者是指在一次业务中,被其他微服务调用的业务

服务消费者是指在一次业务中,调用其他服务的服务。

ps:a调用b,b调用c那b到底是什么?

答:对应a来说b是提供者,对于c来说b是消费者,这两个概念是相对与业务的,一个服务既可以是提供者也可以是消费者。

Eureka注册中心

Eureka的作用

每一个服务启动时都会向euraka-server 注册服务信息,如果服务消费者需要调用某一个服务会向eureka-server拉取服务,传统的两个独立的项目之间的调用可以通过硬编码的形式如端口号+虚拟映射路径来调用提供者。但是会面临下面三个问题,eureka可以很好的解决这三个问题。

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

每一个服务启动时都会向eureka-server 注册服务信息,eureka会保存这些信息,如果服务消费者需要调用某一个服务会向eureka-server拉取服务(根据服务名称)

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

通过负载均衡算法,从服务列表挑选一个。

消费者如何得知服务提供者的健康状态?

服务每个30s会向eureka-server发一次心跳,来确认自己的状态,如果没有跳,就会将其抹除,服务消费者调用的时候就不会拉去该服务提供者。

相关推荐

  1. Eureka使用说明

    2024-04-01 15:04:01       26 阅读
  2. TensorFlow 基本概念和使用场景

    2024-04-01 15:04:01       29 阅读

最近更新

  1. leetcode705-Design HashSet

    2024-04-01 15:04:01       8 阅读
  2. Unity发布webgl之后打开streamingAssets中的html文件

    2024-04-01 15:04:01       8 阅读
  3. vue3、vue2中nextTick源码解析

    2024-04-01 15:04:01       9 阅读
  4. 高级IO——React服务器简单实现

    2024-04-01 15:04:01       8 阅读
  5. 将图片数据转换为张量(Go并发处理)

    2024-04-01 15:04:01       7 阅读
  6. go第三方库go.uber.org介绍

    2024-04-01 15:04:01       8 阅读
  7. 前后端AES对称加密 前端TS 后端Go

    2024-04-01 15:04:01       10 阅读

热门阅读

  1. VLAN配置及原理

    2024-04-01 15:04:01       5 阅读
  2. 网络常见的端口号

    2024-04-01 15:04:01       5 阅读
  3. 计算机填空知识点(3)完

    2024-04-01 15:04:01       5 阅读
  4. gitee创建仓库后的基本指令

    2024-04-01 15:04:01       4 阅读
  5. python面试题(51~60)

    2024-04-01 15:04:01       5 阅读
  6. 学习总结!

    2024-04-01 15:04:01       4 阅读
  7. fpga_awb

    fpga_awb

    2024-04-01 15:04:01      4 阅读
  8. Day1 - Hive基础知识

    2024-04-01 15:04:01       4 阅读