Netfilx Eureka

Spring Cloud Eureka,使用Netflix Eureka来实现服务注册与发现,它既包含了服务端组件,也包含了客户端组件,并且服务端与客户端均采用java编写,所以Eureka主要适用于通过Java实现的分布式系统,或是与JVM兼容语言构建的系统。但是,由于Eureka服务端的服务治理机制提供了完备的RESTful API,所以它也支持非Java语言构建的微服务应用纳入Eureka的服务治理体系中来。只是在其他语言平台的时候,需要自己来实现一些针对Eureka的客户端应用程序。不过庆幸的是,在目前几个较为流行的开发平台中,都已经有了一些针对Eureka注册中心的客户实现框架,比如.NET平台的Steeltoe、Node.js的eureka-js-client等。
一 Eureka服务端
我们也称为服务注册中心。它同其他服务注册中心一样,支持高可用配置。它依托于强一直性提供良好的服务实例可用性,可以应对多种不同的故障场景。如果Eureka以集群模式部署,当集群中有分片出现故障时,那么Eureka就转入自我保护模式。它允许在分片故障期间继续提供服务的发现和注册,当故障分片恢复运行时,集群中的其他分片会把他们的状态同步回来。以在AWS上的实践为例,Netflix推荐每个可用的区域运行一个Eureka服务端,通过它来形成集群。不同可用区域服务注册中心通过异步模式互相复制各自的状态,这意味着在任意给定的时候点每个实例关于所有服务的状态是有细微差别的。
二 Eureka客户端
主要处理服务的注册与发现。客户端服务通过注解和参数配置的方式,嵌入在客户端应用程序的代码中,在应用程序运行时,Eureka客户端向注册中心注册自身提供的服务并周期性地发送心跳来更新它的服务租约。同时,它也能从服务端查询当前注册的服务信息并把它们缓存到本地并周期性刷新服务的状态。

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/81007522