一、 Zuul的介绍
Zuul一个基于JVM路由和服务端的负载均衡器,在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。 路由功能:相当于nginx的反向代理功能。
比如:/ 可能需要映射到你的web应用, /api/users 映射到用户服务,/api/shop 映射到商城服务。需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六
二、 新建项目
1、 加入依赖包
org.springframework.cloud spring-cloud-starter-zuul 复制代码 org.springframework.cloud spring-cloud-starter-eureka
2、 配置文件
serverserver.port=9876 springspring.application.name=spring-cloud-gateway eureka#eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/eureka.client.serviceUrl.defaultZone=http://roncoo:123456@localhost:8761/eureka/ info自定义info.build.name=@project.name@info.build.description=@project.description@info.build.groupId=@project.groupId@info.build.artifact=@project.artifactId@info.build.version=@project.version@eureka.instance.status-page-url-path=/infoeureka.instance.instanceId=${spring.application.name}:${random.value}eureka.instance.prefer-ip-address=true#设置拉取服务注册信息时间,默认60seureka.client.registry-fetch-interval-seconds=30#指定续约更新频率,默认是30seureka.instance.lease-renewal-interval-in-seconds=15#设置过期剔除时间,默认90seureka.instance.lease-expiration-duration-in-seconds=45复制代码
3、 主类
package com.roncoo.education;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.zuul.EnableZuulProxy;@EnableZuulProxy@SpringBootApplicationpublic class GatewayApplication { public static void main(String[] args) { SpringApplication.run(GatewayApplication.class, args); }}复制代码
4、 启动访问:
localhost:7778/api/user/1
localhost:8886/feign/user/1
使用zuul
localhost:9876/spring-cloud-provider/api/user/1
localhost:9876/spring-cloud-consumer2/feign/user/1
说明:zull可以调用提供者,也可以调用消费者,这里没有固定的规则,符合业务需求即可。很多时候,提供者也会调用到另外的提供者(可能是多个),这里建议,最好不要超过三个应用之间的调用。
例如:一个下单api服务,当用户进行下单就会调用到订单服务,订单服务里面会调用到用户服务进行用户信息的操作,也会调用积分服务进行积分的操作,也可能会有日志服务进行日志记录,最终才能下单。