Java interview summary summary, including Java key knowledge, as well as common open source framework, welcome to read. The article may have wrong place, because individual knowledge is limited, welcome everybody big guy to point out! The article continues to be updated at……

ID The title address
1 Design Mode Interview Questions (Most comprehensive summary of interview questions) Juejin. Cn/post / 684490…
2 Java Basics (most comprehensive interview questions) Juejin. Cn/post / 684490…
3 Java Set interview Questions (the most comprehensive interview questions) Juejin. Cn/post / 684490…
4 JavaIO, BIO, NIO, AIO, Netty Interview Questions (Most comprehensive summary of interview questions) Juejin. Cn/post / 684490…
5 Java Concurrent Programming Interview questions (most comprehensive interview questions) Juejin. Cn/post / 684490…
6 Java Exception Interview Questions (The most comprehensive interview Questions) Juejin. Cn/post / 684490…
7 Java Virtual Machine (JVM) Interview Questions Juejin. Cn/post / 684490…
8 Spring Interview Questions (the most comprehensive interview questions) Juejin. Cn/post / 684490…
9 Spring MVC Interview Questions (The most comprehensive interview Questions) Juejin. Cn/post / 684490…
10 Spring Boot Interview Questions (Most comprehensive summary of interview questions) Juejin. Cn/post / 684490…
11 Spring Cloud Interview Questions (The most comprehensive interview questions) Juejin. Cn/post / 684490…
12 Redis Interview Questions (most comprehensive summary of interview questions) Juejin. Cn/post / 684490…
13 MyBatis Interview Questions (most comprehensive interview questions) Juejin. Cn/post / 684490…
14 MySQL Interview Questions (most comprehensive interview questions) Juejin. Cn/post / 684490…
15 TCP, UDP, Socket, HTTP interview questions Juejin. Cn/post / 684490…
16 Nginx Interview Questions (The most comprehensive interview Questions) Juejin. Cn/post / 684490…
17 ElasticSearch interview questions
18 Kafka interview questions
19 RabbitMQ interview questions (most comprehensive summary of interview questions) Juejin. Cn/post / 684490…
20 Dubbo Interview Questions (the most comprehensive interview questions) Juejin. Cn/post / 684490…
21 ZooKeeper Interview Questions Juejin. Cn/post / 684490…
22 Netty Interview Questions (Most comprehensive summary of interview questions)
23 Tomcat Interview Questions (The most comprehensive interview questions) Juejin. Cn/post / 684490…
24 Linux Interview Questions (Most comprehensive Summary of interview questions) Juejin. Cn/post / 684490…
25 Internet Related interview Questions (the most comprehensive summary of interview questions)
26 Internet Security Questions (Summary of the most comprehensive interview questions)

What is microservices Architecture

  • Microservice architecture is the partitioning of individual applications into multiple applications that become microservices, each running in its own process and communicating using a lightweight mechanism. These services are segmented around business capabilities and deployed independently through automated deployment mechanisms. These services can use different programming languages and different databases to ensure minimal centralized management.

Why do YOU need to learn Spring Cloud

  • First of all, springcloud is based on the elegant simplicity of spingboot. Remember our fear of being at the mercy of countless XML? But remember springMVC, Mybatis complex configuration, with Spingboot, these things are not needed, spingboot benefits are no longer superfluous, SpringCloud based on SpringBoot to combine the excellent service framework in the market, Reencapsulation through Spring Boot style masks complex configuration and implementation principles

  • What does that mean out of the box? Even the golden partner dubbo+ ZooKeeper download configuration is quite a bother god! Springcloud only needs a jar dependency to do this!

  • Most of springCloud’s sub-modules hit pain points, such as Zuul’s cross-domain solution, Fegin’s load balancing solution, Hystrix’s circuit breaker mechanism, and so on

What is Spring Cloud

  • Spring Cloud is an ordered collection of frameworks. It takes advantage of the development convenience of Spring Boot to subtly simplify the development of distributed system infrastructure, such as service discovery registry, configuration center, intelligent routing, message bus, load balancing, circuit breakers, data monitoring, etc., which can be started and deployed with one click with Spring Boot’s development style.
  • Instead of reinventing the wheel, Spring Cloud simply combines mature, proven service frameworks developed by various companies and encapsulates them in Spring Boot style, eliminating complex configuration and implementation principles. Finally, a simple and easy to understand, easy to deploy and easy to maintain distributed system development kit was set aside for developers.

Advantages and disadvantages of SpringCloud

Advantages:

1. Low coupling degree. The development of other modules will not be affected. 2. Reduce the cost of the team, can develop in parallel, do not worry about how others develop, focus on their own development first. 3. The configuration is relatively simple, basically can be achieved with annotations, do not use too many configuration files. 4. Microservices are cross-platform and can be developed in any language. 5. Each microservice can have its own independent database as well as a public database. 6. Directly write back-end code, do not pay attention to the front-end development, directly write your own back-end code, and then expose the interface, through the component for service communication.Copy the code

Disadvantages:

1. The deployment is cumbersome, which causes problems for O&M engineers. 2. Data management is more troublesome because microservices can use one database per microservice. 3. System integration testing is troublesome 4. Performance monitoring is troublesome. Better to develop a large screen monitoring systemCopy the code
  • Generally speaking, the advantages of Spring Cloud outweigh the disadvantages. At present, Spring Cloud is a very complete set of distributed framework. At present, many enterprises start to use micro services, and the advantages of Spring Cloud are obvious. Therefore, learning Spring Cloud is a good choice for students who want to study microservices architecture.

What is the difference between SpringBoot and SpringCloud?

  • SpringBoot focuses on developing individual microservices quickly and easily.

  • SpringCloud is a global microservices coordination and consolidation governance framework, which integrates and manages individual microservices developed by SpringBoot.

  • Provide integrated services for configuration management, service discovery, circuit breakers, routing, micro proxy, event bus, global lock, decision campaign, distributed session, and so on between microservices

  • SpringBoot can be independently used for development projects without SpringCloud, but SpringCloud is dependent on SpringBoot

  • SpringBoot focuses on developing individual microservices quickly and easily, while SpringCloud focuses on a global service governance framework.

Mapping between Spring Cloud and SpringBoot versions

Spring Cloud Version SpringBoot Version
Hoxton X 2.2.
Greenwich X 2.1.
Finchley X 2.0.
Edgware X 1.5.
Dalston X 1.5.

What does SpringCloud consist of

  • So there are a lot of them, and I’ll talk about a few of the most important ones in development
    • Spring Cloud Eureka: Service registration and discovery
    • Spring Cloud Zuul: Service gateway
    • Spring Cloud Ribbon: Client load balancing
    • Spring Cloud Feign: Declarative Web services client
    • Spring Cloud Hystrix: Circuit breaker
    • Spring Cloud Config: Distributed unified configuration management
    • Such as more than 20 frameworks, open source has been updated

What problems do we face when developing distributed microservices using Spring Boot

  • (1) Complexity associated with distributed systems – this overhead includes network issues, latency costs, bandwidth issues, and security issues.

  • (2) Service discovery – The service discovery tool manages how processes and services in the cluster look up and talk to each other. It involves a catalog of services in which you can register services and then be able to find and connect to services in that catalog.

  • (3) redundancy – the redundancy problem in distributed system.

  • (4) Load balancing — Load balancing improves the distribution of workloads across multiple computing resources, such as computers, computer clusters, network links, central processing units, or disk drives.

  • (5) Performance – Issues Performance issues due to various operational overhead.

Is Spring Cloud different from Dubbo?

  • (1) Service invocation: Dubbo is RPC SpringCloud Rest Api

  • (2) Registry: Dubbo is ZooKeeper; SpringCloud is Eureka and can also be ZooKeeper

  • (3) Service gateway, dubbo itself is not implemented, can only be integrated through other third-party technologies, SpringCloud has Zuul routing gateway, as a routing server, for consumer request distribution, SpringCloud supports circuit breakers, perfect integration with Git configuration file support version control, The transaction bus implements a series of microservice architecture elements such as configuration file update and automatic service assembly.

Eureka

What do I mean by service registration and discovery? How is Spring Cloud implemented?

  • When we start a project, we usually do all the configuration in the properties file. As more services are developed and deployed, adding and modifying these properties becomes more complex. Some services may decline and some locations may change. Manually changing properties can cause problems. Eureka service registration and discovery can help in this situation. Because all services are registered on the Eureka server and lookup is done by calling the Eureka server, there is no need to handle any changes and processing of the service location.

What is the Eureka

  • Eureka serves as the Service registry function server of SpringCloud. Eureka is the Service registry. Other services in the system connect to Eureka Service using Eureka’s client and maintain heartbeat. In this way, the staff can monitor the normal operation of each microservice through Eureka Service.

How does Eureka achieve high availability

  • To cluster, register multiple eurekas, and then register SpringCloud services with each other. When clients get information from Eureka, they access it in the same order as Eureka.

What is Eureka’s mode of self-preservation,

  • By default, if the Eureka Service does not receive the heartbeat of a microservice within a certain period of time, the Eureka Service enters the self-protection mode. In this mode, the Eureka Service protects the information in the Service registry and does not delete the data in the registry. After the network fault is rectified, the Eureka Service enters the self-protection mode. The Eureka Servic node automatically exits the self-protection mode

The role of the DiscoveryClient

  • The registered server information can be obtained from the registry based on the service alias.

Eureka and ZooKeeper both provide service registration and discovery functions. Please explain the differences between the two

  1. The registration service will be broken during the election period. Although the service will be restored eventually, it will not be available during the election period. The election is to change the micro service into a cluster, which must have one master and all the others are subordinate

  2. All Eureka nodes are equal. It doesn’t matter if the server is down. As long as there is one Eureka, the service is available and the data is up to date. If the queried data is not up to date, it is because of Eureka’s self-protection mode

  3. Eureka is essentially a project, whereas ZooKeeper is just a process

  4. Eureka can cope with the loss of some nodes due to network failure without causing the entire registration system to collapse like ZooKeeper

  5. ZooKeeper guarantees CP, Eureka guarantees AP

    CAP: C: Consistency >Consistency; Trade-off: (strong consistency, monotonic consistency, session consistency, final consistency, weak consistency) P: fault tolerance >Partition tolerance;

Zuul

What is a gateway?

  • A gateway is the gateway to a network service architecture through which all network requests must be forwarded to a specific service.

What does a gateway do

  • Unified management of micro-service requests, permission control, load balancing, routing and forwarding, monitoring, and security control blacklist and whitelist

What is Spring Cloud Zuul?

  • Zuul is a mature routing scheme for SpringCloud. According to different request paths, the gateway will locate the specified microservice and proxy requests to different microservice interfaces. It hides the real interface addresses of microservices externally. Three important concepts: Dynamic routing table, routing location, and reverse proxy:

    • Dynamic routing table: Zuul supports Eureka routing and manually configured routes, both of which support automatic updates
    • Routing: Zuul has its own set of routing service rules and routing expression matching based on the request path
    • Reverse proxy: the client sends a request to the routing gateway. After receiving the request, the gateway sends the response to the destination and sends it to the client
  • It works with components like Eureka,Ribbon,Hystrix,

  • Application scenarios of Zuul:

    • External exposure, permission verification, service aggregation, log audit, etc

What is the difference between a gateway and a filter

  • A gateway analyzes and filters requests for all services, while a filter is applied to a single service.

What are the common gateway frameworks?

  • Nginx, Zuul, Gateway

What is the difference between Zuul and Nginx?

  • Zuul is implemented in The Java language and mainly provides gateway services for Java services, especially in the microservices architecture, which can be more flexible to operate on the gateway. Nginx is implemented using C language, higher performance than Zuul, but the implementation of custom operations need to be familiar with Lua language, higher requirements for programmers, you can use Nginx to do Zuul cluster.

Now that Nginx can implement gateways? Why use the Zuul framework

  • Zuul is the gateway for SpringCloud integration, written in the Java language to provide more flexibility to the SpringCloud architecture.

How to design an API

  • Considering the classification of API interfaces, API interfaces can be divided into development API interfaces and Intranet API interfaces. Intranet API interfaces are used for LAN and provide services for internal servers. The open API interface is used to provide interface calls to external partners and needs to follow the Oauth2.0 authorization protocol. At the same time, security, idempotence and other issues need to be considered.

ZuulFilter usually has those methods

  • Run() : specifies the business logic of the filter

  • ShouldFilter () : Check whether the filter is valid

  • FilterOrder () : filter execution order

  • FilterType () : intercepting position of the filter

How to implement dynamic Zuul gateway routing and Forwarding

  • Zuul uses the Ribbon internally to implement local load balancing and forwarding.

How does Zuul Gateway set up a cluster

  • Use Nginx upstream to set up the Zuul service cluster, intercept requests via location and forward them to upstream, and use polling to send requests to the Zuul cluster by default.

Ribbon

What does load balancing mean?

  • In simple terms: first cluster, cluster is give more than one person to do one thing, if want to do 1000 products to do for a man to 10 days, my name is ten people to do is to one day, this is the cluster, load balancing is used to control the cluster, he let him do most people will do the rest, slowly add the least make his amount to let him to do more.

  • In computing, load balancing can improve workload distribution across multiple computing resources such as computers, computer clusters, network links, central processing units, or disk drives. Load balancing is designed to optimize resource usage, maximize throughput, minimize response time, and avoid overloading any single resource. Load balancing with multiple components rather than a single component may improve reliability and availability through redundancy. Load balancing typically involves proprietary software or hardware, such as multi-tier switches or domain name system server processes.

What is the Ribbon?

  • The Ribbon is an open source project released by Netflix. Its main function is to provide client-side software load balancing algorithms

  • The Ribbon client component provides a comprehensive set of configuration options, such as connection timeout and retry. Simply put, the Ribbon lists all the following machines in a configuration file. The Ribbon automatically helps you connect these machines based on certain rules (simple polling, random linking, etc.). It’s also easy to implement custom load balancing algorithms using the Ribbon. (Somewhat similar to Nginx)

The difference between Nginx and Ribbon

  • The Nginx is a reverse proxy that implements load balancing. The Nginx intercepts requests from the client using a load balancing policy and forwards them according to upstream configuration. The Ribbon is a client load balancer. The Ribbon reads target server information from the registry, and the client uses a polling policy to directly access the service.

Ribbon implementation principles

  • The Ribbon uses discoveryClient to read target service information from the registry. The Ribbon counts the same interface requests. The Ribbon uses the % mod algorithm to obtain the target service cluster index, and returns the target service information.

The role of the @loadBalanced annotation

Enable client load balancing.

Hystrix

What is a circuit breaker

  • When a service calls another service due to network or its own problems, the caller will wait for the response of the called service. When more services request these resources, more requests wait, resulting in a chain effect (avalanche effect).

  • Circuit breakers have three states

    • Open state: uncallable for a certain number of times over a period of time and monitoring for no signs of recovery the circuit breaker is fully open then the service will not be requested next time
    • Half-open: The circuit breaker sends part of the requests to the service if there are signs of recovery within a short period of time. The circuit breaker shuts down when the service is normally invoked
    • Closed: The service can be invoked when it is in the normal state

What is Hystrix?

  • In distributed systems, we rely on services, and those services are bound to fail, leading to avalanches. Hystrix is one such tool, an avalanche prevention tool, with service degradation, service circuit breaker, service isolation, monitoring and other technologies.

  • Hystrix has four types of avalanche protection:

    • Service degradation: a null is returned when an interface call fails
    • Service fuse: Failure of an interface call leads to a fuse method defined in advance by the call interface, returning an error message
    • Service isolation: Isolates services from each other
    • Service monitoring: When the service is invoked, the number of requests per second, successful requests and other operational indicators are recorded.

Talk about the service avalanche effect

  • Avalanche effect is in large Internet project, when a service is down, call the service could happen other service outage, large projects between micro service call is exchanged, thus the service is unavailable gradually expanded to all other services, so that the collapse of the entire project service outage. There are several reasons for the avalanche effect

  • There is a bug in the code of a single service. 2 The service crashes due to the surge of traffic requests (such as the gun red envelope function of a large mall, the second kill function). 3. The hardware failure of the server may cause some services to be unavailable.

In microservices, how are services protected?

  • The Hystrix framework is typically used to protect services by implementing service isolation to avoid service avalanche effects. When micro service, service thread block, caused by high concurrent database accesses to a single service outage, service is not available will spread to other services, cause the overall service disastrous consequences, use of the service degradation can effectively allocate resources for different services, once the service is not available, return to friendly reminder, do not take up other service resources, This prevents the failure of a single service from causing unavailability of the entire service.

Causes of service avalanche effect

  • Because Tomcat by default has only one thread pool to maintain all requests sent by clients, an interface that is heavily accessed at any one time occupies all threads in the Tomcat thread pool, leaving other requests in a waiting state and unable to connect to the service interface.

Talk about service degradation, circuit breakers, service isolation

  • Service degradation: When the client requests the server, it prevents the client from waiting, without processing the business logic code, and directly returns a friendly prompt to the client.

  • Service circuit breaker is a more direct form of protection based on service degradation. When the number of failed requests in a statistical period reaches the specified value (requestVolumeThreshold) or the current request error rate reaches the specified error rate (errorThresholdPercentage), the subsequent requests go to the Fallback method. Try to restore after the set time (sleepWindowInMilliseconds).

  • Service isolation is when Hystrix enables a separate thread pool for isolated services so that other services are not affected in the case of high concurrency. Service isolation can be implemented in two ways: thread pool and semaphore. Thread pool is generally used.

How is service degradation implemented at the bottom?

  • Hystrix implements service degradation by overwriting the getFallback() method in HystrixCommand to execute the getFallback() method when Hystrix’s Run method or construct execution fails.

Feign

What is Feign?

  • Feign is a declarative Web service client, which makes it easier to write Web service clients

  • It defines the service method we need to call as an abstract method and saves it locally. Instead of building the Http request, we can call the interface directly, but be careful that the signature of the calling method is exactly the same as that of the local abstract method.

SpringCloud invokes interfaces in several ways

  • Feign

  • RestTemplate

The difference between Ribbon and Feign calling services

  • The Ribbon needs to build Http requests, simulate Http requests, and send them to other services through the RestTemplate

  • And Feign is a improvements were made on the basis of the Ribbon, in the form of interface, will we need to call the service methods defined as abstract methods stored in the local can, do not need to build a Http request, a direct call interface to go, but should pay attention to, and local calls the method to abstract method signature.

Bus

What is Spring Cloud Bus?

  • Spring Cloud Bus acts like a distributed executor that is used as a configuration file for extended Spring Boot applications, but can also be used as a communication channel between applications.
  • Spring Cloud Bus cannot communicate on its own and needs to work with MQ support
  • Spring Cloud Bus usually works with Spring Cloud Config as the configuration center
  • The Springcloud Config real-time refresh must also use the Springcloud Bus message Bus

Config

What is Spring Cloud Config?

  • Spring Cloud Config provides server and client support for external configuration in distributed system, which facilitates centralized management of configuration in various micro-service environments. Spring Cloud Config is divided into Config Server and Config Client. The Config Server reads the configuration file and exposes the Http API interface. The Config Client reads the configuration file by invoking the Interface of the Config Server.

What are the frameworks in the Distributed Configuration Center?

  • Apollo, ZooKeeper, SpringCloud Config.

What is the role of a distributed configuration center?

  • Dynamically change project configuration information without redeploying the project.

Can SpringCloud Config implement real-time refresh?

  • The SpringCloud Config real-time refresh uses the SpringCloud Bus message Bus.

Gateway

What is Spring Cloud Gateway?

  • Spring Cloud Gateway is the second generation of Spring Cloud’s official Gateway framework, replacing Zuul Gateway. As a traffic, the gateway plays a very important role in the micro-service system. The common functions of the gateway include routing and forwarding, permission verification, and traffic limiting control.

  • The RouteLocatorBuilder allows you to add various predicates and filters, based on the rules of the specific request. Filters are the kinds of filters used to make various judgments and changes to the request, processed by a specific route.

Major projects for SpringCloud

  • The sub-projects of Spring Cloud can be roughly divided into two categories. One is the encapsulation and abstraction of the existing mature framework “Spring Booting “, which is also the largest number of projects. The second type is the implementation of the infrastructure of a part of distributed system. For example, Spring Cloud Stream plays the role of Kafka and ActiveMQ.

Spring Cloud Config

  • Config manages the configuration files of all microservices

  • The centralized configuration management tool is a unified external configuration management tool in distributed systems. By default, Git is used to store configuration, and it can support client configuration refresh, encryption, and decryption operations.

Spring Cloud Netflix(emphasis, these are the most used components)

  • Netflix OSS open source component integration, including Eureka, Hystrix, Ribbon, Feign, Zuul and other core components.
    • Eureka: Service governance component, including server-side registry and client-side service discovery mechanism;
    • Ribbon: Load balancing service invocation component with multiple load balancing invocation strategies
    • Hystrix: Service fault tolerant component that implements circuit breaker mode and provides fault tolerance for service-dependent errors and delays;
    • Feign: Declarative service invocation components based on the Ribbon and Hystrix;
    • Zuul: API gateway component that provides routing and filtering for requests.

I think SpringCloud is a boon to Netflix. It takes all of their components and encapsulates them so that developers can use them quickly, easily and safely

Spring Cloud Bus

  • A message bus for propagating cluster state changes, which links nodes in a distributed system using a lightweight message broker, can be used to dynamically refresh service configuration information in a cluster.
  • In simple terms, you modify the configuration file, send a request, and all clients re-read the configuration file.
    • The intermediate plug-in MQ is required

Spring Cloud Consul

  • Consul is an open source tool from HashiCorp for service discovery and configuration in distributed systems. Consul’s solution is more “one-stop” than other distributed service registration and discovery solutions, with built-in service registration and discovery framework, distributed consistency protocol implementation, health check, Key/Value storage, and multi-data center solution, eliminating the need to rely on other tools (such as ZooKeeper, etc.). It’s also easier to use. Consul is written in the Go language, making it naturally portable (Linux, Windows, and Mac OS X support); The installation package contains only one executable file for easy deployment and works seamlessly with lightweight containers such as Docker.

Spring Cloud Security

  • Safety kit, he can be on

    • Get the SSO token from the front-end to back-end service for load balancing in the Zuul proxy
    • Relay tokens between resource servers
    • Make the Feign client behave likeOAuth2RestTemplateInterceptor (to get tokens, etc.)
    • Configure downstream authentication in the Zuul proxy
  • Spring Cloud Security provides a set of primitives for building secure applications and services that are easy to use. Declarative models that can be heavily configured externally (or centrally) facilitate remote component systems for large collaborations, often with central identity management services. It is also very easy to use in service platforms such as Cloud Foundry. Based on Spring Boot and Spring Security OAuth2, you can quickly create systems that implement common patterns, such as single sign-on, token relay, and token exchange.

Spring Cloud Sleuth

  • In microservices, typically services are divided according to business modules, where the front end of a project initiates a request and the back end may complete the request across several service invocations (figure below). If the system becomes larger and larger, the relationship between invocation and invoked services will become very complicated. If a request needs to cross several service invocations, and one of the services fails due to network delay and other reasons, it will be very difficult for us to analyze the specific problem of which service. The Spring Cloud Sleuth service link tracing function can help us quickly find the root cause of errors and monitor and analyze the performance of each requested link.

Spring Cloud Stream

  • A lightweight event-driven microservice framework that can send and receive messages using a simple declarative model, mainly implemented as Apache Kafka and RabbitMQ.

Spring Cloud Task

  • The goal of the Spring Cloud Task is to provide the ability to create short-run microservices for Spring Boot applications. In Spring Cloud Tasks, we have the flexibility to run any Task dynamically, allocate resources on demand, and retrieve results when the Task is complete. Tasks is a basic project in Spring Cloud Data Flow that allows users to execute almost any Spring Boot application as a short-term task.

Spring Cloud Zookeeper

  • SpringCloud supports three registration methods Eureka, Consul(written in go), and zookeeper

  • Spring Cloud Zookeeper is a service governance component based on Apache Zookeeper.

Spring Cloud Gateway

  • The Spring Cloud Gateway is an official gateway developed by Spring based on Spring 5.0, Spring Boot2.0 and Project Reactor technologies. Spring Cloud Gateway aims to provide simple, effective and unified API route management for microservice architecture. As the Gateway in the Spring Cloud ecosystem, Spring Cloud Gateway aims to replace Netflix Zuul. It not only provides a unified routing mode, but also provides basic gateway functions based on Filer chain, such as security, monitoring/burying point, and traffic limiting.

Spring Cloud OpenFeign

  • Feign is a declarative Web services client. It makes it easier to write Web service clients. To use Feign, we can define the calling service method as an abstract method and store it locally with a few annotations. Instead of building the Http request ourselves, we can call the interface directly, but be careful that the calling method has exactly the same signature as the local abstract method.

Version relationships of Spring Cloud

  • Spring Cloud is an integrated project made up of many sub-projects, each with a different release rhythm. In order to manage the version dependencies between Spring Cloud and each of the subprojects, a checklist has been published containing the subproject versions corresponding to a Spring Cloud version. In order to avoid confusion between the Spring Cloud release number and the sub-project version number, Spring Cloud releases are named by name rather than version number. The names of these releases are the names of London Underground stations, and they correspond to the chronological order of releases in alphabetical order. For example, Angel is the first version, Brixton is the second version. When Spring Cloud releases have reached a critical mass or a major BUG has been resolved, a “service Releases “version, or SRX, is released, For example, Greenwich.SR2 is the second SRX release of Greenwich released by Spring Cloud. The latest version of Spring Cloud is Hoxton.

Mapping between Spring Cloud and SpringBoot versions

Spring Cloud Version SpringBoot Version
Hoxton X 2.2.
Greenwich X 2.1.
Finchley X 2.0.
Edgware X 1.5.
Dalston X 1.5.

The Spring Cloud corresponds to each sub-project version

  • Edgware.SR6: I understand it as the lowest version number

  • Greenwich.SR2: I understand it as the highest version number

  • Greenwich. Build-snapshot: A special version that specifies a copy of a current development progress. Unlike regular versions, new versions are submitted almost every day. If each version is submitted with a version number, isn’t the version number not enough?

Component Edgware.SR6 Greenwich.SR2 Greenwich.BUILD-SNAPSHOT
spring-cloud-aws 1. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-bus 1.3.4. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-cli 1.4.1. RELEASE . 2.0.0 RELEASE 2.0.1. BUILD – the SNAPSHOT
spring-cloud-commons 1.3.6. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-contract 1.2.7. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-config 1.4.7. RELEASE 2.1.3. RELEASE 2.1.4. The BUILD – the SNAPSHOT
spring-cloud-netflix 1.4.7. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-security 1. RELEASE 2.1.3. RELEASE 2.1.4. The BUILD – the SNAPSHOT
spring-cloud-cloudfoundry 1.1.3. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-consul 1.3.6. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-sleuth 1.3.6. RELEASE 2.1.1. RELEASE 2.1.2. BUILD – the SNAPSHOT
spring-cloud-stream Ditmars.SR5 Fishtown.SR3 Fishtown.BUILD-SNAPSHOT
spring-cloud-zookeeper 1.2.3. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-boot 1.5.21. RELEASE 2.1.5. RELEASE 2.1.8. BUILD – the SNAPSHOT
spring-cloud-task 1. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-vault 1.1.3. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-gateway 1.0.3. RELEASE 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-openfeign 2.1.2. RELEASE 2.1.3. BUILD – the SNAPSHOT
spring-cloud-function 1.0.2. RELEASE 2.0.2. RELEASE The 2.0.3. BUILD – the SNAPSHOT