SpringCloud是什么?

SpringCloud:

回顾之前的知识~

  • JavaSE
  • 数据库
  • 前端
  • Servlet
  • Http
  • Mybatis
  • Spring
  • SpringMVC
  • SpringBoot
  • Dubbo、Zookeeper、分布式基础
  • Maven、Git
  • Ajax、Json
    …/.

串一下自己会的东西

  • 数据库
  • Mybatis
  • Spring
  • SpringMVC
  • SpringBoot
  • Dubbo、Zookeeper、分布式基础
  • Maven、Git
  • Ajax、Json

这几段该如何学~

三层架构+MVC

框架:
	Spring IOC AOP
	SpringBoot,新一代的JavaEE开发标准,自动装配
	模块化~  all in one
	模块化的开发===all in one,代码没变化

微服务架构4个核心问题?
1.服务很多,客户端该怎么访问?
2.这么多服务?服务之间如何通信?
3.这么多服务?如何治理?
4.服务挂了怎么办?

解决方案:
SpringCloud 生态! SpringBoot

1.Spring Cloud NetFlix 一站式解决方案!
	api网关,zuul组件
	Feign---HttpClinet---Http通信方式,同步,阻塞
	服务注册发现:Eureka
	熔断机制:Hystrix
	。。。
	
2.Apache Dubbo Zookeeper  半自动,需要整合别人的!
	API:没有,找第三方组件,或者自己实现
	Dubbo
	Zookeeper
	没有:借助Hystrix
	
	Dubbo这个方案并不完善
	
3.Spring Cloud Alibaba一站式解决方案!	

新概念:服务网格~Server Mesh
istio

万变不离其宗

1.API
2. HTTP,RPC
3. 注册和发现
4.熔断机制

2.微服务和微服务架构
2.1微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能地服务,
一个服务做一件事情,从技术角度看就是一种小而独立地处理过程,类似进程地概念,能够自行单独启动或销毁,拥有自己独立的数据库。

2.2微服务和微服务架构
微服务(一个模块,个体):强调的是服务大小,他关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用,狭义的看,可以看作是IDEA中的一个个微服务工程,或者Moudel,
它具体是使用SpringBoot开发的一个小模块,专业的事情交给专业的模块来做,一个模块就做这一件事情。
强调的是一个个的个体,每个个体完成一个具体的任务或者功能。
微服务架构(架构,整体)

3.2、SpringCloud和SpringBoot关系
  • SpringBoot专注于快速方便的开发单个个体微服务。-jar包打包放到服务器上去运行
  • SpringCloud是关注全局的微服务协调整理治理框架,他将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务。
  • SpringBoot可以离开SpringCloud独立使用,开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系
  • SpringBoot专注于快捷、方便的开发单个个体微服务,SpringCloud关注全局的服务治理框架。
3.3、Dubbo和SpringCloud技术选型

1、分布式+服务治理Dubbo

目前成熟的互联网架构:应用服务拆分化+消息中间件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UfSH334c-1618905188206)(D:\Pictures\lanke\SpringCloud的整体架构图.png)]

2、Dubbo和SpringCloud对比

DubboSpring
服务注册中心ZookeeperSpring Cloud Netfilx Eureka
服务调用方式RPCREST API
服务监控Dubbo-monitorSpring Boot Admin
断路器不完善Spring Cloud Netfilx Hystrix
服务网关Spring Cloud Netfilx Zuul
分布式配置Spring Cloud Config
服务跟踪Spring Cloud Sleuth
消息总线Spring Cloud Bus
数据流Spring Cloud Stream
批量任务Spring Cloud Task

最大区别:SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式。

总结:

  • 设计模式+微服务拆分思想

GA:通用稳定版本

SpringCloud是一个由众多独立子项目组成的大型综合项目,每个子项目由不同的发行节奏,都维护着自己的发布版本号。SpringCloud通过一个资源清单BOM(Bill of Materials)来管理每个版本的子项目清单。为避免与子项目的发布号混淆,所以没有采用版本号的方式,而是通过命名的方式。

这些版本号名称的命名方式采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序,比如:最早的是Release版本:Angel,第二个Release版本:Brixton,然后是Camden,Dalston,Edgware,目前最新的是Finchley版本。

参考书:

  • https://springcloud.cc/spring-cloud-netfilx.html
  • 中文API文档:https://springcloud.cc/spring-cloud-dalston.html
  • SpringCloud中国社区:http://springcloud.cn/
  • SpringCloud中文网:https://springcloud.cc

希望认真吸收,在面试中和别人的谈资

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值