SpringCloud-初识
说道SpringCloud,原来就去了解过,也有很大兴趣,只是当初不知道这是个什么东西。在它之前,我学习Spring,在官网肆无忌惮的逛的时候,发现了SpringBoot,那个时候就打算开始学习SpringBoot,刚开始的印象,SpringBoot是为了简化Spring的配置而生的。这里有个小插曲,当初我跟实验室的一个资深工程师(岁数比较大,孩子都大了)说,我关于SpringBoot的计划,他当时说:不要学那些用不着的,Servlet可以搞定一切!!说Servlet我没意见,但是看到今天的SpringBoot,我有点后悔当初没坚持自己。现在一个分布式项目快要完成,我将眼光从Dubbo转向了SoringCloud。
目前国内有好多微服务的解决方案,例如:阿里的Dubbo。京东的Hydra。等等好多,但是她们有个共同点:仅仅是解决了微服务中的某一个问题。SpringCloud的出现,可以说是对微服务架构强有力的技术后盾,他是一个解决微服务架构实施的综合性解决框架。
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,集群状态)
搜过相关资料的都知道,它的版本是用地铁站来命名的。大多数都是推荐用Brixton版本,但是截至今天2018-02-01 14:47:04,官网已经有了一些变化。
可以发现,没有了Angel和brixton的版本,之前说的具有前瞻性的Camden已经成了过去,目前最超前的是Finchley。再来看发行内容:你可以选择Edgware或者Dalston
Finchley使用Spring Boot 2.0.x构建和运行,并且不支持与Spring Boot 1.5.x一起使用。
Dalston和Edgware发行版建立在Spring Boot 1.5.x之上,并且不支持与Spring Boot 2.0.x一起使用。
Camden发行版基于Spring Boot 1.4.x,但也使用1.5.x进行测试。
注意:Brixton 和 Angel发行版本 在2017年7月被marked end-of-life (EOL)。应该是GG了
Brixton发行版基于Spring Boot 1.3.x,但也使用1.4.x进行测试。
Angel发行版建立在Spring Boot 1.2.x上,并且在某些地方与Spring Boot 1.3.x不兼容。Brixton建立在Spring Boot 1.3.x之上,同样与1.2.x不兼容。
综上所述,Dalston和Edgware是目前最好的选择,因为目前SpringBoot稳定版也是1.5.x版本
主要项目:我只标记几个主要的
Main Projects
Centralized external configuration management backed by a git repository. The configuration resources map directly to Spring `Environment` but could be used by non-Spring applications if desired.
Integration with various Netflix OSS components (Eureka, Hystrix, Zuul, Archaius, etc.).
An event bus for linking services and service instances together with distributed messaging. Useful for propagating state changes across a cluster (e.g. config change events).
Integrates your application with Pivotal Cloudfoundry. Provides a service discovery implementation and also makes it easy to implement SSO and OAuth2 protected resources, and also to create a Cloudfoundry service broker.
Provides a starting point for building a service broker that manages a Cloud Foundry managed service.
Leadership election and common stateful patterns with an abstraction and implementation for Zookeeper, Redis, Hazelcast, Consul.
Service discovery and configuration management with Hashicorp Consul.
Provides support for load-balanced OAuth2 rest client and authentication header relays in a Zuul proxy.
Distributed tracing for Spring Cloud applications, compatible with Zipkin, HTrace and log-based (e.g. ELK) tracing.
A cloud-native orchestration service for composable microservice applications on modern runtimes. Easy-to-use DSL, drag-and-drop GUI, and REST-APIs together simplifies the overall orchestration of microservice based data pipelines.
A lightweight event-driven microservices framework to quickly build applications that can connect to external systems. Simple declarative model to send and receive messages using Apache Kafka or RabbitMQ between Spring Boot apps.
Spring Cloud Stream App Starters are Spring Boot based Spring Integration applications that provide integration with external systems.
A short-lived microservices framework to quickly build applications that perform finite amounts of data processing. Simple declarative for adding both functional and non-functional features to Spring Boot apps.
Spring Cloud Task App Starters are Spring Boot applications that may be any process including Spring Batch jobs that do not run forever, and they end/stop after a finite period of data processing.
Service discovery and configuration management with Apache Zookeeper.
Easy integration with hosted Amazon Web Services. It offers a convenient way to interact with AWS provided services using well-known Spring idioms and APIs, such as the messaging or caching API. Developers can build their application around the hosted services without having to care about infrastructure or maintenance.
Makes it easy for PaaS applications in a variety of platforms to connect to backend services like databases and message brokers (the project formerly known as "Spring Cloud").
Spring Boot-style starter projects to ease dependency management for consumers of Spring Cloud. (Discontinued as a project and merged with the other projects after Angel.SR2.)
Spring Boot CLI plugin for creating Spring Cloud component applications quickly in Groovy
Spring Cloud Contract is an umbrella project holding solutions that help users in successfully implementing the Consumer Driven Contracts approach.
Spring Cloud Gateway is an intelligent and programmable router based on Project Reactor.
简单介绍就这么多