BasicLab基础架构实验室
本人深耕基础架构领域,曾在国内500强大厂研发企业级百亿量级吞吐中间件,擅长Java语言、Go语言、Python语言、C语言、NodeJS、Web、Linux、深度学习、大数据、云原生等
展开
-
SpringCloud实战(五)-路由网关(zuul)
本文是SpringCloud实战(五)-路由网关(zuul),若要关注前文,请点击传送门:SpringCloud实战(四)-断路器(Hystrix)前文我们介绍了Hystrix断路器。在平常工作中,我们有时候希望将客户端和服务端之间增加一层防火墙,让客户端访问服务端必须通过这道防火墙检测是安全访问之后才让请求通过,否则打回。SpringCloud提供了路由网关(zuul)来做这道防火墙,我...原创 2019-05-09 16:32:00 · 735 阅读 · 0 评论 -
SpringCloud实战(四)-断路器(Hystrix)
本文是SpringCloud实战(四)-断路器(Hystrix),若要关注前文,请点击传送门:SpringCloud实战(三)-服务间调用(Feign)前文我们介绍了通过Feign实现服务间调用。在我们平常工作中有的时候难免会遇到服务不能提供相应或者发生宕机的情况存在,此时可能会造成线程close_wait的情况,造成CPU飙升100%,这种情况在SpringCloud中也给出了相应的微服...原创 2019-05-09 14:54:47 · 813 阅读 · 0 评论 -
SpringCloud实战(三)-服务间调用(Feign)
本文是SpringCloud实战(三)-服务间调用(Feign),若要关注前文,请点击传送门:SpringCloud实战(二)-服务间调用(ribbon+restTemplate)前文我们基于ribbon+restTemplate实现了服务间调用,本文我们基于Feign来实现相同的效果,这两者其实没有什么区别,Feign也是基于ribbon来进行的负载均衡。一、Feign简介Fei...原创 2019-05-09 13:49:09 · 1681 阅读 · 0 评论 -
SpringCloud实战(二)-服务间调用(ribbon+restTemplate)
本文是SpringCloud实战(二)-服务间调用(ribbon+restTemplate),若要关注前文,请点击传送门:SpringCloud实战(一)-高可用的服务注册中心(Eureka)前文我们介绍了高可用Eureka集群搭建。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbo...原创 2019-05-09 12:18:39 · 1223 阅读 · 0 评论 -
SpringCloud实战(一)-高可用的服务注册中心(Eureka)
由于工作的原因,最近特意研究了一下SpringCloud相关微服务组件的实现原理,并将各个微服务组件进行了单机搭建和伪集群搭建,本专栏的SpringBoot版本是基于2.0.3版本,SpringCloud版本是Finchley版本。Finchley版本的官方文档如下:http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/si...原创 2019-05-09 11:19:58 · 1803 阅读 · 1 评论 -
SpringCloud实战(十九)-Sentinel 流量控制
一、概述Sentinel: 分布式系统的流量防卫兵.Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。当你决定选用Sentinel的时候,应该已经明白Sentinel是干什么的,有什么作用,Sentinel主要用于微服务的流量防卫,而如今我们最熟知的微服务无外乎SpringCloud和Dubbo。本篇就SpringCloud接入Sentinel进行简单的描述。二、Dashboard的部署2.1 简介在Sentinel的官方文档中,介绍原创 2021-08-24 14:28:14 · 318 阅读 · 1 评论 -
SpringCloud实战(十八)-Sentinel 熔断策略
Sentinel中的熔断策略有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。熔断策略Sentinel 提供以下几种熔断策略:慢调用比例 (SLOW_REQUEST_RATIO):选择以慢调用比例作为阈值,需要设置允许的慢调用 RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且慢调用的比例大于阈值,则接下来的熔断时长内请求会自动被原创 2021-08-24 14:19:53 · 1031 阅读 · 0 评论 -
SpringCloud实战(十七)-基于Ribbon动态路由实现:调用链控制/版本控制/灰度发布(粒度更细,可以控制到每一个微服务模块版本的路由)
Demo代码地址:https://download.csdn.net/download/qq_19734597/21454192有什么用可实现一套调用链管理工具,将管理好的调用链保存于redis中,实现一个ServiceLancherHandler类,从redis中取指定服务的访问tag,实现调用链管理 对服务添加自定义tag,例如blue/green,比如有一个服务A,线上运行版本为blue,如果需要升级服务,可先发布版本为green的服务A,然后在测试机中添加指定A:blue的header,可原创 2021-08-23 10:26:50 · 455 阅读 · 0 评论 -
SpringCloud实战(十六)-基于Gateway + nacos网关灰度发布(只控制到网关层,局限性太大,微服务复杂链路调用规则控制建议重写Ribbon,而不是只重写Gateway路由规则)
什么是灰度发布?灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。本文以springcloud gateway + nacos来演示如何实现灰度发布,如果对springcloud gateway和nacos还不熟悉的朋友,原创 2021-08-23 09:40:57 · 1637 阅读 · 0 评论 -
SpringCloud实战(十五)-分布式事务解决方案(Seata)
本文是SpringCloud实战(十五)-分布式事务解决方案(Seata),若要关注前文,请点击传送门:SpringCloud实战(十四)-容器自动化集群部署(Kubernetes)前文我们介绍了容器自动化集群部署(Kubernetes)。在分布式微服务大行其道的现在,分布式事务一直都是较为头疼的问题,我们需要去考虑 A -> B -> C 调用的时候,如果C模块发生异常,如何才能让全局事务进行回滚。近期看到Seata更新了PostgreSQL的分布式事务解决方案,所以考虑来写原创 2020-07-23 20:28:42 · 1785 阅读 · 6 评论 -
SpringCloud实战(十四)-容器自动化集群部署(Kubernetes)
本文是SpringCloud实战(十四)-容器自动化集群部署(Kubernetes),若要关注前文,请点击传送门:SpringCloud实战(十三)-轻量级集群管理工具(Portainer)前文我们介绍了轻量级集群管理工具(Portainer)。之前我们已经讲过通过 Swarm 编排集群的方式,本文我们主要讲解如何以 Kubernetes 编排集群。一、Kubernetes简介 Kubernetes是Google开源的一款容器编排工具,它是诞生在Google内部运行N多年的博格系统之上的产物原创 2020-07-11 18:21:18 · 1082 阅读 · 0 评论 -
SpringCloud实战(十三)-轻量级集群管理工具(Portainer)
本文是SpringCloud实战(十三)-轻量级集群管理工具(Portainer),若要关注前文,请点击传送门:SpringCloud实战(十二)-自动化质量检测工具(SonarQube)前文我们介绍了Jenkins集成Sonar实现自动化质量检测。随着我们容器数量的日益增多,管理起来也慢慢地力不从心,这个时候我们可能需要一个工具来帮我们实现容器管理,如果你使用的是kubernetes,那...原创 2019-05-24 09:57:01 · 1604 阅读 · 0 评论 -
SpringCloud实战(十二)-自动化质量检测工具(SonarQube)
本文是SpringCloud实战(十二)-自动化代码检测工具(SonarQube),若要关注前文,请点击传送门:SpringCloud实战(十一)-更优的分布式配置解决方案(Apollo)前文我们介绍了携程的Apollo配置中心。在我们的日常开发中,程序有BUG是一件很让人苦恼的事情,开发过程中定位BUG和解决问题都会占据我们很多的时间,市面上已经提供了一些代码检测工具来帮助我们完成这些事...原创 2019-05-23 20:33:40 · 2167 阅读 · 0 评论 -
SpringCloud实战(十一)-更优的分布式配置解决方案(Apollo)
本文是SpringCloud实战(十一)-更优的分布式配置解决方案(Apollo),若要关注前文,请点击传送门:SpringCloud实战(十)-容器自动化集群部署(Swarm)前文我们介绍了容器自动化集群部署。本文介绍携程的阿波罗,它相对于SpringCloud Config来说应该说是更优的一种配置中心解决方案,因为他自带了配置管理界面,用户无需将配置文件上传到GitLab上,同时它还...原创 2019-05-23 20:28:29 · 868 阅读 · 0 评论 -
SpringCloud实战(十)-容器自动化集群部署(Swarm)
本文是SpringCloud实战(十)-容器自动化集群部署(Swarm),若要关注前文,请点击传送门:SpringCloud实战(九)-容器自动化部署与持续集成(Docker)前文我们介绍了容器自动化部署与持续集成。在我们成功搭建好了前文的容器自动化部署之后,不知道大家有没有考虑过,那如果我要部署集群怎么办?难道在Jenkins中对同一个工程新建多个实例,然后每个实例采用不同的配置文件吗?...原创 2019-05-23 20:22:44 · 1528 阅读 · 0 评论 -
SpringCloud实战(九)-容器自动化部署与持续集成(Docker)
本文是SpringCloud实战(九)-Docker自动化部署与持续集成,若要关注前文,请点击传送门:SpringCloud实战(八)-断路器监控与集群监控(Hystrix Dashboard)前文我们介绍了Hystrix的集群监控。本文主要讲述SpringCloud构建镜像和远端部署。一、Docker自动化部署简介随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间...原创 2019-05-23 15:37:50 · 4147 阅读 · 0 评论 -
SpringCloud实战(八)-断路器监控与集群监控(Hystrix Dashboard)
本文是SpringCloud实战(八)-断路器监控(Hystrix Dashboard),若要关注前文,请点击传送门:SpringCloud实战(七)-服务链路追踪(Spring Cloud Sleuth)前文我们介绍了zipkin。本文主要讲述断路器监控Hystrix Dashboard。一、Hystrix Dashboard简介Hystrix Dashboard,它主要用来实时...原创 2019-05-09 20:04:00 · 795 阅读 · 0 评论 -
SpringCloud实战(七)-服务链路追踪(Spring Cloud Sleuth)
本文是SpringCloud实战(七)-服务链路追踪(Spring Cloud Sleuth),若要关注前文,请点击传送门:SpringCloud实战(六)-高可用的分布式配置中心(Spring Cloud Config)前文我们介绍了分布式配置中心。本文主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。一、Sleuth简介Spring...原创 2019-05-09 19:23:11 · 708 阅读 · 0 评论 -
SpringCloud实战(六)-高可用的分布式配置中心(Spring Cloud Config)
本文是SpringCloud实战(六)-高可用的分布式配置中心(Spring Cloud Config),若要关注前文,请点击传送门:SpringCloud实战(五)-路由网关(zuul)前文我们介绍了Zuul路由网关。随着工作中业务的日益增多,需求日益复杂,我们需要拆分许多微服务模块进行业务划分,此时每一个模块都有各自的配置文件,此时如果有1万个模块,我们就有1万个配置文件,所以我们需要...原创 2019-05-09 18:41:28 · 830 阅读 · 0 评论