码迷,mamicode.com
首页 > 编程语言 > 详细

springcloud简介

时间:2018-11-03 12:29:46      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:没有   业务   代码   分布式   分解   挑战   语言   nbsp   通信机制   

springcloud 属于微服务的范畴,什么是微服务?可以表述如下:

  微服务架构是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常是http),这些服务围绕业务能力构件并且可以通过全自动部署机制独立部署,这些服务公用一个最小型的集中式的配置管理,服务可用不同的语言开发,使用不同的数据存储技术。  

  微服务相比单体应用无疑是有着显著优点的,但也并发完美,它有以下优点:

  1. 易于开发和维护:一个微服务只关注某个特定的业务,所以业务清晰,代码简洁,整个应用由若干个微服务构建,因此应用也被维持在一个可控状态。
  2. 单个微服务启动快
  3. 局部修改容易部署:一般来说,都某个微服务修改,只需要重新部署这一个就可以。
  4. 技术栈不受限:每个微服务可以根据业务和团队的特点,合理选择不同的技术栈。
  5. 按需伸缩:根据需求,实现细粒度的扩展。例如:某个微服务性能遇到瓶颈,可以针对这个特定微服务,增加cpu,内存或扩展节点。

  但微服务的使用也会带来一些挑战:

  1. 运维要求较高:更多的服务意味着更多的运维投入。在单体架构中,只需要保证一个应用正常运行即可,而在为服务中,需要保证几十甚至几百个服务的正常运行和协作。
  2. 分布式固有的复杂性:微服务是一个分布式的系统,它对系统容错、网络延迟、数据一致性、分布式事务都有着更多的要求。
  3. 接口调整成本高:微服务之间使用接口进行通信,如果修改某一个微服务的api,可能所有使用该接口的微服务都需要做出调整。
  4. 重复劳动:很多服务会使用到相同的功能,如果这个功能没有分解为一个微服务,可能多个服务都要重复开发这一功能,导致代码重复。

springcloud的特点:

  • 约点优于配置
  • 适用于各种环境。开发部署在Pc或各种云环境
  • 隐藏了组件的复杂性,提供了声明式、无xml的配置方式
  • 开箱即用,功能齐全。
  • 选型中立、丰富。例如,springcloud支持使用eureka、zookeeper、consul实现服务发现
  • 灵活。springcloud的组成部署是解耦的,开发人员可按需灵活挑选技术选型。

 

springcloud简介

标签:没有   业务   代码   分布式   分解   挑战   语言   nbsp   通信机制   

原文地址:https://www.cnblogs.com/loveBolin/p/9900112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!