服务注册与发现的作用——以eureka为例
搜了一些资料,对于服务注册与发现的作用,大多讲的比较学术化,抽象。本人根据浅薄的学习情况,日常记录一下自己的理解:
服务down掉的情况
同一个功能模块的微服务通常会有多份,在不用服务注册的情况下,消费端请求服务的IP端口写在代码中,如果服务提供者挂掉了,那么消费端也会出现问题,改起来非常不方便。这时如果把微服务注册到注册中心统一管理,请求调用的服务每次通过调用注册的服务ID就可以调用服务,同一个服务提供者可以有多个实例,就算其中一个实例挂掉了,还有其他实例提供服务,可以通过负载均衡自动分配。
public static final String PAYMENT_URL = "http://CLOUD-PAYMENT-SERVICE";
增加服务的情况
类似
总结
在微服务多起来的情况下,服务注册与发现屏蔽了服务端口IP等一些容易混淆的东西,只要将服务注册到注册中心,通过统一的服务ID去调用,后续服务模块的增加减少不会影响到依赖于此的其他服务。