网站的形式有哪些,网页设计去除下划线代码,网站导航app,小程序商城开发说明在上一篇中#xff0c;我们搭建了Spring Cloud的父子模块#xff0c;并实现了一个Eureka子模块的启动#xff0c;可以通过浏览器地址去访问Eureka主页了#xff0c;相信了解过的童鞋应该看到#xff0c;主页上并未有任何服务去注册#xff0c;那么我们就在这篇#xff0…在上一篇中我们搭建了Spring Cloud的父子模块并实现了一个Eureka子模块的启动可以通过浏览器地址去访问Eureka主页了相信了解过的童鞋应该看到主页上并未有任何服务去注册那么我们就在这篇使用zuul网关作为第一个注册到Eureka注册中心的服务吧。 上一篇博文地址 使用Spring Cloud搭建一个项目框架之父子模块的创建
老样子创建一个子模块zuul的微服务模块 这里我再次示例一次子模块的搭建方式之后的子模块我将只会给出相关依赖代码和Application.yml文件了还不知道怎么创建父子模块的请参照本文的上一篇。
什么是zuul?
Spring Cloud Zuul是一个基于Netflix Zuul构建的API网关服务它提供了一种简单而强大的方式来管理和路由微服务的请求流量。作为一个边缘服务Zuul可以处理所有进入微服务架构的请求并提供了一些关键功能包括动态路由、负载均衡、请求过滤、请求转发等。
以下是Spring Cloud Zuul的一些主要功能 动态路由Zuul允许根据请求的URL路径将请求动态路由不到同的微服务实例。这使得在微服务架构中进行服务发现和负载均衡变得更加灵活和可配置。 负载均衡Zuul可以与服务注册中心如Eureka集成以实现负载均衡和高可用性。它可以根据负载均衡策略将请求分发到多个可用的微服务实例。 请求过滤Zuul提供了一种机制来拦截和过滤进入微服务的请求。通过定义过滤器可以对请求进行预处理、鉴权、日志记录等操作以满足安全性、监控和日志记录等需求。 请求转发Zuul可以将请求转发到其他微服务或外部服务。这使得在微服务架构中进行服务间通信变得更加简单和统一。
Spring Cloud Zuul是Spring Cloud生态系统中的一个重要组件它可以帮助开发人员构建强大的微服务架构并提供了一些关键的功能来管理和保护微服务的请求流量。
在这里提及一下zuul在Spring Cloud的新的系列中已经逐步被Gateway取代Gateway提供了更为高级的功能以及性能如果你使用较为新的版本的Spring Cloud推荐使用Gateway而不是zuul。
?xml version1.0 encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringCloud/artifactIdgroupIdcom.miaow/groupIdversion0.0.1-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdzuul/artifactIdnamezuul/name!-- FIXME change it to the projects website --urlhttp://www.example.com/urlpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.target/propertiesdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependency!--网关依赖--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-zuul/artifactId/dependency!--添加eureka客户端--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency/dependencies
/project之后我们配置相关启动类文件
EnableEurekaClient //作为Eureka的客户端接入进去
EnableZuulProxy //启用zuul网关
SpringBootApplication
public class ZuulApplication
{public static void main( String[] args ){SpringApplication.run(ZuulApplication.class);}
}然后新建一个resources文件夹在旗下建一个application.yml文件。
server:port: 2379
spring:application:name: zuul-demo#路由前缀
zuul:prefix: /api# eureka客户端注册到Eureka注册中心切记需要启动eureka服务
eureka:client:service-url:defaultZone: http://localhost:1000/eureka目录结构如下。 这里需要强调的事目前是微服务阶段那么我们既然作为Eureka的客户端在哪肯定需要Eureka服务启动的哈此时微服务启动就分顺序了先Eureka服务在Zuul服务错了你项目就会出现问题了。 我们访问loaclhost:1000查看我们的服务是否注册到注册中心去了没有。如果有以下信息代表这个服务已经ok了可以拿着直接用了对详细配置 让我们来看看Spring Cloud的几大核心组件我们已经初步搭建了哪几个模块了Spring Cloud的五大核心组件分别如下我采用勾选的方式代表我们操作到哪一步了具体的操作我们将会慢慢的完善。 EurekaEureka是一个服务注册和发现组件它提供了服务注册、服务发现和服务治理的功能。通过Eureka微服务可以自动注册和发现其他微服务从而实现服务之间的通信和协作。 ZuulZuul是一个API网关组件它可以与Eureka集成提供了对微服务的路由、负载均衡、请求过滤和请求转发的功能。通过Zuul开发人员可以将所有的微服务请求都通过一个入口点进行管理和保护。 RibbonRibbon是一个客户端负载均衡组件它可以与Eureka集成实现对微服务实例的负载均衡和故障转移。通过Ribbon微服务可以自动选择可用的实例并将请求分发到这些实例上。 FeignFeign是一个声明式的HTTP客户端组件它可以与Ribbon和Eureka集成简化微服务之间的HTTP通信。通过Feign开发人员可以使用注解来定义HTTP请求和响应的格式从而实现对微服务之间的调用。 HystrixHystrix是一个容错和断路器组件它可以与Ribbon和Feign集成提供了对微服务的容错和故障保护的功能。通过Hystrix开发人员可以定义断路器的行为从而实现对微服务的故障隔离和恢复。
本系列源码地址请点击我