当前位置: 首页 > news >正文

SpringBoot和SpringCloud的区别,使用微服务的好处和缺点

SpringBoot是一个用于快速开发单个Spring应用程序的框架,通过提供默认配置和约定大于配置的方式,快速搭建基于Spring的应用。让程序员更专注于业务逻辑的编写,不需要过多关注配置细节。可以看成是一种快速搭建房子的工具包,不用从零开始每次都去选择木材砖头等,直接拿来就可以搭建。

SpringCloud是基于SpringBoot的微服务框架。它提供了一组分布式系统开发的工具,包括服务发现、负载均衡、断路器、配置管理、消息总线等。可以看成是一个大房子的设计图纸,让你能规划多个房间之间的布局等,使多个房间可以更好地协作工作。

总之,SpringBoot更像单个应用程序的快速搭建工具包,SpringCloud更像基于SpringBoot的微服务架构的一站式解决方案。

用SpringBoot能快速搭建单个应用程序,使用SpringCloud可以更好地构建和管理分布式系统,实现微服务架构。

微服务有哪几种流行的解决方案

流行的有三种:比如Dubbo+ZooKeeper的方式是阿里巴巴2011年开源的,它提供了注册中心、负载均衡、容错、分布式调用等功能。
Dubbo是一个高性能RPC框架,一些服务治理功能依赖第三方组件实现,如ZookKepper和Apollo等

在这里插入图片描述
第二套解决方案是SpringCloud Netflix,这套解决方案当前已经闭源,基本上现在新的微服务架构都不会基于SpringCloud Netflix,但是它是微服务的开端,2018年闭源。

它的组件包括Eureka服务注册中心、Hystrix限流,虽然当前已经不再使用,但是好多公司的项目是这套方案,所以要求会使用,除了Eureka和Hystrix,还有Ribbon和Zuul(网关)组件。

第三套解决方案就是SpringCloud Alibaba,这套解决方案是目前国内主流的,同样也是由阿里巴巴开源的,并且它的治理组件也比较齐全。
在这里插入图片描述

现在的新的微服务项目都在Dubbo和SpringCloud Alibaba这两套之间选择,Dubbo服务治理组件方面只提供服务注册发现、负载均衡、容错和分布式调用功能,其它的组件需要依赖第三方组件比如ZooKeeper和Apollo等。

SpringCloud Alibaba自家的一套全家桶提供了全部组件,不需要额外集成第三方组件。

微服务有哪几种流行的解决方案。流行的有三种,比如第一种是Dubbo+ZooKeeper的方式是阿里巴巴2011年开源的,它提供了注册中心、负载均衡、容错、分布式调用等功能。Dubbo是一个高性能RPC框架,一些服务治理功能依赖第三方组件实现,如ZookKepper和Apollo等。第二套解决方案是SpringCloud Netflix,这套解决方案当前已经闭源,基本上现在新的微服务架构都不会基于SpringCloud Netflix,但是它是微服务的开端,2018年闭源。它的组件包括Eureka服务注册中心、Hystrix限流,虽然当前已经不再使用,但是好多公司的项目是这套方案,所以要求会使用。除了Eureka和Hystrix,还有Ribbon和Zuul(网关)组件。服务注册需要依赖ZooKeeper,服务配置中心需要依赖Apollo。第三套解决方案就是SpringCloud Alibaba,这套解决方案是目前国内主流的,同样也是由阿里巴巴开源的,并且它的治理组件也比较齐全,现在的新的微服务项目都在Dubbo和SpringCloud Alibaba这两套之间选择。Dubbo服务治理组件方面只提供服务注册发现、负载均衡、容错和分布式调用功能,其它的组件需要依赖第三方组件比如ZooKeeper和Apollo等。SpringCloud Alibaba自家的一套全家桶提供了全部组件,不需要额外集成第三方组件。

在这里插入图片描述

服务注册与发现,Dubbo必须整合ZooKeeper,Dubbo唯一优点就是服务调用方面使用RPC方式,性能更高。

微服务架构的问题:1.基础设施成本:服务器、容器管理、负载均衡器。2.开发和维护成本,微服务拆分,数据库也要拆分。

微服务用来处理海量用户、业务复杂和需求频繁变更下的一种架构风格,微服务项目(微服务架构)通常是从单体架构拆分而来

在这里插入图片描述
如果一个单体架构的项目,它的请求并发量非常高,此时就会用nginx进行集群,若一个项目只有10%的模块并发量很高,剩余模块并发量很小,此时对整个项目进行集群扩展非常浪费资源

在这里插入图片描述
在这里插入图片描述
可以按照开发人员的技术特性进行分配,比如并发量非常高的微服务,分配给对处理高并发项目有经验的开发人员负责,处理海量数据的微服务分配给对处理海量数据有经验的开发人员负责,充分利用技术人员的技术特点。

相关文章:

SpringBoot和SpringCloud的区别,使用微服务的好处和缺点

SpringBoot是一个用于快速开发单个Spring应用程序的框架,通过提供默认配置和约定大于配置的方式,快速搭建基于Spring的应用。让程序员更专注于业务逻辑的编写,不需要过多关注配置细节。可以看成是一种快速搭建房子的工具包,不用从…...

32单片机基础:GPIO输出

目录 简介: GPIO输出的八种模式 STM32的GPIO工作方式 GPIO支持4种输入模式: GPIO支持4种输出模式: 浮空输入模式 上拉输入模式 下拉输入模式 模拟输入模式: 开漏输出模式:(PMOS无效,就…...

【linux】查看openssl程序的安装情况

【linux】查看openssl程序的安装情况 1、查看安装包信息 $ rpm -qa |grep openssl 2、安装路径 $ rpm -ql openssl $ rpm -ql openssl-libs $ rpm -ql openssl-devel 3、相关文件和目录 /usr/bin/openssl /usr/include/openssl /usr/lib64/libssl.so.* /usr/lib64/libcrypto…...

高防服务器主要运用在哪些场景?

高防服务器主要是用来防御DDOS攻击的服务器,能够为客户提供安全维护,高防服务器能够帮助网站拒绝服务攻击,定时扫描网络主节点,进行查找可能会出现的安全漏洞的服务类型,高防服务器也会根据不同的IDC机房环境来提供硬防…...

Eureka:微服务中的服务注册与发现机制

引言 在微服务架构中,由于服务数量巨大并且各个服务的实例可能会频繁上下线,因此服务注册和发现机制至关重要。 那么,有什么工具或技术可以帮助我们解决这个问题呢? 答案就是Eureka。 一、Eureka简介 Eureka是Netflix公司开源的…...

python程序设计基础:字符串与正则表达式

第四章:字符串与正则表达式 4.1字符串 最早的字符串编码是美国标准信息交换码ASCII,仅对10个数字、26个大写英文字母、26个小写英文字母及一些其他符号进行了编码。ASCII码采用1个字节来对字符进行编码,最多只能表示256个符号。 随着信息技…...

华为配置WDS手拉手业务示例

配置WDS手拉手业务示例 组网图形 图1 配置WDS手拉手业务示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 企业用户通过WLAN接入网络,以满足移动办公的最基本需求。但企业考虑到AP通过有线部署的成本较高,所以通过建立…...

Apache celeborn 安装及使用教程

1.下载安装包 https://celeborn.apache.org/download/ 测0.4.0时出现https://github.com/apache/incubator-celeborn/issues/835 2.解压 tar -xzvf apache-celeborn-0.3.2-incubating-bin.tgz 3.修改配置文件 cp celeborn-env.sh.template celeborn-env.shcp log4j2.xml.…...

数据保护:如何有效应对.BecSec-P-XXXXXXXX勒索病毒的威胁

导言: 随着网络安全威胁的不断增加,勒索软件成为了网络犯罪分子的一种常见手段之一。.BecSec-P-XXXXXXXX勒索病毒(简称.BecSec勒索病毒)作为其中之一,对用户的数据安全构成了严重威胁。本文91数据恢复将介绍.BecSec勒…...

流畅的Python(十二)-继承的优缺点

一、核心要义 1. 子类化内置类型的缺点 2.多重继承和方法解析顺序 二、代码示例 1. 子类化内置类型的缺点 #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2024/2/24 7:29 # Author : Maple # File : 01-子类化内置类型的问题.py # Software: PyCharm fr…...

机器学习基础(三)监督学习的进阶探索

导语:上一节我们深入地探讨监督学习和非监督学习的知识,重点关注它们的理论基础、常用算法及实际应用场景,详情可见: 机器学习基础(二)监督与非监督学习-CSDN博客文章浏览阅读769次,点赞15次&a…...

avidemux-一个免费的视频编辑器,用于剪切、过滤和编码项目

avidemux-一个免费的视频编辑器,用于剪切、过滤和编码项目 avidemux-一个免费的视频编辑器,用于剪切、过滤和编码项目avidemux下载avidemux源代码参考资料 avidemux-一个免费的视频编辑器,用于剪切、过滤和编码项目 avidemux下载 avidemux …...

RisingWave最佳实践-利用Dynamic filters 和 Temporal filters 实现监控告警

心得的体会 刚过了年刚开工,闲暇之余调研了分布式SQL流处理数据库–RisingWave,本人是Flink(包括FlinkSQL和Flink DataStream API)的资深用户,但接触到RisingWave令我眼前一亮,并且拿我们生产上的监控告警…...

【Qt学习】QRadioButton 的介绍与使用(性别选择、模拟点餐)

文章目录 介绍实例使用实例1(性别选择 - 单选 隐藏)实例2(模拟点餐,多组单选) 相关资源文件 介绍 这里简单对QRadioButton类 进行介绍: QRadioButton 继承自 QAbstractButton ,用于创建单选按…...

基于java springboot的图书管理系统设计和实现

基于java springboot的图书管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码联…...

自定义类型:联合和枚举

目录 1. 联合体 1.1 联合体类型的声明及特点 1.2 相同成员的结构体和联合体对比 1.3 联合体大小的计算 1.4 联合体的应用举例 2. 枚举类型 2.1 枚举类型的声明 2.2 枚举类型的优点 1. 联合体 1.1 联合体类型的声明及特点 像结构体一样,联合体也是由一个或…...

每日一学—由面试题“Redis 是否为单线程”引发的思考

文章目录 📋 前言🌰 举个例子🎯 什么是 Redis(知识点补充)🎯 Redis 中的多线程🎯 I/O 多线程🎯 Redis 中的多进程📝 结论🎯书籍推荐🔥参与方式 &a…...

chatGPT PLUS 绑卡提示信用卡被拒的解决办法

chatGPT PLUS 绑卡提示信用卡被拒的解决办法 一、 ChatGPT Plus介绍 作为人工智能领域的一项重要革新,ChatGPT Plus的上线引起了众多用户的关注,其背后的OpenAI表现出傲娇的态度,被誉为下一个GTP 4.0。总的来说,ChatGPT Plus的火…...

opencv鼠标操作与响应

//鼠标事件 Point sp(-1, -1); Point ep(-1, -1); Mat temp; static void on_draw(int event, int x, int y, int flags, void *userdata) {Mat image *((Mat*)userdata);if (event EVENT_LBUTTONDOWN) {sp.x x;sp.y y;std::cout << "start point:"<<…...

vue里echarts的使用:画饼图和面积折线图

vue里echarts的使用,我们要先安装echarts,然后在main.js里引入: //命令安装echarts npm i echarts//main.js里引入挂载到原型上 import echarts from echarts Vue.prototype.$echarts = echarts最终我们实现的效果如下: 头部标题这里我们封装了一个全局公共组件common-he…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...