





本文系《Spring Cloud微服务实战》作者:翟永超,一书的阅读笔记。
一:基础知识
1:什么是微服务架构
是一种架构设计风格,主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。
被拆分的每一个小型服务都围绕系统中的一项或者一些耦合度较高的业务功能进行构建,每个服务维护着自身的数据存储,业务开发,自动化测试以及独立部署。
2:实施微服务带来的问题:
3:微服务9大特性:
4:为什么选择Spring Cloud
目前微服务架构中针对不同场景出现的不同问题的各种解决方案和开源框架概览:
|
服务治理 |
阿里巴巴Dobbo,当当网DubboX,Netflix的Eureka,Apache的Consul等 |
|
分布式配置管理 |
百度的Disconf,Netflix的Archaius,360的QConf,Spring Cloud的Config,淘宝网的Diamond等 |
|
批量任务 |
当当网的Elastic-Job,LinkedIn的Azkaban,Spring Cloud的Task等 |
|
服务跟踪 |
京东的Hydra,Spring Cloud的Sleuth,Twitter的Zipkin等 |
在实施微服务框架时,我们必须在这些关键场景的技术选型上进行抉择,而这需要我们针对每种开源框架花费大量时间和经历进行调研,分析,比较等。
而Spring Cloud,它不像上面介绍的框架是为了解决微服务实践过程中的某一项问题,而是一个解决微服务架构实施的综合性解决框架。它整合了诸多被广泛实践和证明过的框架作为实施的基础部件,又在该基础上创建了一些非常优秀的边缘组件。
5:Spring Cloud简介
Spring Cloud是一个基于Spring Boot实现的微服务框架,它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一个简单的开发方式。
Spring Cloud下主要的子项目有:
6:Spring Cloud版本说明
当我们查找到一些Spring Cloud的文章或者示例时,往往可以在依赖中看见很多不同版本的名字,比如Angel.SR6、Brixton.SR5等,为什么Spring Cloud没有想其他Spring项目使用1.X.X的版本命名规则呢?
因为Spring Cloud下有很多子项目,他们各自维护着自己的版本更新,也就是说每一个Spring Cloud的版本下的不同子项目有不同的版本号,为了区别于子项目的版本号,因此使用命名的方式标识版本。
其中大版本命名使用伦敦地铁站的名字,按照字母顺序排列,如Angel,Brixton......
当一个版本的Spring Cloud项目的发布内容累积到一定程度或者修复了一个严重的Bug,就会发布一个Release版本,简称SRX版本,其中X是一个递增的数字,Brixton SR5表示Brixton的第五个Release版本。
最新版本区别:
|
Component |
Edgware.SR1 |
Finchley.M5 |
Finchley.BUILD-SNAPSHOT |
|
spring-cloud-aws |
1.2.2.RELEASE |
2.0.0.M2 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-bus |
1.3.2.RELEASE |
2.0.0.M4 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-cli |
1.4.1.RELEASE |
2.0.0.M1 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-commons |
1.3.1.RELEASE |
2.0.0.M5 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-contract |
1.2.2.RELEASE |
2.0.0.M5 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-config |
1.4.1.RELEASE |
2.0.0.M5 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-netflix |
1.4.2.RELEASE |
2.0.0.M5 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-security |
1.2.2.RELEASE |
2.0.0.M1 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-cloudfoundry |
1.1.1.RELEASE |
2.0.0.M2 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-consul |
1.3.1.RELEASE |
2.0.0.M4 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-sleuth |
1.3.1.RELEASE |
2.0.0.M5 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-stream |
Ditmars.SR3 |
Elmhurst.M3 |
Elmhurst.BUILD-SNAPSHOT |
|
spring-cloud-zookeeper |
1.2.0.RELEASE |
2.0.0.M4 |
2.0.0.BUILD-SNAPSHOT |
|
spring-boot |
1.5.9.RELEASE |
2.0.0.M7 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-task |
1.2.2.RELEASE |
2.0.0.M2 |
2.0.0.RELEASE |
|
spring-cloud-vault |
1.1.0.RELEASE |
2.0.0.M4 |
2.0.0.BUILD-SNAPSHOT |
|
spring-cloud-gateway |
1.0.1.RELEASE |
2.0.0.M5 |
2.0.0.BUILD-SNAPSHOT |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。