SpringCloudEureka作为SpringCloud的核心组件之一,主要的作用是实现各个服务实例的自动注册以及服务发现。
可以避免系统中包含大量服务的时候而出现的服务清单维护繁琐,混乱等问题。
服务注册与服务发现:
服务注册:
服务A部署在机器192.168.0.131:8080,和192.168.0.141:8080上
服务B部署在机器192.168.0.111:8082,和192.168.0.132:8888,192.168.0.132:8889上
并且都向注册中心Eureka注册了自己的服务信息,那么这个时候Eureka就会维护这些服务的信息:
服务名称 | 服务位置(ip:端口) |
A | 192.168.0.131:8080,192.168.0.141:8080 |
B | 192.168.0.111:8082,192.168.0.132:8888192.168.0.132:8889 |
服务发现:
在Eureka中,服务见的相互发现可以通过服务名来找到相对应服务的位置,C服务要发现找到A服务的位置,那么自己先向注册中心Eureka注册自己,这样向Eureka请求A服务的清单,Eureka会返回A服务的地址清单:192.168.0.131:8080,192.168.0.141:8080,C服务得到两个可用的A服务地址,便会通过配置的轮训策略来请求这两个地址。。
Eureka服务端与客户端:
Eureka服务端负责服务的注册,也就是服务的注册中心,Eureka服务端支持高可用配置。
Eureka客户端:主要负责服务的发现,Eureka客户端想注册中心(服务端)注册自身服务并且发送心跳定期续约定期拉去服务清单并且维护服务清单。
服务治理包含三个角色:
服务注册中心
服务提供者
服务消费者
一般的情况下,我们的服务既是提供者也是消费者。