| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 谈谈SpringBoot和SpringCloud微服务的关系 -> 正文阅读 |
|
[Java知识库]谈谈SpringBoot和SpringCloud微服务的关系 |
? ? ? ? 最近实习完找工作,很多公司都会要求微服务开发的经验,可谓是越来越卷了。不管怎样,迎难而上! ? ? ? ? 其实,这两个肯定不是割裂的,相辅相成。我们要学习SpringCloud,一定要先把SpringBoot彻底掌握。 ? ? ? ? 单体应用VS微服务 ? ? ? ?开发一个网站时,单体应用就是对应的后台,连接一个数据库,用户直接调API,把数据返回。这时这种模式有利有弊:好处就是便捷,但坏处就多的多了: ? ? ? ? 比如开发速度慢,启动时间很长。 ? ? ? ? 举个例子,我在做一个移动端项目时,正常的项目在公司时都是需要版本的迭代更新,功能越来越多,模块越来越丰富,代码越来越庞大,这样去启动一个项目,就越来越慢了,访问的速度也慢。 ? ? ? ? 这是简单的java后台连接数据库,然后用户进行访问。而页面可能是Vue或者模板引擎,这都不影响他是个单体应用 ? ? ? ? 那什么微服务?项目越来越大越来越杂的时候,我们会想按模块拆分,拆分成很多个小模块。例如我项目里面的在线教育,原先是一个大的单体项目,优化的方向就是拆分成多个微服务,例如视频服务,订单服务,用户服务等等。把这些服务拆分之后,每个服务各司其职,责任明确,启动也更迅捷,维护成本也下降了。假如一个服务挂了,不会影响到其他服务;但如果是单体应用的话一个挂了整个都不能用了,除非得部署集群。 ? ? ? ? 那微服务也有缺点,例如引入一些分布式事务的问题。单体应用的时候直接连接一个数据库,模块交互的时候事务都是一些本地的事务;而微服务的每个服务都会对应一个数据库的,从而就产生了分布式的事务问题。除了这个问题还有服务管理,单体应用时只是简单的几个机器管理,而微服务每个服务都需要部署一台机器,所以机器数量也会很多,因为需要集群部署。 ?更多详情 SpringBoot与SpringCloud的关系与区别_小白的小小白的白的博客-CSDN博客_springboot和springcloud的区别 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 12:51:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |