一、前言1、为什么需要断路器在分布式架构中,一个应用依赖多个服务是非常常见的,如果其中一个依赖由于延迟过高发生阻塞,调用该依赖服务的线程就会阻塞,如果相关业务的QPS较高,就可能产生大量阻塞,从而导致该应用/服务由于服务器资源被耗尽而拖垮。 另外,故障也会在应用之间传递,如果故障服务的上游依赖较多,可能会引起服务的雪崩效应。就跟数据瘫痪,会引起依赖该数据库的应用瘫痪是一样的道理。 所以,断路器就是...
一、前言1、什么是FeignFeign是基于Ribbon封装的HTTP Client工具包,Feign的目标是简化HTTP Client。Feign也确实做到了这一点,使用Feign发起HTTP请求只需要定义好接口并且配置好相应的注解即可完成对对应接口的绑定。 Spring Cloud基于Feign封装了Spring Cloud Feign(OpenFeign),同Ribbon一样,主要是方便结合...
一、前言1、什么是RibbonRibbon是Netflix开源的实现了负载均衡等功能的RPC客户端。支持HTTP、TCP、UDP协议,且有一定的容错、缓存等机制。 Spring Cloud基于Ribbon封装了Spring Cloud Ribbon,方便结合Eureka、Consul等服务治理框架使用。Ribbon的主要作用是:从服务器端拿到对应服务列表后以负载均衡的方式访问对应服务。 从这张图...
一、前言1、什么是Eureka?Eureka是Netflix开源的服务注册与发现框架,Eureka由两个组件组成:Eureka服务器和Eureka客户端。 Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。 Eureka客户端是一个J...
一、 Spring Cloud 是什么?Spring Cloud 是将分布式系统中一系列基础框架/工具进行整合的框架。其中包含:服务注册与发现、服务网关、熔断器、配置中心、消息中心、服务链路追踪等等。 Spring Cloud 并没有重复造轮子,Spring Cloud只是依赖于Spring Boot屏蔽掉了各个框架复杂的配置。所有的组件就相当于Spring Cloud的插件,开发人员可以根据自己...
一、前言1、本教程主要内容 Tomcat安装与基础配置Tomcat开机启动配置 2、本教程适用范围与环境信息 适用范围 软件/工具 版本说明 CentOS CentOS 7 Tomcat Tomcat 7 + 本教程环境信息 软件/工具 版本说明 CentOS CentOS 7 Tomcat Tomcat 8.5 JDK 1.8 3、准备工作?...
一、前言 为什么要使用模板页(Layout) 网站中往往有通用的布局,比如导航、底部等等,这些页面中共用的部分,就需要放在母版页(Layout)里面。这样每个页面只用关注本页面要完成的功能/内容即可。提高了开发效率,也降低了公共部分的维护成本。 如果你还未使用过Thymeleaf,可以先阅读:使用Spring Boot+Thymeleaf模板引擎开发Web应用 二、实现方式1、Thymeleaf母...
一、前言 为什么要使用模板页(Layout) 网站中往往有通用的布局,比如导航、底部等等,这些页面中共用的部分,就需要放在母版页(Layout)里面。这样每个页面只用关注本页面要完成的功能/内容即可。提高了开发效率,也降低了公共部分的维护成本。 如果你还未使用过Freemarker,可以先阅读:使用Spring Boot+Freemarker模板引擎开发Web应用 二、实现方式1、Freemark...
一、前言为什么要使用模板引擎?在最早的Java Web应用中,最为广泛使用的就是JSP,但是JSP已经是陈旧的技术了,ken.io觉得JSP主要有三个问题:1、视图代码不能与Java代码完全分离,如果再JSP页面写Java代码维护成本高2、无法实现页面继承工程,实现模板页的方式蹩脚3、由于一些已知问题,Spring Boot官方不建议,比如:Spring Boot+JSP打成jar包会有问题 所以...
一、前言为什么要使用模板引擎?在最早的Java Web应用中,最为广泛使用的就是JSP,但是JSP已经是陈旧的技术了,ken.io觉得JSP主要有三个问题:1、视图代码不能与Java代码完全分离,如果再JSP页面写Java代码维护成本高2、无法实现页面继承工程,实现模板页的方式蹩脚3、由于一些已知问题,Spring Boot官方不建议,比如:Spring Boot+JSP打成jar包会有问题 所以...