What you read in this article:
Spring Cloud Version
Getting Started with Spring Cloud Version
I’m Arsalan Mirbozorgi;
Spring Cloud Version is a module in a distributed environment that provides developers tools to quickly build some common patterns like service discovery, configuration management, control bus, global locks, etc. It aids in the rapid development of Spring-based applications. Thanks to Spring Cloud, developers can quickly build Spring applications with a cloud-based framework that works well in a distributed environment. The first step in using Spring Cloud in any Spring project is to determine which version of Spring Cloud is compatible with the Spring boot.
Various Spring Cloud Versions
Developers need to be aware of the Spring cloud version‘s compatibility with the specific Spring boot version in order to use it in a given project.
Dalston
Changes made in this Spring Cloud release include the following:
- Since the Config server now supports multiple backends via the composite pattern, it now supports various backends such as git or vault that were previously unavailable.
- This release adds context propagation for a wide range of uses.
- For example, to Sleuth, which allows arbitrary attributes such as HTTP, messages to be passed through boundaries.
- The addition of logs and tags works well with a wide range of frameworks.
- It is now possible to remove the zombie services from Spring Cloud Consul.
- The JSON data has been fixed for a variety of reasons.
- The documentation for the Config properties and endpoints has undergone significant revisions.
Edgware
The Edgware version of Spring Cloud has several notable updates:
- Support for RestTemplateBuilder was added in this release.
- Using ‘UserInfoRestTemplate’, a retry has been added.
- This release saw the addition of a custom WireMock extension.
- A completely new feature has been added that permits you to export the mapping to a file.
- This release includes a new authentication method for Kubernetes users.
- JDBC ‘ENvironmentRepository’ was added.
- SSH git port and proxy host can now be configured.
- Contract DSL has added cookie support.
- Porting SpanTag to 1.3.x has been fixed
- GenericResourceRepository has been cleaned up of a number of invalid paths.
- This release includes basic support for RestDocs and XML.
Finchley
The following are some of the most significant updates in Spring Cloud’s Finchley release:
- Spring Cloud Gateway and Spring Cloud Portfolio were added to the Spring Cloud in this release.
- This release added builder support.
- An early problem with bean initialization was fixed.
- The AWS X-Ray service has been added.
- This release includes Apache HTTP client support.
- Addition of OpenTracing support.
- The ability to bypass SSL validation was provided for Git and Vault backends.
- In this release, Retry’s functionality has been streamlined.
- The RestDocs now have RestAssured support.
- The developers added helper methods for the HTTP statuses.
- Support for encoder, decoder and contract in Feign configuration properties has been added.
- As of this release, the @Scheduled property on Consul watches is no longer valid.
- The AWS Parameter Store has been added to the PropertySource Locators support list.
Greenwich
- The Spring Cloud Greenwich version had a total of five major releases. The last time it was released was on May 15, 2020. This was the final Spring Cloud release that supported Spring Boot 2.1.x.
- The following is a list of the primary changes in this release:
- Spring Cloud GCP and Spring Cloud Kubernetes are two brand new projects that were added to bring integration with the Kubernetes and Google Cloud Platform for developers.
- At various points in the software, various timeouts and exceptions were dealt with.
- In the previous releases, some configurations and properties were left exposed.
- Improvements were made to the documentation for the Config property.
- A new version of Ribbon and Eureka were released.
- In order to provide a maximum response via HTTP Header Size on the HTTP client, this feature was made available.
- A problem with CatchingRoutelocator has been resolved
- The RouteLocator can now be overridden.
- The ability to use trusted certificates has been added.
- A lot more information about the SC Loadbalancer has been added to the documentation.
- The problem with using the deploy file to upload the artifactory’s zipped documentation has been resolved.
- The configuration of the Spring Cloud Load Balancer has been made easier for the user.
Hoxton
Many changes were made to the Hoxton version of Spring Cloud within a month of each other. On November 9, 2020, Hoxton was released for the first time. For the most part, this is considered a bug-fix release of Spring Cloud.
The following is a list of the primary changes in this release:
- In order to reach this milestone, Spring Boot 2.2.5 was used.
- KeyStoreTestEncryptorLocator performance issues have been resolved.
- Support for Spring Cloud’s LoadBalancer has been added to StubRunner.
- Instance health checks were added to Spring Cloud LoadBalancer.
- There are no longer any endpoints that can be used to write to, such as “env.” Manually enabling it is the only way to get it working again.
- Circuit breakers can now be pre-created and customized by the developers.
- The developers improved the ‘RetryFilter’ in a number of ways.
- More than a dozen Spring Cloud-related modules were updated as part of the Hoxton release, including Spring Cloud Config and Contract.
Ilford (2020.0)
- In this version of Spring Cloud, the following major changes have been made:
- The Spring Consul solved the problem of using tags as data.
- Spring-cloud-stream is an optional dependency for spring-cloud-bus. If the binder is not Kafka or rabbitmq, spring-cloud-starter-bus-stream must be included in the project.
- Spring-cloud-bus has been replaced by spring-cloud-function in its implementation, which no longer relies on legacy annotation-driven models.
- No longer a part of the Spring Cloud release train is the GCP version of Spring Cloud
- Updates have been made to a number of Actuator endpoints, including bus refresh, bus env, and service registry.
- Previously, the Spring Cloud Config Client Health Indicator property was set to false, but this has now been changed.
- The Bootstrap provided by spring-cloud-commons is no longer enabled by default in the earlier versions.
- Instead of using tags as metadata, Consul Service Metadata was added.
Conclusion
It’s clear from the above description that Spring Cloud has a number of different options. New features and major changes are regularly being added to Spring Cloud through multiple releases of Spring Cloud versions. Even though Spring Cloud no longer supports them, it’s still possible to use Dalston, Edgware, and Finchley. Before using Spring Cloud in a Spring project, the programmer should familiarize themselves with its version history.