Java—字符串操作(String)
String 可以说是 Java 中最常见的数据类型,用来表示一串文本,它的使用频率非常高。 一、多行字符串 每个操作系统对换行符的定义都不尽相同,所以在拼接多行字符串之前,需要先获取到操作系统的换行…
Java—装饰器模式和代理模式的区别
代理模式和装饰器模式很像,这里用【到咖啡馆喝咖啡】作例子来讲解。 基础实现 定义一个咖啡的接口。 public interface Coffee { /** * 打印当前咖啡里有什么 */ void …
SpringCloud—OpenFeign(四)配置详解+Hystrix
Ribbon配置 ribbon的配置其实非常简单,直接在application.properties中配置即可,如下: # 设置连接超时时间 ribbon.ConnectTimeout=600 # 设…
SpringCloud—OpenFeign(三)继承特性
上篇我们了解了Feign的基本使用,在HelloService类中声明接口时,我们发现这里的代码可以直接从服务提供者的Controller中复制过来,这些可以复制的代码Spring Cloud Fei…
SpringCloud—OpenFeign(二)参数传递
Feign和普通参数传递的区别: 参数一定要绑定参数名。 如果通过 header 来传递参数,一定记得中文要转码。 测试的服务端接口,继续使用 provider 提供的接口。 1.添加调用接口 这里,…
SpringCloud—OpenFeign(一)声明式服务调用
我们使用Ribbon、RestTemplate、Hystrix组件,这些组件是我们Spring Cloud中非常基础的组件,小伙伴们在使用的过程中可能也发现了这些东西都是同时出现的,而且配置也都非常相…
Spring—注解驱动开发Spring Ioc容器中注册Bean的7种方式
Spring是一个非常强大的反转控制(IOC)框架,以帮助分离项目组件之间的依赖关系。因此可以说Spring容器对Bean的注册、管理可以说是它的核心内容,最重要的功能部分。 因此本文主要介绍:向Sp…
SpringCloud—Hystrix(六)仪表盘与Turbine集群监控
Hystrix仪表盘,就像汽车的仪表盘实时显示汽车的各项数据一样,Hystrix仪表盘主要用来监控Hystrix的实时运行状态,通过它我们可以看到Hystrix的各项指标信息,从而快速发现系统中存在的…
SpringCloud—Hystrix(五)请求合并
在微服务架构中,我们将一个项目拆分成很多个独立的模块,这些独立的模块通过远程调用来互相配合工作,但是,在高并发情况下,通信次数的增加会导致总的通信时间增加,同时,线程池的资源也是有限的,高并发环境会导…
SpringCloud—Hystrix(四)请求缓存
高并发环境下如果能处理好缓存就可以有效的减小服务器的压力,Java中有许多非常好用的缓存工具,比如Redis、EHCache等,当然在Spring Cloud的Hystrix中也提供了请求缓存的功能,…
SpringCloud—Hystrix(三)服务降级与异常处理
看了自定义Hystrix请求命令的问题,使大家对Hystrix的使用有了进一步的了解,之前都有涉及到一个叫做fallbackMethod的东西,我们之前没有细说这个东西,今天我们就来详细说说这个fal…
SpringCloud—Hystrix(二)自定义请求命令
前面介绍了断路器Hystrix的一个简单使用,主要是通过注解来实现断路器的功能的,不过对于Hystrix的使用,除了注解,我们也可以使用继承类的方式来实现,本文我们就来看看另一种Hystrix的使用方…
SpringCloud—Hystrix(一)(Ribbon)
基本介绍 Hystrix 叫做断路器/熔断器。微服务系统中,整个系统出错的概率非常高,因为在微服务系统中,涉及到的模块太多了,每一个模块出错,都有可能导致整个服务出,当所有模块都稳定运行时,整个服务才…
Feign、Ribbon、Hystrix 三者关系
如果微服务项目加上了spring-cloud-starter-netflix-hystrix依赖,那么,feign会通过代理模式, 自动将所有的方法用 hystrix 进行包装。 在Spring Cl…
SpringCloud—Ribbon(负载均衡器)
Ribbon Ribbon 是 Netflix 开源的基于 HTTP 和 TCP 的客户端负载均衡器框架,目前也已被 S…
Spring—读取配置的方式,@Value、@PropertySource、@ConfigurationProperties使用详解
前言 Spring (Boot)获取参数的方式有很多,其中最被我们熟知的为@Value了,它不可谓不强大。 针对我们平时最长使用的@Value,以及可能很少人使用的@PropertySource、@C…
SpringCloud—的负载均衡策略
我们大致的了解了一下Spring Cloud中有哪些负载均衡器,但是对于负载均衡策略我们并没有去详细了解,我们只是知道在BaseLoadBalancer的chooseServer方法中,调用了IRul…
SpringCloud—负载均衡器概览
RestTemplate的工作过程,在分析的过程中,我们遇到过一个ILoadBalancer接口,这个接口中有一个chooseServer方法是我们选择服务实例的方法,这个也是整个负载均衡中最最核心的…
SpringCloud—Consul(一)(Ribbon)
我们知道 Eureka 2.X 遇到困难停止开发了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eure…
@LoadBalanced注解为何就让RestTemplate拥有负载均衡的能力?(Ribbon)
在Spring Cloud微服务应用体系中,远程调用都应负载均衡。我们在使用RestTemplate作为远程调用客户端的时候,开启负载均衡极其简单:一个@LoadBalanced注解就搞定了。相信使用…
Spring—RestTemplate的使用和原理
再此之前有关于RestTemplate的基本使用以及相关内容: http://www.enmalvi.com/2020/03/28/spring-resttemplate/ http://www.en…
SpringMVC—URI Builder模式(UriComponents/UriComponentsBuilder)
URI Builder Spring MVC作为一个web层框架,避免不了处理URI、URL等和HTTP协议相关的元素,因此它提供了非常好用、功能强大的URI Builder模式来完成,这就是本文重点…
URI和URL的区别
首先给大家举个例子,有一家公司的总经理,某天,给了我一张名片,上面写了他的头衔,北京XXX公司总经理 张三,还有他的办公室地址,北京市海淀区长安街35号北京XXX公司总经理办公室,那么,我以…
RestTemplate组件:ClientHttpRequestFactory—ClientHttpRequestInterceptor—ResponseExtractor
本文为深入了解Spring提供的Rest调用客户端RestTemplate开山,对它相关的一些组件做讲解。 ClientHttpRequestFactory 它是个函数式接口,用于根据URI和Http…
SpringCloud—Eureka(二)(Ribbon)
服务注册 服务注册就是把一个微服务注册到 Eureka Server 上,这样,当其他服务需要调用该服务时,只需要从Eureka Server 上查询该服务的信息即可。这里我们创建一个 provide…
SpringCloud—Eureka(一)
Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组…
Mybatis(Plus)—代码生成器
AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Control…
Mybatis-Migraions使用
1. 下载 mybatis-migraions安装包,地址: https://www.oschina.net/news/94218/mybatis-migrations-3-3-2-released …
JAVA 注解的基本原理
以前,『XML』是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,『XML』的内容也越来越复杂,维护成本变高。 于是就有人提出来一种标记式高耦合的配置方式,『注解…
@DateTimeFormat 和 @JsonFormat注解
1. 准备 定义一个pojo,它有一个 java.util.Date 类型的属性 date。 import java.util.Date; public class DateVo { private …