SpringCloud
文章平均质量分 57
黑马的笔记
618GLOAL_COOK2237
未来由你选择!
展开
-
SpringCloud小结
原创 2021-03-04 12:17:56 · 112 阅读 · 1 评论 -
Spring Cloud Gateway快速入门、前后缀、Gateway跨域配置、与Feign的区别
Spring Cloud Gateway的核心就是一系列的过滤器,可以将客户端的请求转发到不同的微服务。主要作用:过滤和路由。Spring Cloud Gateway组件的核心是一系列的过滤器,通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。 Spring Cloud Gateway是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息,从而加强安全保护。Spring Cloud Gateway本身也是一个微服务,需要注册到Eureka服务注册中心。网关的核心功能是:过滤和路原创 2021-03-03 23:00:14 · 1482 阅读 · 2 评论 -
Feign快速入门
在前面的学习中,使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码:String url = "http://user-service/user/" + id; User user = this.restTemplate.getForObject(url, User.class)如果就学到这里,你可能以后需要编写类似的大量重复代码,格式基本相同,无非参数不一样。有没有更优雅的方式,来对这些代码再次优化呢?这就是接下来要学的Feign的功能了。Feign也叫伪装:Feign可以把Rest原创 2021-03-03 14:32:37 · 118 阅读 · 1 评论 -
Hystrix解决雪崩问题-2.服务熔断
熔断原理在服务熔断中,使用的熔断器,也叫断路器,其英文单词为:Circuit Breaker熔断机制与家里使用的电路熔断原理类似;当如果电路发生短路的时候能立刻熔断电路,避免发生灾难。在分布式系统中应用服务熔断后;服务调用方可以自己进行判断哪些服务反应慢或存在大量超时,可以针对这些服务进行主动熔断,防止整个系统被拖垮。Hystrix的服务熔断机制,可以实现弹性容错;当服务请求情况好转之后,可以自动重连。通过断路的方式,将后续请求直接拒绝,一段时间(默认5秒)之后允许部分请求通过,如果调用成功则回到断路原创 2021-03-03 11:59:03 · 184 阅读 · 0 评论 -
Hystrix解决雪崩问题-1.线程隔离
线程隔离示意图:解读:Hystrix为每个依赖服务调用分配一个小的线程池,如果线程池已满调用将被立即拒绝,默认不采用排队,加速失败判定时间。快速入门:(都是在consumer-demo改)都是基于上一篇博客的代码:https://blog.csdn.net/GLOAL_COOK/article/details/1142722051)引入依赖在 consumer-demo 消费端系统的pom.xml文件添加如下依赖:(版本不对应可能爆错,我的springboot是2.4.3没错)<!-原创 2021-03-03 11:36:51 · 185 阅读 · 0 评论 -
熔断器Hystrix、雪崩效应概述
1.HystrixHystrix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。2.雪崩效应微服务中,服务间调用关系错综复杂,一个请求,可能需要调用多个微服务接口才能实现,会形成非常复杂的调用链路:如图,一次业务请求,需要调用A、P、H、I四个服务,这四个服务又可能调用其它服务。如果此时,某个服务出现异常:例如: 微服务I 发生异常,请求阻塞,用户请求就不会得到响应,则tomcat的这个线程不会释放,于是越来越多的用户请求到来,越来越多的线程会阻塞:服务原创 2021-03-03 10:32:23 · 187 阅读 · 0 评论 -
负载均衡和ribbon、ribbon快速入门
负载均衡是一个算法,可以通过该算法实现从地址列表中获取一个地址进行服务调用。在Spring Cloud中提供了负载均衡器:Ribbon在刚才的案例中,我们启动了一个 user-service ,然后通过DiscoveryClient来获取服务实例信息,然后获取ip和端口来访问。一般这种情况下就需要编写负载均衡算法,在多个实例列表中进行选择。不过Eureka中已经集成了负载均衡组件:Ribbon,简单修改代码即可使用。ribbon快速入门1.首先我们配置启动两个 user-service 实例,一原创 2021-03-02 23:50:18 · 190 阅读 · 0 评论 -
Eureka客户端与服务端配置、服务地址使用ip方式、服务续约心跳、获取服务列表、服务失效剔除、自我保护
1.在service的yml改:#这是user-service的ymlserver: port: 9091spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/springcloud username: root password: root #应用名(随便起),将来会作为服务的id使用,在consumer的控制.原创 2021-03-02 23:09:00 · 647 阅读 · 0 评论 -
高可用的Eureka(集群)、客户端注册服务到集群
基于上一篇博客的代码:我们在heima_springCloud/eureka-server改application.yml:server: port: ${port:10086}spring: application: name: eureka-server # 应用名称(随便起),会在Eureka中作为服务的id标识(serviceId)eureka: client: service-url: # EurekaServer的地址,现在是自己的地址,如果是集..原创 2021-03-02 22:18:07 · 366 阅读 · 1 评论 -
SpringCloud快速入门、分布式服务的缺点、 Eureka注册中心
微服务中需要同时创建多个项目,为了方便课堂演示,先创建一个父工程,然后后续的工程都以这个工程为父,实现maven的聚合。这样可以在一个窗口看到所有工程,方便讲解。在实际开发中,每个微服务可独立一个工程。新建一个maven无骨架工程,然后在里面聚合子工程(不聚合放在外面也行,为了演示方便放而已):1.父工程首先对父工程的pom.xml编写:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.ap原创 2021-03-02 18:02:07 · 168 阅读 · 1 评论 -
SpringCloud概述
微服务是一种架构方式,最终肯定需要技术架构去实施。微服务的实现方式很多,但是最火的莫过于Spring Cloud了。为什么?Spring Cloud是Spring旗下的项目之一,官网地址:http://projects.spring.io/spring-cloud/Spring最擅长的就是集成,把世界上最好的框架拿过来,集成到自己的项目中。Spring Cloud也是一样,它将现在非常流行的一些技术整合到一起,实现了诸如**:配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态**等功原创 2021-02-28 19:01:20 · 107 阅读 · 1 评论 -
Spring的RestTemplate演示
Spring提供了一个RestTemplate模板工具类,对基于Http的客户端进行了封装,并且实现了对象与json的序列化和反序列化,非常方便。RestTemplate并没有限定Http的客户端类型,而是进行了抽象,目前常用的3种都有支持:1.HttpClient2.OkHttp3.JDK原生的URLConnection(默认的)步骤:先创建一个maven无骨架项目:1.pom.xml:<?xml version="1.0" encoding="UTF-8"?><pro原创 2021-02-28 18:42:33 · 113 阅读 · 2 评论 -
微服务架构、前后端分离、服务调用方式RPC和HTTP
一、微服务架构API Gateway网关是一个服务器,是系统的唯一入口。为每个客户端提供一个定制的API。 API网关核心是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。如它还可以具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。通常,网关提供RESTful/HTTP的方式访问服务。而服务端通过服务注册中心进行服务注册和管理。微服务的特点:小结:二、服务调用方式RPC和HTTP小结:...原创 2021-02-28 18:05:23 · 765 阅读 · 0 评论