微服务架构-SpringCloud

打印 上一主题 下一主题

主题 984|帖子 984|积分 2954

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.单体应用架构

将项目全部模块(功能)打成jar或者war,然后部署一个进程。

优点:

  • 部署简朴:由于是完整的结构体,可以直接部署在一个服务器上即可。
  • 技能单一:项目不必要复杂的技能栈,每每一套认识的技能栈就可以完成开辟。
缺点:

  • 系统启动慢,一个进程包含了全部的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长。
  • 系统错误隔离性差、可用性差,任何一个模块的错误均大概造成整个系统的宕机。
  • 可伸缩性差:系统的扩容只能只对这个应用进行扩容,无法结合业务模块的特点进行伸缩。
  • 线上问题修复周期长:任何一个线上问题修复必要对整个应用系统进行全面升级。
  • 跨语言水平差。
  • 倒霉于安全管理,全部开辟人员都拥有全量代码。
2. 微服务应用

微服务架构论文:Microservices

 简朴来说,微服务架构风格[1]是一种将一个单一应用步伐开辟为一组小型服务的方法,每个服务运行在本身的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务本领构建并且可通过全主动部署机制独立部署。这些服务共用一个最小型的会合式的管理,服务可用不同的语言开辟,使用不同的数据存储技能。

 解读微服务特点:

  • 微服务是一种项目架构头脑(风格)
  • 微服务架构是一系列小服务的组合(组件化与多服务)
  • 任何一个微服务,都是一个独立的进程(独立开辟、独立维护、独立部署)
  • 轻量级通信http协议(跨语言,跨平台) [接口编写]
  • 服务粒度(围绕业务功能拆分
  • 去中心化管理
3. 微服务架构的优势

1.易于开辟和维护 一个微服务只关注一个特定的业务功能,所以它的业务清晰、代码量较少。开辟和维护单个微服务相对比力简朴,整个应用是由多少个微服务构建而成,所以整个应用也会维持在可控状态;
部署麻烦----开辟人员---容器化部署[docker]
⒉.单个微服务启动较快 单个微服务代码量较少,所以启动会比力快;
3.局部修改容易部署 单体应用只要有修改,就要重新部署整个应用,微服务办理了这样的问题。一样平常来说,对某个微服务进行修改,只必要重新部署这个服务即可;
4.技能栈不受限 在微服务中,我们可以结合项目业务及团队的特点,公道地选择技能栈;
5.按需伸缩
购物车→ 购物车这个系统集群搭建。
4. 微服务架构的缺点(挑衅)



  • 这么多小服务,如何管理他们?==> nacos
  • 这么多小服务,他们之间如何通讯? ==> openfeign
  • 这么多小服务,客户端怎么访问他们?==> gateway
  • 这么多小服务,一旦出现问题了,应该如何自处置惩罚?
  • 这么多小服务,一旦出现问题了,应该如何排错?
相应的组件可以办理上面的相应的挑衅。把这些组件和在一起称为springcloud。
5. SpringCloud与微服务关系



  • Springcloud为微服务头脑提供了完美的办理方案
  • Springcloud是一些列框架的集合体(服务的注册与发现【注册中心】、服务间远程调用、服务降级、服务熔断、服务限流、分布式事务等)
  • SpringCloud就是一系列框架的集合,为相识决微服务的挑衅。
springcloud有两个版本:springcloud netflix(制止更新)和springcloud alibaba。
6. SpringBoot和SpringCloud关系



  • SpringBoot专注于快速方便的开辟单个个体微服务。
  • SpringCloud是关注全局的微服务协调、整理、治理的框架,它将SpringBoot开辟的单体整合并管理起来。
  • SpringBoot可以脱离SpringCloud独立使用开辟项目,但是SpringCloud离不开SpringBoot,属于依靠关系。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81428

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表