
SpringCloud
记录SpringCloud的学习过程
大后生大大大
加油!加油!加油!
展开
-
SpringCloud使用Hystrix的Turbine时,EurekaClient和NacosClient冲突问题
场景我们在使用Hystrix服务熔断、降级的时候可以使用HystrixDashBoard来监控各个接口的调用情况。但是通常情况都是单个服务部署多台,那么我们使用HystrixDashBoard监控的时就打开多个页面来监控?答案是否定的。SpringCloud为我们提供了集群的方式来解决单个服务部署多台的情况,就是Turbine机制。可以参考官网:https://docs.spring.io/spring-cloud-netflix/docs/2.2.9.RELEASE/reference/html/原创 2021-07-24 17:56:09 · 1001 阅读 · 0 评论 -
Nacos作为配置中心报错:Param ‘serviceName‘ is illegal, serviceName is blank
最近在玩Nacos的时候,按照Nacos官方的文档配置了Nacos的测试代码。官方参考文档:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html官方文档让我们把服务的名字和配置中的配置写在bootstrap.properties里面。但是,运行工程总是报错,说的serviceName非法,不能为空,如下:java.lang.IllegalArgumentException: Param 'serviceName' is illegal,原创 2021-07-04 15:09:00 · 16492 阅读 · 7 评论 -
SpringCloud Alibaba、SpringCloud、SpringBoot之间的版本依赖
下面从SpringCloud Alibaba官方摘抄过来的SpringCloud Alibaba、SpringCloud、SpringBoot三者版本对应关系。Spring Cloud Version Spring Cloud Alibaba Version Spring Boot Version Spring Cloud 2020.0.0 2021.1 2.4.2 Spring Cloud Hoxton.SR8原创 2021-07-02 16:46:20 · 479 阅读 · 0 评论 -
SpringCloud学习记录 | 第十九篇:SpringCloud Alibaba Sentinel 热点参数限流
重要、重要、重要https://github.com/alibaba/Sentinel/wiki/%E7%83%AD%E7%82%B9%E5%8F%82%E6%95%B0%E9%99%90%E6%B5%81原创 2020-08-28 23:11:18 · 229 阅读 · 0 评论 -
SpringCloud学习记录 | 第十八篇:SpringCloud Alibaba Sentinel 降级规则
SpringCloud学习记录 | 第十八篇:SpringCloud Alibaba Sentinel 降级规则原创 2020-08-28 21:56:26 · 467 阅读 · 0 评论 -
SpringCloud学习记录 | 第十七篇:SpringCloud Alibaba Sentinel 流控规则
重要、重要、重要Sentinel中文文档:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D基本介绍前一篇讲了怎么部署和配置Sentinel,接下来我们看看Sentinel怎么进行流控。流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。资源名:唯一名称,默认为请求路径 针对来源:Senti.原创 2020-08-28 00:08:40 · 547 阅读 · 0 评论 -
SpringCloud学习记录 | 第十六篇:SpringCloud Alibaba Sentinel
SpringCloud学习记录 | 第十六篇:SpringCloud Alibaba Sentinel流控规则原创 2020-08-26 21:49:54 · 168 阅读 · 0 评论 -
SpringCloud学习记录 | 第十五篇:SpringCloud Alibaba Nacos集群版
重要、重要、重要Nacos官方资料:https://nacos.io/zh-cn/docs/what-is-nacos.htmlNacos集群架构关于点故障、性能等等Nacos建议我们在实际项目中用集群的架构。单机模式用于测试就好了。启动三台Nacos安装Mysql、运行Nacoss脚本1.安装mysql链接:https://pan.baidu.com/s/1SFMsyRLAjykIdNHqiE6wAA提取码:394m官网下载:https://...原创 2020-08-21 01:15:14 · 177 阅读 · 0 评论 -
SpringCloud学习记录 | 第十五篇:SpringCloud Alibaba Nacos配置中心-单机版
SpringCloud学习记录 | 第十五篇:SpringCloudAlibaba Nacos配置中心原创 2020-08-13 17:14:41 · 205 阅读 · 0 评论 -
SpringCloud学习记录 | 第十四篇:SpringCloud Alibaba Nacos服务注册中心
Zipkin下载:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/运行:java -jar ./zipkin-server-2.12.9-exec.jar后台:localhost:9411/zipkin名词解释:Trace:类似于树结构。span的集合,表示一条调用的链路,存在唯一标识Span:表示调用链路的来源,通俗的理解span就是一次请求信息Slueth...原创 2020-08-11 22:42:58 · 188 阅读 · 0 评论 -
SpringCloud学习记录 | 第十三篇:SpringCloud Bus
什么是总线?在微服务的架构系统中,会使用轻量级的消息代理来构建一个共用的消息主题,并让微服务中所有的实例连接上来。由于该主题中产生的消息会被所有的实例监听和消费,所有被称为消息总线。在总线上的各个实例都可以方便的广播一些需要让其他监听该主题上的实例都知道的消息。基本原理ConfigClient实例都会监听MQ中的同一个topic(默认是springCloudBus)。当一个微服务刷新数据时,他就会吧信息放入到topic中,这样在其它监听该topic的服务也会得到通知,然后去刷新自身的配置。.原创 2020-08-02 12:11:38 · 206 阅读 · 1 评论 -
SpringCloud学习记录 | 第十二篇:SpringCloud Config
为什么需要配置中心?微服务以为着要将单体应用中的业务拆分成一个一个的子服务,每个服务的颗粒度相对比较小,因此系统中会出现大量的服务。由于每个都需要对应的配置信息才能够正常运行,所以一套集中式、动态的管理配置设施是必不可少的。还有就是在实际开发中最起码的环境就有生产环境、开发环境、测试环境等等。SpringCloud提供了ConfigServer来解决这个问题。SpringCloud Config为每个微服务架构中的服务提供集中化的外部配置支持,配置服务器为各个不同的微服务应用的所有环境提供一个中心化原创 2020-08-01 17:08:15 · 183 阅读 · 0 评论 -
SpringCloud学习记录 | 第十一篇:SpringCloud GateWay
GateWay和Zuul区别1.Zuul1.x是一个基于z阻塞 I/o 模型的API网管2.Zuul1.x是基于Servlet2.5使用阻塞架构它不支持然和长连接(如:WebSocket)Zuul的设计模式和Nginx比较像,每次 I/o都是从工作线程中选择一个来工作,请求线程被阻塞到工作线程完成,但是差别是Nginx是c++实现的,Zuul用Java实现,而JVM本身有一次加载比较慢的情况,是的Zuul性能你相对比较差。3.Zuul2.x理念比较先进,想基于Netty非阻塞和支持长连接,但是S原创 2020-07-31 00:36:54 · 897 阅读 · 0 评论 -
SpringCloud学习记录 | 第十篇:Hystrix DashBoard 实时图像监控界面(豪猪哥)
一、Hystrix DashBoardHystrix提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续记录所有的通过Hystrix发起的请求执行信息,并以统计报表和图形的形式展现给用户,包括请求多少次、成功多少次、失败多少等等。Netflix通过hystrix-metrics-stream项目实现了对以上项目的监控。SpringCloud也提供了Hystrix Dashboard整和,对监控内容转化成可视界面。二、使用1.监控界面服务1.1引入依赖(pom..原创 2020-07-27 22:28:43 · 300 阅读 · 0 评论 -
SpringCloud学习记录 | 第九篇:Hystrix服务熔断
一、服务降级和服务熔断的区别说下个人肤浅的认识。首先服务熔断和服务降级都是从可用性和可靠性出发为了防止系统崩溃而做的一系列策略。当服务异常时,为调用方提供一个已经预先设置好的返回结果。我认为服务熔断是服务降级的特殊形式,服务熔断比服务降级要智能。当外部的条件到达我们预先设置的一些条件(时间窗口、请求总数阈值、错误百分比阈值等)就会触发,服务熔断机制还会慢慢的恢复调用链路。二、熔断类型2.1 熔断打开:请求不再请求当前服务,内部设置时钟一般为MTTR(平均故障处理时间),当打开时长到达所设置时原创 2020-07-24 23:55:55 · 311 阅读 · 0 评论 -
SpringCloud学习记录 | 第八篇:Hystrix服务降级
分布式体系结构面临的问题复杂的分布式体系结构中的应用程序有多个依赖关系,某些依赖在某些时候不可避免出现失败,出现服务雪崩问题。断路器当某个服务单元出现问题之后,通过断路器的故障监控向调用方返回一个预期的、可处理的预备响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常。这样保证服务调用方的线程不会长时间的占用,从而避免了故障在分布式系统中蔓延,乃至雪崩,增加分布式系统的弹性。构建工程,演示高并发1.在服务中创建两个方法,一个正常方法另一个模拟耗时操作:@Serv原创 2020-07-23 21:56:33 · 218 阅读 · 0 评论 -
SpringCloud学习记录 | 第七篇:OpenFeign超时控制和日志打印
OpenFeign超时消费服务去调用提供和服务由于网络等等各种因素肯定会出现超时的情况,OpenFeign的Ribbon默认超时1秒。1.我们在提供服务的地方设置超时,时间为3秒: @GetMapping("/payment/timeout") public String paymentTimeOut(){ try { TimeUnit.SECONDS.sleep(3); } catch (InterruptedExcept原创 2020-07-22 21:21:38 · 662 阅读 · 0 评论 -
SpringCloud学习记录 | 第六篇:OpenFeign
Ribbon+RestTemplate可以实现远程调用的负载均衡?完成对服务方的接口绑定、自动封装、Feign和OpenFeign两者的区别:Feign:是springCloud中轻量级的RESTful的http客户端的。Feign内置的Ribbon,用来客户端负载均衡,去调用EurekaService注册的服务。Feign的使用方式是注解定义接口,调用这个接口就可以调用注册中心的服务。OpenFeign:在Feign的基础上支持了springMVC的注解。如:@RequstMapp原创 2020-07-22 11:29:29 · 242 阅读 · 2 评论 -
SpringCloud学习记录 | 第五篇:Ribbon负载均衡
1.负载均衡Nginx和Ribbon都能实现负载均衡。Nginx是集中式负载均衡而Ribbon(负载均衡+RestTemplet远程RPC)是进程内的负载均衡。我们实际使用中Nginx负载的通常是我们api模块,Ribbon(负载均衡+RestTemplet远程RPC)的话是给api调用的服务做负载均衡用的。通俗点的说,Nginx负载的客户端的负载,而Ribbon负载的是我们服务间的负载。2.EurekaClient默认引入Ribbon的依赖2.1 我们点开spring-cloud-start.原创 2020-07-21 02:06:46 · 234 阅读 · 0 评论 -
SpringCloud学习记录 | 第四篇:Eureka的自我保护机制
什么是自我保护?某一时刻某个微服务不可用了,Eureka不会立即清除,依旧会对改微服务的信息进行保存。属于CAP中的AP分支。CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。所以说Eureka保证了服务的高可用性,但是在一定程度上容忍了数据的不一致性。Eureka自我保护机制界面关闭Eureka的自.原创 2020-07-18 23:20:57 · 172 阅读 · 0 评论 -
SpringCloud学习记录 | 第三篇:Eureka搭建注册中心
1.什么是Eureka?Eureka分为服务端和客户端。个人简单的理解服务端保存了客户端详细的信息(待会我们通过DiscoveryClient这个对象查看到底保存了那些信息),客户端就是将自己的信息注册到服务端并且还可以查询其他服务的注册信息。简单的说就是Eureka提供了服务的注册与发现。Eureka使用场景,上图(网上找的):2.使用2.1 Maven的父pom:(在父pom的依赖中dependencyManagement标签值的提一下。在父pom中声明,并立即引入第三方库.原创 2020-07-18 18:54:16 · 279 阅读 · 0 评论 -
SpringCloud学习记录 | 第二篇:springCloud各种组件停更/替换/升级
1.注册中心:1.1 Eureka1.2 Zookeeper1.3 Consul1.4 Nacos(推荐。阿里巴巴出品)2.服务调用1:2.1 Ribbon2.2 LoadBalancer3.服务调用2:3.1 Feign3.2 OpenFeign(推荐)4.服务降级4.1 Hystrix4.2 Resilience4j4.3 Sentienl(推荐。阿里巴巴出品)5.服务网关5.1 Zuul5.2 Zuul25.3 GateWay(推原创 2020-07-15 23:51:02 · 268 阅读 · 0 评论 -
SpringCloud学习记录 | 第一篇:springCloud和springBoot版本之间对照关系
1.官网参考SpringCloud和SpringBoot版本对照:1.1 springCloud和springBoot粗略的版本对照(https://spring.io/projects/spring-cloud#overview),打开网页翻到网页的下半部分可以看到。如下图:1.2pringCloud和springBoot详细的版本对照(https://start.spring.io/actuator/info),打开链接得到一个json串,格式化得到如下图(部分):2.还搞不清sp.原创 2020-07-15 23:04:07 · 576 阅读 · 0 评论