eureka 是Netflix微服务套件中的一部分,主要负责微服务的治理功能,通过这个增加了自动化配置,我们只需要通过简单的引入依赖和注解配置就能让spring boot构建的微服务轻松的与eureka服务治理体系进行整合。
服务注册:
在微服务的框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机,端口号,通信协议,版本号等一些附加信息告知注册中心。
使用netiflix服务组件,既包含了客户端又包含了服务端,并且服务端和客户端均采用Java编写,所以euraka主要适用通过Java实现的分布式系统,或与jvm兼容语言构建的系统。
但是,由于eureka服务端的服务治理机制提供了完备的restful api,所以它也支持非Java语言构建的微服务应用。只是在使用其他语言平台的时候,需要自己构建客户端程序,比如.net的Steeltoe,Node.js的eureka-js-cient
Eureka服务端,我们也称为服务注册中心,它同其它服务注册中心一样,支持高可用配置,依托于强一致性,可以应对多种不同的故障场景。
如果eureka以集群模式部署,当集群中有分片出现故障时,就会转入自我保护机制。
Eureka客户端主要处理服务的注册和发现,客户端服务通过注解和参数配置的方式,嵌入在客户端应用程序代码中。周期性的向服务端发送心跳来更新它的服务租约。同时,它也能从服务端查询当前注册的服务信息并将它缓存到本地并周期的刷新服务状态。
简单的构建服务端和客户端代码比较容易,这里不做过多解释。
对于服务注册中心,在生产环境,我们需要构建高可用的微服务注册中心来增强系统的可用性。
Eureka的高可用实际上就是将自己作为服务向其他服务中心注册自己。
领取专属 10元无门槛券
私享最新 技术干货