认识微服务

目录

一.单体架构

1.定义

2.优点

3.缺点

4.结论

二.微服务

1.定义

三.SpringCloud

1.定义

2.版本要求


一.单体架构

1.定义

将业务的所有功能集中在一个项目中开发,打成一个包部署。

2.优点

  • 架构简单:基本没什么架构,打开项目就写
  • 部署成本低:打成jar包,放到linux中,一行执行命令就能运行

3.缺点

  • 团队协作成本高:复杂项目如果采用单体架构,几十个开发人员都在一个Java工程中写代码,提交git时,很容易造成冲突,每天不是在解决冲突就是在制造冲突。
  • 系统发布效率低:每当项目添加一点点新功能后,就需要重新打jar包、重新部署,这样耗时太长,效率低
  • 系统可用性差:单体架构的项目,打成1个jar包,只有一台tomcat服务器,扛不住大量用户的访问,导致后端接口响应速度慢,甚至导致后端崩溃

4.结论

单体架构,不适合大型、复杂、用户量大的项目,而适合功能简单、开发人员少、用户量小的项目。

二.微服务

1.定义

微服务架构,是服务化思想(把单体架构中的功能,拆分成一个个独立的项目)指导下的一套最佳架构方案。

举例:

  • 拆分前:所有功能,放到一个项目中,打成一个jar包
  • 拆分后:每一个功能,打成一个jar包,都有独立的tomcat服务器和数据库。这样一个功能响应慢/崩溃,就不会影响到其他功能,做到了服务自治

三.SpringCloud

1.定义

SpringCloud是目前国内使用最广泛的微服务框架。

SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

2.版本要求

由于SpringCloud要基于SpringBoot做自动装配,因此二者的版本必须要匹配,如下:

相关推荐
JZC_xiaozhong20 小时前
多系统权限标准不统一?企业如何实现跨平台统一权限管控
java·大数据·微服务·数据集成与应用集成·iam系统·权限治理·统一权限管理
腾讯云开发者21 小时前
言出法随 -- Chaterm如何通过ASR精准操作K8S
云原生·容器·kubernetes
岁岁种桃花儿1 天前
SpringCloud从入门到上天:Nacos做微服务注册中心
java·spring cloud·微服务
Coder_Boy_1 天前
基于SpringAI的在线考试系统-企业级教育考试系统核心架构(完善版)
开发语言·人工智能·spring boot·python·架构·领域驱动
消失的旧时光-19431 天前
第十三课实战版:权限系统实战:RBAC + Spring Security 从 0 到可用(含核心代码)
java·架构·rbac
铁蛋AI编程实战1 天前
最新 豆包4.0 实操手册:混合架构部署 + 实时交互 + 动态学习
学习·架构·交互
天远云服1 天前
天远车辆过户查询API微服务实战:用Go语言构建高性能车况溯源系统
大数据·微服务·架构·golang
Coder_Boy_1 天前
基于SpringAI的在线考试系统-整体架构优化设计方案(续)
java·数据库·人工智能·spring boot·架构·领域驱动
笨蛋不要掉眼泪1 天前
RAG知识库核心API架构全解析:从文档加载到向量检索的完整流程
java·spring boot·redis·ai·架构
vx-bot5556661 天前
企业微信接口在数据工程与分析场景中的架构应用
架构·企业微信