微服务架构将一个应用拆分成多个独立的,具有业务属性的服务,每个服务运行在不同的进程中,服务与服务之间通过轻量级的通信机制互相协作,互相配合,从而为终端用户提供业务价值。因此,微服务架构强调的是一种独立开发,独立测试,独立部署,独立运行的高度自治的架构模式。
服务发现:(Eureka)所有的服务提供方启动时向注册中心报告自身的信息,包括自己的地址,端口,以及提供那些服务等相关信息。当服务调用方需要调用服务时,只需要问注册中心是谁提供了相关的服务,注册中心返回那些提供方提供了这些服务,调用方就可以自己根据注册中心返回的信息去请求了。Eureka就提供了这样一种能力,同时自身作为注册中心的同时也提供了高可用的支持,支持集群部署时各个节点之间的注册数据同步复制。
使用Eureka就自动具有了注册中心,负载均衡,故障转移的功能。主要包含两个组件:
Eureka Client:一个Java客户端,用于简化与Eureka Server的交互(通常就是微服务中的客户端和服务端)。
Eureka Server:提供服务注册和发现的能力(通常就是微服务中的注册中心)。
同步:多个Eureka Server之间通过复制的方式完成服务注册表的同步,从而实现Eureka的高可用。
识别:Eureka Client会在本地缓存Eureka Server中的信息。即使所有Eureka Server 节点都宕调,服务消费方仍可使用本地缓存中的信息找到服务提供方。
续约:微服务会周期性(默认30秒)地向Eureka Server发送心跳续约自己的信息。
续期&