基于常见组件的微服务场景实战,注册发现
下面开始微服务相关内容的讲解。在这一部分中,仍然从最基础的场景入手,然后再逐步展开说明,帮助大家快速掌握一些微服务组件的实现原理,最终理解微服务架构的本质。
业务场景:如何对几十个后台服务进行高效管理
依旧先来看一个实际的业务场景。
在笔者团队负责过的某个系统中,已经拥有了50多个服务,并且很多服务之间都有调用关系,而这些服务是使用各种语言编写的,比如Java、Go、Node.js。目前流行的Spring Cloud、Dubbo这些微服务框架都是针对Java语言的,所以没有使用它们。
那么,如何配置各个服务之间的调用关系呢?下面还原一下当时的配置过程。
因为这50多个服务都有负载均衡,所以首先需要把服务的地址和负载均衡全部配置在Nginx上,类似这样:
网络异常,图片无法展示
|
网络异常,图片无法展示
|
而服务之间的调用关系主要通过本地配置文件配置,代码如下所示:
网络异常,图片无法展示
|
配置过程说明:先通过本地配置文件获取需调用服务的主机地址,再在代码中加上URI组装成URL,然后所有服务之间的调用都通过Nginx代理。调用关系的架构图如图8-1所示。
网络异常,图片无法展示
|
那么,在以上这种架构中,到底会遇到哪些问题呢?下篇给大家介绍~