服务注册中心
在之前服务规模较小时,可以使用硬编码的方式来将服务地址写在代码中,通过编码的方式来实现服务的路由和负载均衡的问题,也可以使用硬件负载均衡设备(如F5)或者软件负载均衡(如nginx和lvs)等方式来进行处理。但微服务中服务很多,如果使用硬编码提供者的地址的话,管理起来不方便,而且可能会出现单点问题
服务注册与查询
为了避免单点故障,出现了注册中心,用来动态注册和获取服务信息,来统一进行管理服务名称和对应的服务器列表信息
服务提供者、服务消费者、注册中心关系
- 微服务启动时,将自己的网络地址等信息注册到注册中心中,注册中心会存储这些信息
- 服务消费者可以从注册中心中查询到服务提供者的网络地址,并使用该地址调用服务提供者的接口
- 各个微服务与注册中心使用一定机制(如心跳)通信,如果注册中心长时间无法与微服务实例通信成功,则注销该实例
- 微服务网络地址发生变更时,会重新注册到注册中心