Spring Cloud注册中心之Eureka摘录

前言

Spring Cloud Eureka是Spring Cloud Netflix微服务套件的一部分,基于Netflix Eureka做了二次封装,主要负责实现微服务架构中的服务治理功能。Eureka是一个基于REST的服务,并且提供了基于Java的客户端组件,能够非常方便的将服务注册到Eureka中进行统一管理。
服务治理在微服务架构中是必不可少的一部分,安粮开源的Dubbo框架就是针对于服务治理的,服务治理必须要有一个注册中心,除了用Eureka作为注册中心外,我们还可以使用Consul、Etcd、Zookeeper等来作为服务的注册中心。
在分布式系统中有个注明的CAP定理:

  • C 数据一致性
  • A 服务可用性
  • P 服务对网络分区故障的容错性

Eureka rest api
Eureka作为注册中心,其本质是存储了每个客户端的注册信息,Ribbon在转发的时候,会获取注册中心的服务列表,然后根据对应的路由规则来选择一个服务给Feign来进行调用。我们也看单独使用Eureka作为注册中心,Eureka提供的API可以使我们获取单个服务的实例信息。
示例: 获取App-Test服务的注册信息
GET http://localhost:6001/eureka/apps/App-Test
Content-Type: application/json
Accept: application/json
响应:

mircoservice-product microservice-product:8101 10.135.179.115 mircroservice-product UP 8101 .......

元数据使用
Eureka元数据有两种类型,分别是框架定好的标准元数据和用户自定义数据。标准的元数据是主机名、IP地址、端口号、状态页和健康检查等信息,这些信息都会发布在服务注册表中,用于服务之间的调用。自定义元数据可以使用eureka.instance.metadataMap进行配置。

服务上下线监控
在某些特定需求场景下,我们需要对服务的上下线进行监控,上下线考研进行邮件通知,Eureka提供了事件监听的方式来扩展。
目前支持的事件如下:

  • EurekaInstanceCanceledEvent 服务下线事件
  • EurekaInstanceRegisteredEvent 服务注册事件
  • EurekaInstanceRenewedEvent 服务续约事件
  • EurekaRegistryAvailableEvent 注册中心启动事件
  • EurekaServerStartedEvent Eureka Server启动事件
    基于Eureka提供的事件机制,可以监控服务的上下线过程,在过程发生中可以发送邮件通知。
@Component
public class EurekaStateChangeListener {

@EventListener
public void listen(EurekaInstanceCanceledEvent event) {

System.out.println(event.getServerid() + "\t" +
event.getAppName()"服务下线";

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值