以crazy-springcloud开发脚手架为例,一个Spring Cloud+Nginx应用的架构如图1-1所示。

图1-1 基于Spring Cloud+Nginx的应用架构
Nginx作为反向代理服务器,代理内部Zuul网关服务,通过Nginx自带的负载均衡算法实现客户端请求的代理转发、负载均衡等功能。
Zuul网关主要实现了微服务集群内部的请求路由、负载均衡、统一校验等功能。虽然在路由服务和负载均衡方面,Zuul和Nginx的功能比较类似,但是Zuul是自身注册到Eureka/Nacos,通过微服务的serviceID实现微服务提供者之间的路由和转发。
Eureka、Nacos都是Spring Cloud技术体系中提供服务注册与发现的中间件。Eureka是Netflix开源的一款产品,提供了完整的服务注册和发现,是Spring Cloud“全家桶”中的核心组件之一。
Nacos是阿里巴巴推出来的一个开源项目,也是一个服务注册与发现中间件,它用于完成服务的动态注册、动态发现、服务管理,还兼具了配置管理的功能。Nacos提供了一组简单易用的特性集,用于实现动态服务发现、服务配置、服务元数据及流量管理。
由于新版本的Eureka已经闭源,而阿里巴巴的Nacos除了具备Eureka注册中心功能外,还具备Spring Cloud Config配置中心的功能,因此大大地降低了使用和维护的成本。另外,Nacos还具有分组隔离功能,一套Nacos集群可以支撑多项目、多环境。综合上

本文介绍了Spring Cloud+Nginx架构,其中Nginx作为反向代理,Zuul实现微服务路由,Eureka和Nacos提供服务注册与发现。推荐使用Spring Cloud Finchley.SR4版本,涉及中间件包括ZooKeeper、Redis、Eureka、Spring Cloud Config、Zuul和Nginx。讨论了版本选择和中间件在微服务架构中的作用。
最低0.47元/天 解锁文章
1575

被折叠的 条评论
为什么被折叠?



