Spring Cloud介绍

旧时模样 提交于 2019-11-25 22:39:05

为什么需要Spring Cloud

两种架构模式

Monolith(单体应用)架构

在编译时,这些项目将被打包成为一个个JAR包,并最终合并在一起形成一个WAR包。接下来,我们需要将该WAR包上传到Web容器中,解压该WAR包,并重新启动服务器。在执行完这一系列操作之后,我们对服务的编译及部署就已经完成了。这种将所有的代码及功能都包含在一个WAR包中的项目组织方式被称为Monolith

缺点:

编译难,部署难,测试难
技术选择难
扩展难

MicroService(微服务)架构SOA

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

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

优点:

复杂度可控
独立部署
技术选型灵活
容错
扩展

Monolith&microSrvice使用场景

在刚开始的阶段,使用Microservice架构模式开发应用的效率明显低于Monolith。但是随着应用规模的增大,基于Microservice架构模式的开发效率将明显上升,而基于Monolith模式开发的效率将逐步下降

Spring Cloud介绍

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

五大神兽

Eureka

提供服务注册和发现

消费客户端

Ribbon负载均衡
提供者	接口	Feign
Feign	接口方式
负载均衡
    |——————轮询(默认)
    |——————随机
    |______权重
集群

Hystrix

断路器
  |——————熔断	保护服务
  |______降级	给与友好数据

Zuul

路由网关
  |——————权限
  |——————网路安全	有网
  |______日志

Config

分布式配置中心
     |——————github/码云
     |——————git
     |——————server
     |______client	bootsrarp.yml	优先级最高

分布式事务

2pc两阶段提交提交事务协调器去记录票-都成功才能提交

tcc补偿先都提交,数据状态是删除的标志是0,当每一个提交成功都会想协调器,记录。一旦成功改状态为1

mq最终消息一致先插入,但会等待一段时间消费这个记录

分布式事务常见框架

tcc-transaction
tx-lcn
GTS

GTS比较NB但是不开源,所以选择tx-lcn

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!