![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring Cloud
Spring Cloud 实战总结
Jing-Kathy
最大的敌人是自己
展开
-
ZuulFilter过滤器
文章目录1、过滤器1.1 ZuulFilter1.2 过滤器执行生命周期1.3 使用场景2、自定义过滤器2.1 定义过滤器类2.2 测试Zuul作为网关的其中一个重要功能,就是实现请求的鉴权。而这个动作我们往往是通过Zuul提供的过滤器来实现的。1、过滤器1.1 ZuulFilterZuulFilter是过滤器的顶级父类。在这里我们看一下其中定义的4个最重要的方法:public ab...原创 2020-04-06 23:33:23 · 1983 阅读 · 0 评论 -
SpringCloud-Zuul网关实践
文章目录1 zuul网关1.1 新建工程1.2 编写配置1.3 编写引导类1.4 编写路由规则1.5 启动测试2. 面向服务的路由3 简化的路由配置4 默认的路由规则5 路由前缀1 zuul网关1.1 新建工程填写基本信息:添加Zuul依赖1.2 编写配置server: port: 10010 #服务端口spring: application: name: a...原创 2020-04-06 11:13:10 · 256 阅读 · 0 评论 -
SpringCloud-Zuul网关入门
文章目录Zuul的引入过程1. 未引入前2. 不足3. 问题解决Zuul简介Zuul加入后的架构Zuul的引入过程1. 未引入前通过前面的学习,使用Spring Cloud实现微服务的架构基本成型,大致是这样的:我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载。为了使得服务...原创 2020-04-05 16:39:46 · 130 阅读 · 0 评论 -
SpringCloud-Feign入门
文章目录引言简介1.导入依赖2.开启Feign功能3.Feign的客户端总结引言在前面的学习中,我们使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码:String user = this.restTemplate.getForObject("http://service-provider/user/" + id, String.class);如果就学到这里,你可能以后需要编写...原创 2020-04-05 11:53:21 · 345 阅读 · 0 评论 -
Hystrix-服务熔断
一、熔断原理熔断器,也叫断路器,其英文单词为:Circuit Breaker熔断状态机3个状态:Closed:关闭状态,所有请求都正常访问。Open:打开状态,所有请求都会被降级。Hystix会对请求情况计数,当一定时间内失败请求百分比达到阈值,则触发熔断,断路器会完全打开。默认失败比例的阈值是50%,请求次数最少不低于20次。Half Open:半开状态,open状态不是永久的,打...原创 2020-04-03 17:39:02 · 247 阅读 · 0 评论 -
Hystrix-线程隔离,服务降级
一、线程隔离示意图:解读:Hystrix为每个依赖服务调用分配一个小的线程池,如果线程池已满调用将被立即拒绝,默认不采用排队.加速失败判定时间。用户的请求将不再直接访问服务,而是通过线程池中的空闲线程来访问服务,如果线程池已满,或者请求超时,则会进行降级处理,什么是服务降级?服务降级:优先保证核心服务,而非核心服务不可用或弱可用用户的请求故障时,不会被阻塞,更不会无休止的等待或者看...原创 2020-04-03 17:20:12 · 331 阅读 · 0 评论 -
SpringCloud-雪崩问题的解决方法
文章目录一、雪崩产生的原因二、Hystix解决雪崩问题三、降级和熔断一、雪崩产生的原因微服务中,服务间调用关系错综复杂,一个请求,可能需要调用多个微服务接口才能实现,会形成非常复杂的调用链路:如图,一次业务请求,需要调用A、P、H、I四个服务,这四个服务又可能调用其它服务。如果此时,某个服务出现异常:例如微服务I发生异常,请求阻塞,用户不会得到响应,则tomcat的这个线程不会释放,...原创 2020-04-03 16:47:00 · 1924 阅读 · 0 评论 -
springboot项目启动三大关键
文章目录1、引入依赖2、添加引导类3、编写HelloControllerHello everyone!我们创建过大大小小很多个springboot框架的项目,在我们创建完一个Maven工程之后,需要完成关键的三步,就可以启动项目了1、引入依赖我们知道springboot框架的优点主要有两点:解决复杂的配置问题;解决混乱的依赖管理问题。 那怎么解决了依赖管理的问题呢?SpringB...原创 2020-03-03 16:23:25 · 231 阅读 · 0 评论 -
spring中的属性注入
文章目录一、java配置常用注解二、我们接下来用java配置来尝试实现连接池配置1、引入依赖2、添加jdbc.properties3、配置数据源三、测试成功!在Spring3.0开始,Spring官方就已经开始推荐使用java配置来代替传统的xml配置了。一、java配置常用注解java配置主要靠java类和一些注解来达到和xml配置一样的效果,比较常用的注解有:@Configurati...原创 2020-03-03 16:53:50 · 185 阅读 · 0 评论 -
springboot四种属性注入方式
文章目录一、文件1、application.properties文件2、JdbcProperties文件3、JdbcConfiguration文件二、在JdbcConfiguration类中注入JdbcProperties四种方式1、@Autowired注入2、构造函数注入3、@Bean方法的参数注入4、更优雅的注入在上篇博文中,我们以连接池配置的例子实践了spring框架中java配置方式的属...原创 2020-03-04 11:40:16 · 2321 阅读 · 0 评论 -
SpringMVC-修改端口
修改端口1、添加全局配置文件:application.properties![在这里插入图片描述](https://img-blog.csdnimg.cn/2020030417125933.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x...原创 2020-03-04 17:16:34 · 8246 阅读 · 3 评论 -
SpringMVC-访问静态资源
当我们的项目是一个jar工程,那么就没有webapp,我们的静态资源该放哪里呢?在源码中有一个叫做ResourceProperties的类,里面就定义了静态资源的默认查找路径:默认的静态资源路径为:classpath:/META-INF/resources/classpath:/resources/classpath:/static/classpath:/public/只要静态资...原创 2020-03-04 18:44:55 · 297 阅读 · 0 评论 -
SpringMVC-整合连接池
整合连接池1、在pom.xml中引入jdbc的启动器:2、application.properties文件中写入参数jdbc连接池是spring配置中的重要一环,在SpringBoot中该如何处理呢?1、在pom.xml中引入jdbc的启动器:<!--jdbc的启动器,默认使用HikariCP连接池--><dependency> <groupId>...原创 2020-03-04 19:32:28 · 1002 阅读 · 0 评论 -
什么是RESTful?
RESTful一、概念百度百科REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。总之rest就是一种设计风格 , 而不是一种深奥的技术!!!,满足这些约束条件和原则的...原创 2020-03-10 17:22:09 · 248 阅读 · 0 评论 -
反向代理负载均衡模式的优缺点-nginx
反向代理反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。负载均衡反向代理负载均衡技术是把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。...原创 2020-03-16 15:23:03 · 678 阅读 · 0 评论 -
解释@Bean 和@Autowired
搜索全网,这是我看到的最简单的对@Bean 和@Autowired的解释:@Bean 和 @Autowired 做了两件完全不同的事情:@Bean 告诉 Spring:“这是这个类的一个实例,请保留它,并在我请求时将它还给我”。@Autowired 说:“请给我一个这个类的实例,例如,一个我之前用@Bean注释创建的实例”。...原创 2020-03-22 00:01:22 · 1605 阅读 · 2 评论 -
HTTP 请求工具类-RestTemplate
RestTemplate什么是RestTemplate?一个简单的例子手动指定转换器(HttpMessageConverter)什么是RestTemplate?传统情况下在java代码里访问restful服务,一般使用Apache的HttpClient。不过此种方法使用起来太过繁琐。spring提供了一种简单便捷的模板类来进行操作,这就是RestTemplate。一个简单的例子定义一个简单...原创 2020-03-22 13:19:46 · 936 阅读 · 0 评论 -
RPC和HTTP对比
文章目录1、 OSI七层网络模型2、优缺点3、总结无论是微服务还是SOA(面向服务的架构),都面临着服务间的远程调用。那么服务间的远程调用方式有哪些呢?常见的远程调用方式有以下2种:RPC和Http。其中Http大家很熟悉不多说,RPC是什么呢?RPC基础概念RPC就是远程过程调用协议,其作用就是客户端与服务端之间的远程调用,就像本地自己调用一样,让服务端进行服务化1、 OSI七层网络模...原创 2020-03-23 11:10:17 · 4146 阅读 · 3 评论 -
Eureka注册中心简介
EurekaEureka百度百科为什么要用Eureka?Eureka做什么?原理图Eureka百度百科Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。...原创 2020-03-23 16:27:04 · 431 阅读 · 0 评论