Spring Cloud
1. Introduction to Spring Cloud
Spring Cloud is built on spring boot to simplify the toolset of distributed system building, providing developers with some common patterns for rapidly building distributed systems.
> For example: Configuration Management (config management), Service Discovery (services discovery), circuit breakers (circuit breakers), intelligent routing (intelligent routing), Micro-agent (micro-proxy), control bus, one-time token (one-time tokens), Global lock (Globals locks), leading the election (leadership election), Distributed session (distributed sessions), cluster status (cluster state).
Spring Cloud contains multiple sub-projects:
> For example: Spring Cloud Config, spring cloud Netflix, etc.
Spring Cloud Project home page: [http://projects.spring.io/spring-cloud/] (http://projects.spring.io/spring-cloud/)
Talk is cheap, show me the code. Below we will explain the various components of spring cloud in a combination of codes and tutorials.
2. Preparatory work
* Technical Reserve:
| Required Skills | Notes | | ----------- | ------------------------------- || Java | | | Maven | The article involves a lot of code, all built with maven | | Spring Boot | Spring Cloud is built on spring boot |
Environment Preparation:
| Tools | Version or Description | | ----- | -------------------------------- || JDK | 1.8 | | IDE | STS or IntelliJ idea, this tutorial uses an STS. || Maven | 3.x |
* The software and version used in this course:
| Software to use | Version number | Is the latest version |
| ------------ | ------------- | ------ || Spring Boot | 1.4.0.RELEASE | is | | Spring Cloud | BRIXTON.SR5 | is |
3, the establishment of the parent project
Before entering the topic, we first create a parent project (Spring-cloud-microservice-study), which allows for a unified management of MAVEN dependencies in the project.
Xml
<?xml version= "1.0" encoding= "UTF-8"? ><project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "http ://www.w3.org/2001/XMLSchema-instance "xsi:schemalocation=" http://maven.apache.org/POM/4.0.0/http Maven.apache.org/xsd/maven-4.0.0.xsd "><modelVersion>4.0.0</modelVersion><groupId> Com.xujin.study</groupid><artifactid>microservice-spring-cloud</artifactid><version> 0.0.1-snapshot</version><packaging>pom</packaging><properties>< Project.build.sourceencoding>utf-8</project.build.sourceencoding><project.reporting.outputencoding >utf-8</project.reporting.outputencoding><java.version>1.8</java.version></properties ><parent><groupId>org.springframework.boot</groupId><artifactId> spring-boot-starter-parent</artifactid><version>1.4.0.release</version></parent>< Dependencymanagement><dependencies><dependency><grouPid>org.springframework.cloud</groupid><artifactid>spring-cloud-dependencies</artifactid> <version>brixton.sr5</version><type>pom</type><scope>import</scope></ dependency></dependencies></dependencymanagement><build><plugins><plugin>< Groupid>org.springframework.boot</groupid><artifactid>spring-boot-maven-plugin</artifactid ></plugin></plugins></build></project>
1. The author explains the use of the latest spring Boot and spring Cloud to explain, which may involve some new features, I try to point out, at the same time, the author's limited ability, if there is no understanding of the place, also please spectators pointed out that the first time to amend. 2. The Spring cloud version is not traditionally identified using numbers, but is used for example: Angel, Brixton, Camden ... And so on, the names of London, the name of the version, the sequence of the version you may have guessed, is to use the alphabet to identify the order. The author has confirmed after consulting one of Spring Cloud's major contributors, Josh Long.
Introduction to Spring Cloud micro-service architecture