一份微服务架构手稿图,彻底搞定微服务核心原理(11)

第一种 , 开发人员开发了程序以后 , 会找运维配一个域名 , 服务的话通过 DNS 就能找到我们对应的服务 。

缺点是 , 由于服务没有负载均衡功能 , 对负载均衡服务 , 可能会有相当大的性能问题 。

第二种 , 是目前普遍的做法 。 可以参考 Zuul 网关 , 每一个服务都通过服务端内置的功能注册到注册中心 , 服务消费者不断轮询注册中心发现对应的服务 , 使用内置负载均衡调用服务 。

缺点是 , 对多语言环境不是很好 , 你需要单独给消费者的客户端开发服务发现和负载均衡功能 。 当然了 , 这个方法通常都是用在 Spring Cloud 上的 。

第三种 , 是将客户端和负载均衡放在同一个主机 , 而不是同一个进程内 。

这种方法相对第一种第二种方法来说 , 改善了他们的缺点 , 但是会极大增加运维成本 。

推荐阅读