Spring,SpringBoot,Springcloud都是干嘛的?
Posted Java编程_yyds
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring,SpringBoot,Springcloud都是干嘛的?相关的知识,希望对你有一定的参考价值。
今天这篇博客,主要说说spring,springboot,springcloud这三者都是干嘛的?
相关的视频资源:https://www.bilibili.com/video/BV1XQ4y1m7ex
架构 > 解偶
开发框架 spring
IOC AOP
Ioc :控制反转
原来我们都是自己一步步操作,现在交给容器了!我们需要什么就去拿就可以了
Aop :切面(本质,动态代理)
为了解决什么?不影响业务本来的情况下,实现动态增加功能,大量应用在日志,事务 … 等等方面
spring 是一个轻量级的java开源框架,容器目的:解决企业开发的复杂性问题 spring 是春天,觉得他是春天,也十分复杂,配置文件!
SpringBoot
SpringBoot 并不是新东西,就是spring的升级版!
新一代JavaEE的开发标准,开箱即用!一>拿过来就可以用!
它自动帮我们配置了非常多的东西,我们拿来即用!
特性:约定大于配置!
随着公司体系越来越大,用户越来越多!
微服务架构-一>新架构
模块化.功能化!
用户,支付,签到,娱乐 … ;
人多余多:一台服务器解决不了;在增加服务器!横向
假设A服务器占用 98 %资源, B 服务器只占用了 10 %。--负载均衡
将原来的整体项目.分成模块化.用户就是,个单独的项目.签到也是一个单独的项目,项目和项目之前需要通信,如何通信
用户非常多,而签到十分少!给用户多一点服务器,给签到少一点服务器
微服务架构问题?
分布式架构会遇到的四个核心问题?
1.这么多服务,客户端该如何去访问?
2.这么多服务.服务之间如何进行通信?
3.这么多服务.如何治理呢?
4.服务挂了.怎么办?
解决方案:
spring cloud,是一套生态,就是来解决以上分布式架构的 4个问题想使用 Spring cloud ,必须要掌握 SpringBoot,
因为 Spring cloud 是基于 springBoot。
1. Spring cloud NetFlix 出来了一套解决方案!一站式解决方案.我们都可以直接去这里拿?
- Api 网关, zuul 组件
- Feign 一> Httpclient --- HTTP的通信方式 同步并阻塞
- 服务注册与发现Eureka
- 熔断机制, Hystrix
2018年年底, NetFlix 宣布无限朋停止维护。生态不再维护,就会脱节.
2. Apache Dubbo zookeeper ,第二套解决系统.
API:没有!要么找第三方组件.要么自己实现
Dubbo 是一个高性能基于Java 实现的 Rpc 通信框架! 2.6.x
服务注册与发现, zookeeper :动物园管理者( Hadoop ,Hive )
没有:借助了 Hystrix
不完兽, Doubbo 当前 Doubbo 3.0 将提倡具备当代特性(如响应式编程)的相关支持同时汲取阿里内部HSF的设计长处来实现两者融合
当前预览版的很多地方还在探讨中,希望大家能够积极反馏,我们都会虚心学习并参考。
3. springcloud Alibaba 一站式解决方案!
目前.又提出了一种方案:
服务网格:下一代微服务标准, Server Mesh
代表解决方案: Istio 。(你们未来可能需要掌握!)
万变不离其宗.一通百通!
1. API 网关,服务路由
2. HTTP , RpC 框架,异步调用
3. 服务注册与发现,高可用
4. 熔断机制,服务降级
如果,你们基于这四个问题,开发一套解决方案,也叫 Springcloud !
为什么要解决这个问题?本质二网络是不可靠的!程序猿,不要停下学习的脚步!
Spring cloud应该如何入门,需要学习哪些基础才可以快速掌握?
一:什么是Spring cloud学习Spring cloud要对Spring Boot有相当的理解与认知,因为Spring cloud的基础是Spring Boot。
Spring cloud是多个项目的集合体,也是多种重要技术的集合体,它是一系列的技术的结合体。学习spring cloud需要有足够强大的耐心,因为这是一个非常复杂的过程,学习spring cloud需要了解怎么创建和运行SpringBoot应用,因为springboot是一种新型技术,而spring cloud 是这些技术的结合体,spring cloud的基础功能有服务治理客户端负载均衡,服务容错保护,声明式服务调用,API网关服务,分布式配置中心。
二:从集群,分布式,微服务入手学习spring cloud要从集群,分布式,微服务入手,首先集群是一种计算机系统,它可以用来改进单个计算机的计算速度,已经提高单个计算机运作的正确率,集群计算机系统可以高效率的将计算机软件和计算机硬件组合在一起,也就是通过多台计算机来完成一个工作从而提高工作效率,而分布式系统也是一组计算机,它是一个传递并协调信息通信的系统,这样可以合理利用资源,又可以降低耦合度,可以让各个板块即独立又相互之间有联系,也就是说分布式是一个件一件事情分解成多件事情,然后发布给不同的人做的系统,分工合作。而微服务就是对整个系统进行划分的各个小的“系统”而微服务只是一种思想,基于这种思想便有了spring cloud ,
总而言之,学习spring cloud要从集群,微服务,分布式,springboot等入手,而其中springboot是最基础的。
参考技术A 第一步要认识什么是Spring Boot,掌握 Spring Boot 基础。第二步要了解Spring Cloud 常用模块,包括服务发现、服务注册、配置中心、链路追踪、异常处理等。第三步要了解大型分布式系统中事务处理、线程安全等问题。 参考技术B 学习Spring cloud要对Spring Boot有相当的理解与认知,因为Spring cloud的基础就是Spring Boot,首先应该从集群,分布式,微服务,springboot等入手,而其中springboot是最基础的。 参考技术C 可以通过网上视频或者相关资料进行咨询,该系统是一个云应用开发工具是一个微服务工具包为开发者提供配置管理等的开发工具包,在学习时不需要什么基础,可以简单上手。分布式系统是一组计算机,通过网络相互连接传递消息与通信后并协调它们的行为而形成的系统。以上是关于Spring,SpringBoot,Springcloud都是干嘛的?的主要内容,如果未能解决你的问题,请参考以下文章
Spring Cloud Alibaba 使用nacos 注册中心
Spring Cloud:服务注册与发现 EurekaFinchley 版