微服务·入门·贰——注册中心nacos、eureka

文章探讨了在微服务架构中,Eureka作为注册中心如何解决服务发现、实例选择及健康检查的问题。user-service服务启动后注册到Eureka,order-service通过Eureka获取user-service的实例地址并使用负载均衡策略选择实例进行远程调用。Eureka通过心跳机制监控服务实例的健康状态,若未收到心跳则标记实例为故障并移除。
摘要由CSDN通过智能技术生成

1. 微服务问题解决·服务治理问题

1.1 问题抛出

问题抛出:假如我们服务提供者user-service部署到多个服务器:

  • 在order-service发起远程调用时,如何得到user-service实例的IP和端口
  • 当user-service实例进行了集群搭建,order-service调用时如何选择
  • order-service如何得知某个user-service实例是否依然健康,其是否发生宕机

1.2 解决方法

组件说明
Eureka
Nacos

2 Eureka注册中心

2.1 Eureka解决的问题

问题回顾:假如我们服务提供者user-service部署到多个服务器:

  • 在order-service发起远程调用时,如何得到user-service实例的IP和端口
  • 当user-service实例进行了集群搭建,order-service调用时如何选择
  • order-service如何得知某个user-service实例是否依然健康,其是否发生宕机
    在这里插入图片描述

2.2 Eureka的结构和作用

2.2.1 Eureka的作用

在这里插入图片描述

2.2.2 order-service如何得知user-service实例地址 ?

流程如下:
① 服务注册:user-service启动后,将自己的信息注册到eureka-service(Eureka服务端)。
② eureka-service保存服务名称服务实例IP地址的映射关系。
③ 服务发现、服务拉取:order-service根据服务名称,拉取(user-service)实例地址列表。

2.2.3 order-service如何从多个user-service实例中选择具体实例 ?

流程如下:

  • ① order-service从实例列表中利用负载均衡算法选择一个实例地址。
  • ② 向该实例地址发起远程调用

2.2.4 order-service如何得知某个user-service实例是否健康 ?是否宕机 ?

流程如下:

  • 心跳检测机制(ping - pong):user-service会每隔一段时间(默认30秒)向eureka-service发送请求,报告自己状态。
  • ② 当超过一定时间没有发送心跳时,eureka-service会认为微服务实例故障,将该服务从服务列表中剔除
  • ③ order-service拉取服务时,实现将故障实例排除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值