Spring Cloud 简介

Spring Cloud的设计理念是Integrate Everything,即充分利用现有的开源组件,

在它们之上设计一套统一的规范/接口使它们能够接入Spring Cloud体系并且能够无缝切换底层实现。

一、Spring Cloud 与中间件

中间件向下屏蔽异构的硬件、软件、网络等计算机资源,向上提供应用开发、运行、维护等全生命周期的

统一环境与管理,属于承上启下的中间层。中间件本质上可以归属为技术构架,常见的中间件分别是服务

治理中间件(如,Dubbo)、配置中心、全链路监控、分布式事务、分布式定时任务、消息中间件、API网关、

分布式缓存、数据库中间件。

Spring Cloud 是一系列中间件合集,提供了一套完整的微服务解决方案。

1.Spring Cloud 与服务治理中间件

服务治理中间件包括服务注册与发现、服务路由、负载均衡、自我保护、丰富的治理管理机制等功能。

其中服务路由包括服务上下线、在线测试、机房就近选择、A/B测试、灰度发布等。负载均衡支持根据

目标状态和目标权重进行负载均衡。自我保护服务降级、流量监控。

Spring Cloud 目前支持:

1)Euraka、Zookeeper、Consul作为注册中心;

2)Hystrix进行熔断自我保护;

3)Ribbon进行负载均衡;

2.Spring Cloud 与配置中间件

在分布式系统中,由于存在多个实例,需要分别管理每个具体服务工程中的配置,

上线需要准备Check List并逐个检查每个上线服务是否正确。在系统上线后一旦

修改某个配置,就需要重启服务。这样开发管理相当麻烦。因此我们需要把分布式

系统中的配置信息抽取出来统一管理,这个管理的中间件称为配置中心。配置中心

应该具备的功能,分别是支持各种复杂的配置场景,与公司的运维体系和权限管理

体系集成,各种兼容支持。Spring Cloud Config 是Spring Cloud生态圈中的配置中心中间件。

3.Spring Cloud 与网关中间件

AIP Gateway,是出现在系统边界上一个面向API的、串行集中式的强管控服务,这里的边界是企业

IT系统的边界,可以理解为企业级防火强,主要起到隔离外部访问与内部系统的作用。网关在微服务架构中的位置:

作为一个网关中间件,至少应该具备如下四个功能:

1)统一接入功能:

2)协议适配功能:

3)流量管控功能:

4)安全防护;

Spring Cloud 第一代网关Zuul, 第二代网关Gateway。

4.Spring Cloud 与全链路监控中间件

在微服务架构中,分散在每个服务下的日志信息不利于问题的排查定位问题发生的根本原因。

此时,就可以了利用全链路监控中间件收集、汇总与分析日志信息,进行可视化展示和监控告警。

全链路监控中间件应具备如下功能:

1)定位慢调用:包括慢Web服务、慢REST或RPC服务、慢SQL;

2)定位各种错误:包括4XX、5XX、Service Error;

3)定位各种异常:

4)展现依赖和拓扑:

5)trace条用链:

6)应用警告:

Spring Cloud微服务笔记(二)Spring Cloud 简介的更多相关文章

  1. spring cloud微服务实践二

    在上一篇,我们已经搭建了spring cloud微服务中的注册中心.但只有一个注册中心还远远不够. 接下来我们就来尝试提供服务. 注:这一个系列的开发环境版本为 java1.8, spring boo ...

  2. Spring Cloud 微服务五:Spring cloud gateway限流

    前言:在互联网应用中,特别是电商,高并发的场景非常多,比如:秒杀.抢购.双11等,在开始时间点会使流量爆发式地涌入,如果对网络流量不加控制很有可能造成后台实例资源耗尽.限流是指通过指定的策略削减流量, ...

  3. Spring Cloud微服务笔记(三)服务治理:Spring Cloud Eureka快速入门

    服务治理:Spring Cloud Eureka 一.服务治理 服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册与发现. 1.服务注册: 在服务治理框架中,通常会构 ...

  4. Spring Cloud微服务笔记(一)微服务概念

    微服务概念 一.什么是微服务架构 微服务,是一个小的.松耦合的分布式服务. 为什么需要微服务: 1)单体系统部署在一个进程中,修改了一个小功能,为了部署上线就会影响其他功能. 2)单体应用各个功能模块 ...

  5. Spring Cloud 微服务笔记(七) Zuul入门

    Zuul入门 Zuul是从设备和网站到后端应用程序所有请求的前门,为内部服务提供可配置的对外URL到服务的 映射关系,基于JVM的后端路由器.其具备一下功能: 1)认证与授权 2)压力控制 3)金丝雀 ...

  6. Spring Cloud 微服务笔记(六)Spring Cloud Hystrix

    Spring Cloud Hystrix Hystrix是一个延迟和容错库,旨在隔离远程系统.服务和第三方库,阻止链接故障,在复杂的分布式系统中实现恢复能力. 一.快速入门 1)依赖: <dep ...

  7. Spring Cloud微服务笔记(五)Feign

    Feign 一.Feign概述 Feign是一个声明式的Web Service客户端.在Spring Cloud 中使用Feign,可以做到 使用HTTP请求访问远程服务,就像调用本地方法一样,同时它 ...

  8. Spring Cloud微服务笔记(四)客户端负载均衡:Spring Cloud Ribbon

    客户端负载均衡:Spring Cloud Ribbon 一.负载均衡概念 负载均衡在系统架构中是一个非常重要,并且是不得不去实施的内容.因为负载均衡对系统的高可用性. 网络压力的缓解和处理能力的扩容的 ...

  9. Spring Cloud 微服务六:调用链跟踪Spring cloud sleuth +zipkin

    前言:随着微服务系统的增加,服务之间的调用关系变得会非常复杂,这给运维以及排查问题带来了很大的麻烦,这时服务调用监控就显得非常重要了.spring cloud sleuth实现了对分布式服务的监控解决 ...

随机推荐

  1. 面向对象学习(python)

    面向对象总结 一.面向对象与面向过程的区别 面向过程:根据业务逻辑从上到下写垒代码 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 1.面向过程编程: 概念:发过程中最常见的操作就是粘贴 ...

  2. Arduino—运算符

    赋值运算符: =    +=   -+     *=      /= %=       取余等于 &=    与等于 &=(与等于)对某个变量的值按位进行与运算,例如:G&=x ...

  3. Now you can provide attr "wx:key" for a "wx:for" to improve performance. 微信小程序警告

    Now you can provide attr "wx:key" for a "wx:for" to improve performance为警告,不处理不影 ...

  4. 【软工作业&思考】关于软工的一些概念性理解暨第一次阅读作业

    概述 项目 内容 本次作业所属课程 2019BUAA软件工程 周二班 本次作业要求 第1次个人作业当然,比这个更重要百倍的还是实实在在的思考,这也是标题如此命名的原因 我在本课程的目标 在原有实践经验 ...

  5. KindEditor 取不到值 与清空不掉值

    var editor; KindEditor.ready(function(K) { editor = K.create('textarea[name="content"]', { ...

  6. error: No rule to make target '/usr/lib/libOpenNI.so', needed by 'bin/euroc_rectify'。 停止。

    这类问题的出现说明程序在编译时,CMakeLists.txt 文件没有找到OpenNI.so, 即 Pangolin库未安装或破损. 重新安装pangolin库即可.(亲测)

  7. python制作串口工具

    # coding:utf-8import timeimport serialimport stringimport binasciiimport linecache FilePath="G: ...

  8. notepad++安装nppFTP

    官网下载的最新版notepad++,结果pluginadmin里面installnppftp总是安不上,点击install之后然后点是就退出,再进去也没有安装好. 网上找了半天也没找到什么有用信息,最 ...

  9. java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象

    1. java.util.Arrays  数组工具类    Arrays.toString (数组) 数组值链接字符串 Arrays.sort(数组) 基本类型: 优化的快速排序 引用类型: 优化的合 ...

  10. MySQL存储过程中的事务执行失败之后获取错误信息

    1.表结构: 2. 存储过程中: 代码如下: BEGINDECLARE CONTINUE HANDLER FOR SQLEXCEPTIONBEGINROLLBACK;GET DIAGNOSTICS C ...