Spring Cloud 入门教程5、服务容错监控:Hystrix Dashboard

一、前言1、Hystrix Dashboard的作用?上一篇我们介绍了Hystrix的基础使用,我们可以通过Hystrix做到依赖隔离和熔断等操作。但是只有工具的使用而没有监控,我们就无法在第一时间发现出现问题的依赖,也不能判断服务整体的健康状态/运行状态。所以我们还要做好相关的监控工作。 Hystrix提供了监控页面,本篇主要介绍如何使用Hystrix Dashboard对服务的容错情况进行监...

阅读全文

Netflix Hystrix断路器简介与工作原理

一、前言?Netflix Hystrix断路器是什么?Netflix Hystrix是SOA/微服务架构中提供服务隔离、熔断、降级机制的工具/框架。Netflix Hystrix是断路器的一种实现,用于高微服务架构的可用性,是防止服务出现雪崩的利器。 为什么需要断路器?在分布式架构中,一个应用依赖多个服务是非常常见的,如果其中一个依赖由于延迟过高发生阻塞,调用该依赖服务的线程就会阻塞,如果相关业...

阅读全文

Spring Cloud 入门教程4、服务容错保护:断路器(Hystrix)

一、前言1、为什么需要断路器在分布式架构中,一个应用依赖多个服务是非常常见的,如果其中一个依赖由于延迟过高发生阻塞,调用该依赖服务的线程就会阻塞,如果相关业务的QPS较高,就可能产生大量阻塞,从而导致该应用/服务由于服务器资源被耗尽而拖垮。 另外,故障也会在应用之间传递,如果故障服务的上游依赖较多,可能会引起服务的雪崩效应。就跟数据瘫痪,会引起依赖该数据库的应用瘫痪是一样的道理。 所以,为了应...

阅读全文

Spring Cloud 入门教程3、服务消费者(Feign)

一、前言1、什么是FeignFeign是基于Ribbon封装的HTTP Client工具包,Feign的目标是简化HTTP Client。Feign也确实做到了这一点,使用Feign发起HTTP请求只需要定义好接口并且配置好相应的注解即可完成对对应接口的绑定。 Spring Cloud基于Feign封装了Spring Cloud Feign(OpenFeign),同Ribbon一样,主要是方便结...

阅读全文

Spring Cloud 入门教程2、服务消费者(Ribbon)

一、前言1、什么是RibbonRibbon是Netflix开源的实现了负载均衡等功能的RPC客户端。支持HTTP、TCP、UDP协议,且有一定的容错、缓存等机制。 Spring Cloud基于Ribbon封装了Spring Cloud Ribbon,方便结合Eureka、Consul等服务治理框架使用。Ribbon的主要作用是:从服务器端拿到对应服务列表后以负载均衡的方式访问对应服务。 从...

阅读全文

Spring Cloud 入门教程:聊聊Spring Cloud

一、 Spring Cloud 是什么?Spring Cloud 是将分布式系统中一系列基础框架/工具进行整合的框架。其中包含:服务注册与发现、服务网关、熔断器、配置中心、消息中心、服务链路追踪等等。 Spring Cloud 并没有重复造轮子,Spring Cloud只是依赖于Spring Boot屏蔽掉了各个框架复杂的配置。所有的组件就相当于Spring Cloud的插件,开发人员可以根据自...

阅读全文

Session的工作原理和使用经验

一、前言 什么是Session? Session字面含义就是会话。由于HTTP是无状态协议,为了保持浏览器与服务器之间的联系,才有了Session。Session就是用于在服务器端保存用户状态的协议。通常用来保存用户的登录状态。https://baike.baidu.com/item/session/479100 二、工作原理 Session是如何实现的? Session内容保存在服务器...

阅读全文

Thymeleaf使用技巧:使用片段(fragment)实现母版页(Layout)功能

一、前言 为什么要使用模板页(Layout) 网站中往往有通用的布局,比如导航、底部等等,这些页面中共用的部分,就需要放在母版页(Layout)里面。这样每个页面只用关注本页面要完成的功能/内容即可。提高了开发效率,也降低了公共部分的维护成本。 如果你还未使用过Thymeleaf,可以先阅读:使用Spring Boot+Thymeleaf模板引擎开发Web应用 二、实现方式 母版页代码(...

阅读全文

Freemarker使用技巧:使用自定义宏(Macro)实现母板页(Layout)功能

一、前言 为什么要使用模板页(Layout) 网站中往往有通用的布局,比如导航、底部等等,这些页面中共用的部分,就需要放在母版页(Layout)里面。这样每个页面只用关注本页面要完成的功能/内容即可。提高了开发效率,也降低了公共部分的维护成本。 如果你还未使用过Freemarker,可以先阅读:使用Spring Boot+Freemarker模板引擎开发Web应用 二、实现方式 母版页代...

阅读全文