Spring colud是框架的集合体,里面可以实现很多个功能:
微服务,分布式概念,为服务架构;
1):注册中心 Eureka
2):负载均衡 Ribon
3):声明式远程调用 openFeign
4) : 熔断降级监控hystrix
5):网关 gateway
6) :服务注册和配置中心 Spring colud alibaba nacos
微服务
首先,微服务是一个架构风格,是将一个程序分成许多个小模块的方法,这样的好处是每一个服务都可以运行到自己的进程当中,部署到不同的机器当中,然后相互之间可以进行相互调用(通过http进行调用);
分布式
概念理解:就是将一个完整的系统拆开成一个一个小小的独立的功能,将其部署到不同的主机上面;
就像改一个房子,有铲车的工人,有盖房的砖工人,有水泥的工人都是相互独立的;
集群
就是多个服务器完成成一个模块功能;
软件发展模式
垂直应用架构
当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将传统的单体架构应用拆分成互不相干的几个小应用,这些小应用独立的部署到不同的服务器上,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。
前台系统:就是用户直接与数据库进行交互;
后台系统:就是管理员与数据库进行交互;
分布式架构
流动计算架构
当分布式架构的架构服务器仍然无法承受访问量,那么这时候就需要使用流动计算架构;
即就是:动态扩展服务器;需要动态扩容,也就是不需要准备多台服务器;只需要从云端租几天就可以使用服务器
通过docker进行快速扩容;
RPC
远程服务间的调用,其实就是进程间的通信的方式;
RPC的思想原理(即调用的过程)
服务器之间的传递方式
有两种方式:
第一种就是rpc的传递
第二种就是restAPI,就是通过restful风格进行传递;
高并发
同时需要很多个请求需要进行处理;
高并发的指标
响应时间(RT):就是从请求到响应所用到的时间;
吞吐量:可以通过nginx来进行扩大吞吐量
QBS:每秒查询的请求数
高可用
就是服务器的集群的部署
注册中心
就相当于“房中介”,房东需要到中介注册(服务的提供者),租客也要到中介注册(相当于服务的消费者);
负载均衡
就是一个服务器没有处理大量的请求,那么这个时候需要部署多个服务器来进行处理;
服务雪崩
熔断
就是,比如说假一个三秒到熔断,如果超过三秒,就会返回一个信息(比如:无此用户),兜底数据(例:ID=0)等,可以使服务器继续向下进行;
限流
限制某个服务的每秒的调用本服务的频率;
如果不使用限流,那么服务器的压力就会变大,导致崩溃,还可以防止某些攻击,会一致不断的访问服务器等这些的情况;
API网关
就是符合条件的通过,不符合条件的给进行拦截;
服务的跟踪
就相当于一个监控,监控各个模块的情况;
弹性云
对服务器进行的扩展,扩容和缩容;