服务注册
服务注册分为自注册模式(Self Registration)和第三方注册模式(third-party registration)
1. 自注册模式
服务实例启动后,负责将自己的IP、端口等信息注册到注册表,然后通过发送心跳来续约注册信息。如果注册中心在一定时间内没有收到心跳信息,则从注册表删除该实例信息。eureka客户端即是这种注册模式。
2. 第三方注册模式
第三方(service registrar)通过轮询或者订阅事件检测一些运行实例的变化来对服务实例进行注册和注销。
服务发现
服务发现也分为客户端和服务端发现两种模式
1. 客户端服务发现
服务实例需要调用落地方时,从注册表查询到符合的服务实例,然后通过客户端负载均衡的方式请求落地方服务实例。eureka + ribbon就是该种方式的实现。
2. 服务端服务发现
服务实例通过调用负载均衡器请求,负债均衡器查询注册表信息,然后转发到相应的被调用服务实例上