1. 1 不可撤销
  2. 2 小年兽 程嘉敏
  3. 3 手放开 李圣杰
  4. 4 迷人的危险3(翻自 dance flow) FAFA
  5. 5 山楂树之恋 程佳佳
  6. 6 summertime cinnamons / evening cinema
  7. 7 不谓侠(Cover 萧忆情Alex) CRITTY
  8. 8 神武醉相思(翻自 优我女团) 双笙
  9. 9 空山新雨后 音阙诗听 / 锦零
  10. 10 Wonderful U (Demo Version) AGA
  11. 11 广寒宫 丸子呦
  12. 12 陪我看日出 回音哥
  13. 13 春夏秋冬的你 王宇良
  14. 14 世界が终わるまでは… WANDS
  15. 15 多想在平庸的生活拥抱你 隔壁老樊
  16. 16 千禧 徐秉龙
  17. 17 我的一个道姑朋友 双笙
  18. 18 大鱼  (Cover 周深) 双笙
  19. 19 霜雪千年(Cover 洛天依 / 乐正绫) 双笙 / 封茗囧菌
  20. 20 云烟成雨(翻自 房东的猫) 周玥
  21. 21 情深深雨濛濛 杨胖雨
  22. 22 Five Hundred Miles Justin Timberlake / Carey Mulligan / Stark Sands
  23. 23 斑马斑马 房东的猫
  24. 24 See You Again Wiz Khalifa / Charlie Puth
  25. 25 Faded Alan Walker / Iselin Solheim
  26. 26 Natural J.Fla
  27. 27 New Soul Vox Angeli
  28. 28 ハレハレヤ(朗朗晴天)(翻自 v flower) 猫瑾
  29. 29 像鱼 王贰浪
  30. 30 Bye Bye Bye Lovestoned
  31. 31 Blame You 眠 / Lopu$
  32. 32 Believer J.Fla
  33. 33 书信 戴羽彤
  34. 34 柴 鱼 の c a l l i n g【已售】 幸子小姐拜托了
  35. 35 夜空中最亮的星(翻自 逃跑计划) 戴羽彤
  36. 36 慢慢喜欢你 LIve版(翻自 莫文蔚) 戴羽彤
  37. 37 病变(翻自 cubi) 戴羽彤
  38. 38 那女孩对我说 (完整版) Uu
  39. 39 绿色 陈雪凝
  40. 40 月牙湾 LIve版(翻自 F.I.R.) 戴羽彤
夜空中最亮的星(翻自 逃跑计划) - 戴羽彤
00:00 / 04:10

夜空中最亮的星 能否听清

那仰望的人 心底的孤独和叹息

夜空中最亮的星 能否记起

那曾与我同行 消失在风里的身影

我祈祷拥有一颗透明的心灵

和会流泪的眼睛

给我再去相信的勇气

越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请指引我靠近你

夜空中最亮的星 是否知道

那曾与我同行的身影 如今在哪里

夜空中最亮的星 是否在意

是等太阳先升起 还是意外先来临

我宁愿所有痛苦都留在心底

也不愿忘记你的眼睛

哦 给我再去相信的勇气

哦 越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请照亮我向前行 哒~

我祈祷拥有一颗透明的心灵

和会流泪的眼睛 哦

给我再去相信的勇气

哦 越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请照亮我向前行

spring-cloud应用网关之zuul

前言

应用网关这个组件,想必大家应该都不陌生,特别是在当下微服务盛行的互联网时代,应用网关有着非常重要的作用,也是一个必不可少的组件之一。

通常我们将应用网关放在企业应用的最外层,作为企业应用的第一道大门,所有服务都经过应用网关来访问,这样做有很多好处,比如更安全,所有应用只对外暴漏应用网关的服务映射地址,隐藏服务实际地址、部署节点等信息,确保服务系统安全性;更易于扩展,通过应用网关,我们可以把集成很多其他功能,比如权限中心、用户中心、服务负载中心等服务,这样其他服务只需要接入应用网关即可使用相关公共服务提供的服务,而不用单独集成。好了,关于应用网关我们暂时就说这么多,下面我们看下zuul网关的简单应用。

ZUUL

创建项目

首先,我们要先创建一个spring boot项目。然后引入zuuleureka的相关依赖。

核心依赖

下面就是zuul的核心依赖,必须引入。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
    <version>2.2.9.RELEASE</version>
</dependency>

引入zuul的依赖后,我发现zuul还依赖了ribbonfeignhystrix等组件,说明zuul本身也为我们提供负载均衡的相关实现,关于这一点,后面我们会演示。

eureka依赖

引入eureka的客户端依赖是因为zuul应用网关的核心实现其实是基于eureka实现的,没有eureka的支持,zuul本身是无法发现服务具体地址的,关于这一点,我们后面也会演示。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <version>2.2.9.RELEASE</version>
</dependency>
基本配置

我们只需要在项目主类加上@EnableZuulProxy即可启用zuul应用网关

@SpringBootApplication
@EnableZuulProxy
public class SpirngCloudZuulDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpirngCloudZuulDemoApplication.class, args);
    }

}

同时,点开@EnableZuulProxy注解,我们会发现,其实它默认为我们集成并启用了熔断器,当然从最前面的依赖也可以看出这一点。

关于启用Hystrix断路器,从业务上也很好理解,应用网关作为对外提供服务的窗口,在前后端交互方面是绝对的挑大梁角色,如果因为某个服务长时间未响应,导致请求阻塞,最后导致网关宕机,这种情景是不敢想象的,网关一挂,意味着企业服务都凉凉了,所以集成断路器就很有必要了。

这里就是应用网关的配置文件了,配置内容也很简单,一个是指定端口,一个是设定eureka注册中心的地址。用80端口的好处,就是可以省掉端口,就很方便了

server.port=80
eureka.client.service-url.defaultZone=http://localhost:8999/eureka/

访问测试

下面我们来进行一些简单的测试,首先启动我们的注册中心,为了方便测试,这里我们就启动一个注册中心,同时我们启动应用网关服务spring-cloud-zuul和产品服务product-service

在产品服务中,我们有一个简单的controller接口,这个接口就是上次我们测试feign负载均衡组件的时候用的,这里就直接用了。

下面我们通过应用网关访问下我们的产品服务,地址如下:

http://localhost/product-service/feign

这里解释下我们上面的地址,localhost是应用网关的服务地址,product-service是我们要访问的服务id,这个id是我们eureka中注册的服务id,也就是我们服务中配置的spring.application.name的值,/feign就是我们接口的地址了。这里再啰嗦一下,通过zuul网关访问的服务,必须在eureka中心注册,否则无法发现服务。

下面就是我们访问结果:

和我们直接访问服务实际地址返回的结果也是一致的:

同时在后端控制台,我们会发现zuul的负载均衡默认是通过ribbon实现的:

内容扩展

服务配置

下面是zuul应用网关的一些特殊配置:

# 微服务映射规则
# 配置访问规则
zuul.routes.product-service.path=/p/**
# 配置服务地址
#zuul.routes.product-service.url=http://baidu.com/
zuul.routes.product-service.url=http://localhost:9001/
# 指定服务id
zuul.routes.product-service.service-id=product-service

上面这些配置是一些特殊的访问规则,下面简单解释下:

第一行配置是设定product-service的访问规则,也就是说只要我们的访问地址符合/p/**的匹配规则,也就是说我们可以通过/p来访问我们的服务,而不必再指定serviceId

第二行配置设置的是product-service的服务地址;

第三行配置设定的是服务的service-id

只是上面这种配置式的访问规则,并不会触发负载均衡,只是单纯的请求转发。关于这一点,各位小伙伴可以访问同一个服务试下,配置式的访问规则,服务访问的时候只会访问我们设定的url,而通过serviceId的方式访问,则会默认走负载均衡:

总结

好了,zuul应用网关的相关知识点暂时就先分享到这里,我们目前就先分享一些简单的应用,后期有机会的话,我们再进一步挖掘。

最近一段时间,分享知识节奏有点快,到今天差不多一周的时间,我们已经分享了eurekafeignfibbonhystrixzuul等组件,虽然节奏快,但是内容方面我觉得应该算是尽可能详实了吧,当然很多内容的深度可能还不够,但是现阶段我们的目标只是了解和应用这些常用组件,至于各个组件的实现原理和高级用法,那是我的下阶段目标,所以暂时就先这样。

posted @ 2021-08-16 21:47  云中志  阅读(157)  评论(0编辑  收藏  举报