【实战】Spring Cloud微服务经典模型:Zuul+Eureka+Rest

简介: 目前微服务两大主流框架无非是Dubbo和Spring Cloud。在Spring Cloud框架中,通常由前端Zuul承担网关的工作,包括基于Ribbon的负载均衡,API网关以及反向代理三种功能;Eureka服务器维护了微服务的列表,包括自动注册微服务,以及定期更新列表中的服务状态。

目前微服务两大主流框架无非是Dubbo和Spring Cloud。在Spring Cloud框架中,通常由前端Zuul承担网关的工作,包括基于Ribbon的负载均衡,API网关以及反向代理三种功能;Eureka服务器维护了微服务的列表,包括自动注册微服务,以及定期更新列表中的服务状态。
Eureka客户端定期向服务器传递服务心跳,如果超过预设的周期服务端没有收到心跳信号,则Eureka服务器判定其状态失联。通常情况下Eureka服务器同时装有Eureka客户端以保证注册服务同样受到监控,因为客户端也需要从Eureka服务器获取当前注册的微服务列表及其可用状态。
1
作为微服务之一的API网关Zuul也会将服务注册于Eureka,当有Web用户需要访问某个REST应用时(应用调用的方式有REST和SOAP两种,相比较下REST的请求/响应包更小,而SOAP只支持XML格式的调用,传输量会大一些),Web端(在Spring Cloud框架下多为Angular搭建)将请求发送到API网关Zuul。
2
Zuul接收到请求向Eureka查询该服务的位置和状态,然后将请求传送给承载该服务的实例。前面说了Zuul除了API网关的功能还可以充当负载均衡器,即当某一级URL/微服务有多个实例时,会平均地将请求分配给各个实例;同样它还有反向代理的功能,即能将微服务的响应传输到UI端。
3
接下来是实战部分,通过Spring Initializer选择Eureka服务器代码模板。
4
在资源目录下配置Eureka服务器的注册端口,主机名,自身是否需要注册等内容。
5
Zuul服务器作为Spring Cloud架构的标准组件之一在Spring Initializer上也可以下载标准模板。
6
在配置文件application.yml中,需要定义Zuul的侦听端口、主机名、实例访问方式(IP或主机名)以及eureka服务器的url。
7
标准的REST应用需要从Spring Initializer中下载Actuator、Eureka Discovery以及Web组件。
8
Rest应用各种各样,可以在main主程序中放飞自我。配置部分同样需要应用告知Eureka服务器的位置,然后通过随机生成的UUID作为微服务注册号。
9
这样一个简单的Spring Cloud微服务就搭完了。
10
当然在yml文件中还有很多可以配置的项,大家自己去探索吧,这里就不一一赘述啦~

相关文章
|
11月前
|
数据可视化 Java BI
将 Spring 微服务与 BI 工具集成:最佳实践
本文探讨了 Spring 微服务与商业智能(BI)工具集成的潜力与实践。随着微服务架构和数据分析需求的增长,Spring Boot 和 Spring Cloud 提供了构建可扩展、弹性服务的框架,而 BI 工具则增强了数据可视化与实时分析能力。文章介绍了 Spring 微服务的核心概念、BI 工具在企业中的作用,并深入分析了两者集成带来的优势,如实时数据处理、个性化报告、数据聚合与安全保障。同时,文中还总结了集成过程中的最佳实践,包括事件驱动架构、集中配置管理、数据安全控制、模块化设计与持续优化策略,旨在帮助企业构建高效、智能的数据驱动系统。
495 1
将 Spring 微服务与 BI 工具集成:最佳实践
|
11月前
|
存储 安全 Java
管理 Spring 微服务中的分布式会话
在微服务架构中,管理分布式会话是确保用户体验一致性和系统可扩展性的关键挑战。本文探讨了在 Spring 框架下实现分布式会话管理的多种方法,包括集中式会话存储和客户端会话存储(如 Cookie),并分析了它们的优缺点。同时,文章还涵盖了与分布式会话相关的安全考虑,如数据加密、令牌验证、安全 Cookie 政策以及服务间身份验证。此外,文中强调了分布式会话在提升系统可扩展性、增强可用性、实现数据一致性及优化资源利用方面的显著优势。通过合理选择会话管理策略,结合 Spring 提供的强大工具,开发人员可以在保证系统鲁棒性的同时,提供无缝的用户体验。
254 0
|
10月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
1448 2
Spring Boot 3.x 微服务架构实战指南
|
10月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
11月前
|
监控 安全 Java
Spring Cloud 微服务治理技术详解与实践指南
本文档全面介绍 Spring Cloud 微服务治理框架的核心组件、架构设计和实践应用。作为 Spring 生态系统中构建分布式系统的标准工具箱,Spring Cloud 提供了一套完整的微服务解决方案,涵盖服务发现、配置管理、负载均衡、熔断器等关键功能。本文将深入探讨其核心组件的工作原理、集成方式以及在实际项目中的最佳实践,帮助开发者构建高可用、可扩展的分布式系统。
640 1
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
661 1
|
负载均衡 Dubbo Java
Spring Cloud Alibaba与Spring Cloud区别和联系?
Spring Cloud Alibaba与Spring Cloud区别和联系?
|
Java Nacos Sentinel
Spring Cloud Alibaba:一站式微服务解决方案
Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。
3461 13
Spring Cloud Alibaba:一站式微服务解决方案
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
2130 7
【SpringCloud Alibaba系列】Dubbo高级特性篇