Building blocks of the cloud and microservice applications

Spring Cloud is a building block for the cloud and microservice based on the application's architecture. It provides platform support for the Spring-based cloud-native application: microservices. Let's look at the building blocks required for the cloud-native services:

  • Platform support and IaaS: Access platform-specific information and services available for Cloud Foundry, AWS, and Heroku.
  • Microservices infrastructure: It provides useful services such as service discovery, configuration server, and monitoring. There are several based on other open source projects such as Netfilx OSS and HashiCorp's Consul.
  • Dynamic Cloud reconfiguration: You can create distributed configuration for the services. Spring Cloud Config provides a client and server approach for creating and serving distributed configurations across multiple applications and environments.
  • Cloud utilities: There are several cloud utilities provided by the Spring Cloud, such as Spring Cloud Security, CLI, and Cloud Stream. Spring Cloud Security is required for securing services and controlling access. And Spring Cloud Stream is required for messaging and event-based cloud applications. Spring Cloud CLI is being used to create applications rapidly in Groovy.
  • Data ingestion: This building block of the Spring Cloud is used for the data flow of microservices-based information pipelines. For example, Spring Cloud Data Flow and Spring Cloud Modules.
  • Uses Spring Boot style Starters: Spring Cloud is an extension of Spring Boot. So, the cloud-native application requires Spring Boot to work.

Let's look at the following diagram, which has all the building blocks of cloud and the microservice application:

As you can see in the preceding diagram, there are several sub-projects associated with Spring Cloud. Spring Cloud provides a solution for each cloud-native problem. Let's look at all the associated main projects of Spring Cloud:

  • Spring Cloud Config: External configuration management that is centralized and upheld by a Git repository. The configuration assets delineate to the Spring environment, however they could be utilized by non-Spring applications if you wanted.
  • Spring Cloud Bus: An event bus for connecting service instances and services together with distributed messaging. Helpful for spreading state changes over a group (for example: config change events).
  • Spring Cloud Netflix: Integrated and mixed with different Netflix OSS segments (Eureka, Hystrix, Zuul, Archaius, and so on).
  • Spring Cloud Cluster: It has stateful patterns and leadership election with an abstraction and usage for Zookeeper, Redis, Hazelcast, and Consul.
  • Spring Cloud Consul: Service disclosure and design administration with Hashicorp Consul.
  • Cloud Foundry: Incorporates your application with Cloud Foundry. Gives an implementation of a service, and makes it simple to execute SSO and OAuth2-secured assets, as well as to make a service of the Cloud Foundry broker.
  • Spring Cloud Foundry Service Broker: Gives a beginning stage to build a broker service that deals with a Cloud Foundry administrated service.
  • Spring Cloud Connectors: Makes it simple for PaaS applications in an assortment of stages to associate with backend running services such as databases and the message broker (the venture previously known as Spring Cloud).
  • Spring Cloud for Amazon Web Services: Simple mix with a host facilitated by Amazon Web Services. It gives a helpful method to collaborate with AWS' given services utilizing understood Spring idioms and APIs, for example, the messaging API. Coders can fabricate their application around the facilitated services without caring about foundation or support.
  • Spring Cloud Security: Offers help for stack-adjusted OAuth2 REST customer and authentication or confirmation header transfers in a Zuul proxy.
  • Spring Cloud Sleuth: Spring Cloud applications' distributed tracing, perfect with Zipkin, HTrace, and log-based (for example: ELK) following.
  • Spring Cloud Data Flow: A cloud-native arrangement service for microservice applications on present-day runtimes. Simple-to-utilize DSL, intuitive GUI, and REST-APIs together disentangle the general organization of microservice-based information pipelines.
  • Spring Cloud Stream: A small-size event-based microservices structure to rapidly assemble applications that can associate with outside frameworks. Basic revelatory model to send and get messages between Spring Boot applications utilizing Apache Kafka or RabbitMQ.
  • Stream App Starters in Spring Cloud: These are the Spring Boot Starters where S=starters. These are enhanced when used with external frameworks.
  • Spring Cloud Task: A fleeting microservices framework to rapidly fabricate applications that perform limited measures of information processing. Basic decisive for including both useful and non-useful highlights to Spring Boot applications.
  • Spring Cloud Zookeeper: Apache Zookeeper's service discovery and also configuration.
  • Spring Cloud Starters: Spring Boot-style Starter activities to simplify reliance administration for customers of Spring Cloud. (Ceased as an undertaking and converged with alternate ventures after Angel.SR2.)
  • Spring Cloud CLI: A plugin for Spring Boot for making Spring Cloud applications quickly in Groovy.
  • Spring Cloud Contract: It solves issues for developers where they need to have a customer-driven contracts method.
  • Spring Cloud Gateway: Spring Cloud Gateway is a keen and programmable switch in light of Project Reactor.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.217.147.193