上文我们已经初步对AlibabaCloud的有了一个初步的认识,接下本我们将在AlibabaCloud下使用zuul
一、Zuul 简介
路由在微服务体系结构的一个组成部分。例如,/可以映射到您的Web应用程序,/api/users映射到用户服务,并将/api/shop映射到商店服务。Zuul是Netflix的基于JVM的路由器和服务器端负载均衡器。
闲话不多说,接下来让我们代码敲起来
二、创建Zuul-Server
2.1 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
2.2 配置文件
server:
port: 8097
spring:
application:
name: javayh-nacos-zuul
profiles:
active: zuul
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
cluster-name: javayh-nacos
config:
group: javayh
server-addr: 127.0.0.1:8848
prefix: javayh-nacos-provider
file-extension: yml
#--------------------Zuul-----------------------
zuul:
routes:
member:
path: /provider/**
serviceId: javayh-nacos-provider
sensitiveHeaders: "*"
auth:
path: /consumer/**
serviceId: javayh-nacos-consumer
sensitiveHeaders: "*"
retryable: false
ignored-services: "*"
ribbon:
eager-load:
enabled: true
host:
connect-timeout-millis: 60000
socket-timeout-millis: 60000
add-proxy-headers: true
#----------------------超时配置-------------------
ribbon:
ReadTimeout: 60000
ConnectTimeout: 60000
MaxAutoRetries: 2
MaxAutoRetriesNextServer: 2
eureka:
enabled: true
hystrix:
command:
default:
execution:
timeout:
enabled: true
isolation:
thread:
timeoutInMilliseconds: 60000
以上配置说明:
1.我们将zuul-server也注册到nacos上,端口为8097
2.再启动类加上@EnableZuulProxy
3. 参数说明
# 服务的访问前缀
path: /provider/**
#nacos上的服务名
serviceId: javayh-nacos-provider
# 所以路径
sensitiveHeaders: "*"
这样服务就配置好了,结合上篇 AlibabaCloud初篇
启动javayh-nacos-zuul、javayh-nacos-provider
查看nacos注册中心
服务已经注册,我们访问http://localhost:8097/provider/provider/find/nacos/11111
是已成功调用了javayh-nacos-provider 的接口;
注
这里有个小问题,大家也发现了,我如果不起javayh-nacos-provider服务怎么办?访问会出现什么?
接下来我们把 javayh-nacos-provider关了
这时我们在访问http://localhost:8097/provider/provider/find/nacos/11111
会出现什么效果?当然是直接报错了,那我们如何解决呢,请看Zuul实现服务降级
关注 Java有货领取更多资料
联系小编。微信:372787553,带您进群互相学习
左侧小编微信,右侧获取免费资料
技术博客:https://blog.csdn.net/weixin_38937840
SpringCloud学习代码: https://github.com/Dylan-haiji/javayh-cloud
Redis、Mongo、Rabbitmq、Kafka学习代码: https://github.com/Dylan-haiji/javayh-middleware
AlibabaCloud学习代码:https://github.com/Dylan-haiji/javayh-cloud-nacos
SpringBoot+SpringSecurity实现自定义登录学习代码:https://github.com/Dylan-haiji/javayh-distribution