1:对springcloud理解?

Spring cloud是一个基于Spring Boot实现的服务治理工具包,用于微服务架构中管理和协调各个服务的。

spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。

2:为什么要使用springcloud?

spring开发配置太复杂。springboot简化了spring项目开发。而springboot虽然开发服务容易,服务管理却不好整,所以出来了cloud来管理服务;

1:单体项目的缺点

①编译难,部署难,测试难

②技术选择难

③扩展难

使用微服务架构就可以解决单体项目缺点。

2:微服务的优点

1复杂度可控-每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。由于体积小、复杂度低,每个微服务可由一个小规模开发团队完全掌控,易于保持高可维护性和开发效率

2独立部署-微服务具备独立的运行进程,所以可以独立部署

3技术选型灵活-每个团队可以根据自身服务的需求和行业发展的现状,自由选择最适合的技术栈,甚至重构微服务

4容错-在微服务架构下,故障会被隔离在单个服务中

5扩展- 每个服务可以根据实际需求独立进行扩展

微服务架构。随着系统业务量的不断增多,单一的一套系统可能无法对应高并发,且系统变得越来越臃肿,后期难以维护。这种情况下会采用微服务架构设计,为了让单一模块变得更加清晰容易维护,且使某个模块儿的负载能力变得更加强大,添加集群也更为方便。

3:对springcloud各组件的理解

Springcloud大概有接近二十个组件,常用的有服务发现注册Eureka 、配置中心config、服务网关Zuul 、负载均衡Ribbon (feign包含了他)、断路器Hystrix (feign包含了他)

由于是微服务架构,由多个单体项目组成,就会有各自的通信地址,所以我们用服务发现注册Eureka来管理通信地址,配置中心config来管理配置文件并放到gitee上去保存,服务发现注册包含了服务端EurekaServer和客户端EurekaClient,(可以讲心跳机制),微服务EurekaServer在启动时会将通信地址发给注册中心EurekaClient,形成通信列表,也就是服务注册;微服务从注册中心获取一份微服务通信地址,自己向别的微服务通过通信地址找到的该微服务通信地址基于HTTP发起请求叫做服务发现;

当有多个微服务时,根据业务需求可能会有多个服务者,也就是功能一样的两个模块。需要对他们发起的请求进行处理,所以我们需要负债均衡负载均衡Ribbon,通过负载均衡来控制请求的分发,负载均衡常用算法有轮询(公平,两个都一样),随机,加权轮询(哪个厉害点就多给点,能者多劳)。

但是一个服务出现延迟时,所有的请求都阻塞在依赖的服务,高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险也就是雪崩,所以我们需要用到断路器Hystrix,将出现问题的服务通过熔断、降级等手段隔离开来,这样不影响整个系统的主业务,所以维护起来更方便。具体方式有:资源隔离(线程池隔离和信号量隔离),熔断(熔断,半熔断,闭合),降级(服务熔断后返回一个预先设定好的托底数据);

当服务都能正常运行时,我们不能让所有都来访问,要有一个保安来拦截不该进来的请求,比如爬虫和其余不合法的请求,所以我们用到了服务网关Zuul,zuul还能自定义过滤器,比如自定义一个accesstoken,不带accesstoken的不让访问。有效的保证了服务的安全性。

对spring cloud的个人理解相关推荐

  1. Spring Cloud Alibaba到底坑不坑?

    点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 之前我发过一篇<说说我为什么看好Spring Cloud Alibaba>,然后这两天有网 ...

  2. 最新版Spring Cloud Alibaba微服务架构-Ribbon负载均衡篇

    文章目录 前言 一.Ribbon核心概念 二.服务器端负载均衡和Riboon客户端负载均衡 1.服务器端负载均衡: 2.Riboon客户端负载均衡: 三.Ribbon策略 四.Ribbon配置使用 五 ...

  3. Spring Cloud 个人心得 理论

    1.分布式项目为什么会崛起 有那些优势 什么是分布式项目 在没有分布式项目之前,一个系统所有的功能可能都是在一个项目中创建的,拿商城项目来说明 商城项目组成部分(基础数据,用户,商品,订单,支付,一些 ...

  4. Java中Spring Cloud Ribbon

    Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模 ...

  5. Spring Cloud 服务消费者 rest+ribbon (二)

    Ribbon简介      Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.通过Spring Cloud的封装,可以让我们 ...

  6. Spring Cloud Task 主要是干什么的啊?跟 Quartz 和 Spring Task 有啥关系?

    背景 项目开发中涉及到分布式定时任务调度,且任务处理时又涉及到了数据分片. 最先想到的任务调度框架是 Quartz 和 Spring Task ,分析它们的特点后,发现存在两个问题: Quartz 的 ...

  7. Spring Cloud Netfilx Ribbon(负载均衡工具)

    一.介绍 Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.通过Spring Cloud的封装,可以让我们轻松地将面向服务的 ...

  8. 【Spring Cloud Alibaba】(一)微服务介绍 及 Nacos注册中心实战

    文章目录 前言 I.微服务与Spring Cloud II.Nacos 注册中心 III.Spring Cloud Alibaba Nacos 实战 1.新建父工程 2.新建demo-a 服务 3.新 ...

  9. 深入理解 Spring Cloud 核心组件与底层原理

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:邋遢的流浪剑客 blog.csdn.net/qq_40378 ...

最新文章

  1. 我可以直接从GitHub运行HTML文件,而不仅仅是查看它们的来源吗?
  2. 遭遇ORA-01200错误的原因及解决方法
  3. 苹果降价背后的代工厂之殇
  4. 对不起!今天我们的活动在朋友圈刷屏了……(多图预警)
  5. mybatis做批量删除时写SQL语句时遇到的问题
  6. 常见php面试题,常见的 PHP 面试题和答案分享
  7. [xPlugins] 开发中常用富文本编辑器介绍
  8. oracle互换2条记录,ORACLE中确定表里哪些行是彼此互换的
  9. JAVA的节点流和处理流
  10. 不要根据自己的喜好创业
  11. 卷积法求解光斑质心(附源码,C++、opencv)
  12. c#文件分割与合并 part 1 (转自互联网)
  13. 【现代编译器】语法分析——正则表达式,上下文无关文法,递归下降分析,分析树...
  14. prthon日期型、字符串、数值、时间戳相互转换
  15. 下列关于linux扩展名说法错误的是,全国计算机一级考试选择题集锦(2015年1月)
  16. 机器学习:最小二乘支持向量机(Least Squares Support Vector Machine)
  17. 如何无损把mp4视频格式转换成mp3音频格式
  18. java gef_GEF开发入门要点(个人经验)
  19. POJ,3713 Transferring Sylla
  20. matlab能否算高中数学题,Matlab软件在高中数学学习中的应用

热门文章

  1. JAVA——实现随机给数组赋值
  2. aws lambda 限额
  3. JavaScript 的秘密花园
  4. win10 PaddleOCR c++ cpu部署
  5. 学会这些方法,win10效率提升9999%
  6. win10隐藏的9种功能 效率提升10倍
  7. 30分钟玩转Python后端Flask
  8. V语言环境部署教程-linux
  9. 建行广东江门分行落实员工关爱,凝聚干事创业热情
  10. Latex: 调整文档的行距