初识spring cloud微服务框架

springCloud workingTime 93℃ 0评论

什么是微服务架构

查看“微服务”一词的出处

简单的说,微服务就是系统架构上的一种设计风格,它的主旨就是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自的进程中运行,服务之间通过基于HTTP的RESTful API或者其他RPC协议进行通信协作。

万事都有两面性,我们也要客观的看待微服务,并不是所有的系统,所有的项目都适合使用微服务架构,使用前请详细调研。

网上有很多微服务优缺点的文章,比如:https://zhuanlan.zhihu.com/p/26582482

我也简单说说在什么时候不要使用微服务:

  • 小规模的开发团队。(5人以内)
  • 开发团队普遍经验较少。(比如为了节约成本,10个开发8个是工作1年内的新手)
  • 迭代速度较慢,对系统性能没有要求的项目。(快速迭代是微服务的优势所在)
  • 需要快速上线,后期想低成本维护的项目。(人力成本和时间成本是微服务的弊端)

微服务架构设计需要考虑的点:

  • 分布式系统技术栈:服务治理、分布式配置管理、批量任务处理、服务跟踪等。还需要考虑前后分离,前端技术栈,比如vue.js等等…
  • 系统容错能力:当某节点发生故障时,整个系统还可以正常运行。
  • 业务划分和人员分配:将一个大系统合理的按照业务线进行划分,以及每条业务线上安排的人员。
  • 接口的一致性:需要前期对团队进行RESTful API规范的培训,设计版本管理规范和接口文档规划。
  • 项目自动化部署:比如jenkins,sonar等。参考点击这里
  • 自动化测试:如何对多业务线多分支分布式系统进行自动化测试方案,也是需要考虑的。
  • 服务器部署方案:实例部署在几台服务器,如何部署,如何运维,当大并发时如何快速扩容等等。

认识一下Spring cloud

spring cloud是一个基于spring boot实现的微服务构建开发工具。它为微服务架构中涉及的配置管理、服务管理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。项目地址

spring cloud有多个版本,每个版本包含多个子项目的不同版本:

截止本文,springcloud主要版本有两个,每个版本对应的项目已说明如下:

项目名称 Edgware.SR3 Finchley.M9 概述
spring-cloud-bus 1.3.2.RELEASE 2.0.0.M7 事件、消息总件,用于传播集群中的状态变化或事件,以触发后续的处理,比如动态刷新配置等。
spring-cloud-cli 1.4.1.RELEASE 2.0.0.M1
spring-cloud-commons 1.3.3.RELEASE 2.0.0.M9
spring-cloud-contract 1.2.4.RELEASE 2.0.0.M8
spring-cloud-config 1.4.3.RELEASE 2.0.0.M9 配置管理工具,用来实现应用配置的外部化存储。
spring-cloud-netflix 1.4.4.RELEASE 2.0.0.M8 核心组件,对多个Netfix OSS开源套件进行整合
spring-cloud-security 1.2.2.RELEASE 2.0.0.M3 安全工具包,提供在Zuul代理中对OAuth2客户端请求的中继器。
spring-cloud-cloudfoundry 1.1.1.RELEASE 2.0.0.M3
spring-cloud-consul 1.3.3.RELEASE 2.0.0.M7 服务发现与配置管理工具。
spring-cloud-sleuth 1.3.3.RELEASE 2.0.0.M9
spring-cloud-stream Ditmars.SR3 Elmhurst.RC3
spring-cloud-zookeeper 1.2.1.RELEASE 2.0.0.M7
spring-boot 1.5.10.RELEASE 2.0.0.RELEASE
spring-cloud-task 1.2.2.RELEASE 2.0.0.M3
spring-cloud-vault 1.1.0.RELEASE 2.0.0.M6
spring-cloud-gateway 1.0.1.RELEASE 2.0.0.M9
spring-cloud-openfeign 2.0.0.M2

现在项目中常用的还是Edgware这个版本,所以教程也暂时用这个版本讲解。

转载请注明:R&M » 初识spring cloud微服务框架

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

联系我:rm@rmworking.com