Spring Cloud家族全家桶精析与实现

1.前言

1.1SOA和微服务的区别

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

1.2Dubbo和SpringCloud的区别

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的
在这里插入图片描述

1.3SpringCloud第一代和SpringCloudAlibaba第二代

SpringCloud第一代

在这里插入图片描述

SpringCloudAlibaba第二代

在这里插入图片描述

2. SpringCloud第一代

Eureka

2.1 Eureka简介

在这里插入图片描述
在这里插入图片描述

  • get registry 获取注册结果
  • remote call 远程调用
  • register 注册
  • renew 心跳检测
  • cancel注销服务

2.2 Eureka高可用实例搭建

  • 下面为2台注册中心eureka-server

在这里插入图片描述
在这里插入图片描述

  • 下面为1台服务提供者 service-provider
  • 注意默认区域为上面配置的集群地址
    在这里插入图片描述
  • 下面为一台服务消费者
    在这里插入图片描述

2.3 Eureka远程调用的方式

2.3.1 DiscoveryClient

在这里插入图片描述

2.3.2 LoadBalancerClient(Ribbon的负载均衡器,可以直接选择服务)

在这里插入图片描述

2.2.3 @LoadBalance注解

直接在restTemplate的bean中添加这个注解,通过url中service-provider直接指明调用目标
在这里插入图片描述

Ribbon

1.Ribbon简介

在这里插入图片描述
在这里插入图片描述

Feign声明式服务调用

简单说,feign通过注解标注要访问的服务,即可远程调用它。而不用http似的远程去请求。

在这里插入图片描述

Feign解决什么问题

在这里插入图片描述
在这里插入图片描述

Feign的入门案例

在这里插入图片描述

基于Feign的Http连接池

在这里插入图片描述
通过配置文件,使用HttpClient的方式来请求(调用时自动使用httpclient的方式),则可使用连接池的特性。

Hystrix

在这里插入图片描述

雪崩效应

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

请求缓存

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

请求合并

在这里插入图片描述
因为每次请求都会耗费资源,如果把一部分相同的请求合并,那么就只需要一次请求即可返回所有结果。

服务隔离

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

服务熔断

在这里插入图片描述
在这里插入图片描述

服务降级

在这里插入图片描述

服务监控

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Sentinel

Sentinel是什么

  • 主要是做入口流量控制
    在这里插入图片描述

Sentinel VS Hystrix

在这里插入图片描述
在这里插入图片描述

Sentinel客户端接入控制台

  • 控制台启动在本地8080,通过sentinel内部的8719端口进行交互

在这里插入图片描述
在这里插入图片描述

Zuul

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

网关限流

在这里插入图片描述

限流算法

计数器算法

会存在资源浪费问题
在这里插入图片描述
在这里插入图片描述

漏桶算法


版权声明:本文为weixin_40485391原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。