Home >Java >javaTutorial >What is Spring Cloud
Spring Cloud is a microservices framework. Spring Cloud provides a complete set of distributed system solutions, which not only encapsulates multiple open source components of the microservice basic framework Netflix, but also integrates with the cloud platform and the Spring Boot development framework.
#This article will introduce Spring Cloud definition functions, etc. I hope it will be helpful to everyone.
Recommended course: Java Tutorial.
Spring Cloud is a microservice framework. Compared with RPC frameworks such as Dubbo, Spring Cloud provides a complete set of distributed system solutions.
Spring Cloud encapsulates multiple open source components of the microservices basic framework Netflix, and at the same time achieves integration with the cloud platform and the Spring Boot development framework.
Spring Cloud involves configuration management, service governance, circuit breaker mechanism, intelligent routing, micro-agent, control bus, one-time token, global consistency lock, leader election, and distribution for the development of microservice architecture. Operations such as session and cluster state management provide a simple development method.
Spring Cloud provides developers with tools to quickly build distributed systems. Developers can quickly start services or build applications, and can quickly connect to cloud platform resources.
The location of Spring Cloud project
Sping Cloud is a top-level project of Spring , the list of Spring's top projects is as follows:
Spring IO platform: used for system deployment, integrable, and a version platform for building modern applications. Specifically, when you use maven dependency to introduce the spring jar package, it At work.
Spring Boot: Designed to simplify the creation of product-level Spring applications and services, simplifying configuration files, using embedded web servers, and containing many out-of-the-box microservice functions. Deployed jointly with spring cloud.
Spring Framework: Commonly known as the spring framework, it is an open source Java/Java EE full-featured stack application framework. Other spring projects such as spring boot also rely on this framework.
Spring Cloud: Microservice toolkit provides developers with development tools such as configuration management, service discovery, circuit breakers, intelligent routing, micro-agents, and control buses in distributed systems. Bag.
Spring XD: It is a runtime environment (server software, not development framework) that combines spring technologies, such as spring batch, spring boot, and spring data, to collect and process big data.
Spring Data: It is a data access and operation toolkit that encapsulates many kinds of data and database access related technologies, including: jdbc, Redis, MongoDB, Neo4j wait.
Spring Batch: Batch processing framework, or batch task execution manager, with functions including task scheduling, logging/tracking, etc.
Spring Security: It is a security framework that can provide declarative security access control solutions for Spring-based enterprise application systems.
Spring Integration: A programming framework for enterprise application integration (EAI/ESB). Supported communication methods include HTTP, FTP, TCP/UDP, JMS, RabbitMQ, Email, etc.
Spring Social: A set of toolkits and a set of APIs to connect social services, such as Twitter, Facebook, LinkedIn, GitHub, etc., there are dozens of them.
Spring AMQP: A toolkit for message queue operations, which mainly encapsulates RabbitMQ operations.
Spring HATEOAS: is a development library used to support the implementation of hypertext-driven REST web services.
Spring Mobile: It is an extension of Spring MVC, used to simplify Web application development on mobile phones.
Spring for Android: It is an extension of the Spring framework. Its main purpose is to simplify the development of Android local applications and provide RestTemplate to access Rest services.
Spring Web Flow: The goal is to become the best solution for managing web application page processes. The page jump process can be managed separately and configurable.
Spring LDAP: It is a Java toolkit for operating LDAP, based on Spring's JdbcTemplate mode, simplifying LDAP access.
Spring Session: A development toolkit for session management that allows you to save sessions to redis, etc., for clustered session management.
Spring Web Services: It is a Spring-based Web service framework that provides SOAP service development and allows the creation of Web services in a variety of ways.
Spring Shell: Provides an interactive Shell that allows you to use a simple Spring-based programming model to develop commands, such as Spring Roo commands.
Spring Roo: It is an auxiliary tool for Spring development. It uses command line operations to generate automation projects. The operation is very similar to Rails.
Spring Scala: An encapsulation of the spring framework provided for Scala language programming (a new programming language, Scala for the Java platform was released in late 2003/early 2004).
Spring BlazeDS Integration: An RIA development toolkit that can integrate Adobe Flex, BlazeDS, Spring and Java technologies to create RIA.
Spring Loaded: An open source tool for hot deployment of Java programs and web applications.
Spring REST Shell: You can call the command line tool of the Rest service and type the command line to operate the Rest service.
3. Spring Cloud sub-projects
Spring Cloud contains many sub-projects, such as:
Spring Cloud Config: configuration management tool, supports the use of Git to store configuration content, supports External storage of application configuration, supporting client configuration information refresh, encryption and decryption of configuration content, etc.
Spring Cloud Bus: event, message bus, used to propagate state changes in the cluster (for example, configuration change events), Can be combined with Spring Cloud Config to implement hot part Department.
Spring Cloud Netflix: Development toolkit provided for various Netflix components, including Eureka, Hystrix, Zuul, Archaius, etc.
Netflix Eureka: A service governance component based on rest service, including the implementation of service registration center, service registration and service discovery mechanism, realizing cloud load balancing and middle-tier server failover.
Netflix Hystrix: A fault-tolerant management tool that implements the circuit breaker mode and provides stronger fault tolerance for delays and failures by controlling service nodes.
Netflix Ribbon: The service calling component of client load balancing.
Netflix Feign: Declarative service calling component based on Ribbon and Hystrix.
Netflix Zuul: Microservice gateway, providing dynamic routing, access filtering and other services.
Netflix Archaius: Configuration management API, including a series of configuration management APIs, providing dynamic typed properties, thread-safe configuration operations, polling framework, callback mechanism and other functions.
Spring Cloud for Cloud Foundry: Bind services to CloudFoundry through the Oauth2 protocol. CloudFoundry is an open source PaaS cloud platform launched by VMware.
Spring Cloud Sleuth: Log collection toolkit, encapsulating Dapper, Zipkin and HTrace operations.
Spring Cloud Data Flow: A big data operation tool that operates data flows through the command line.
Spring Cloud Security: Security toolkit to add security controls to your applications, mainly OAuth2.
Spring Cloud Consul: Encapsulates Consul operations. Consul is a service discovery and configuration tool that can be seamlessly integrated with Docker containers.
Spring Cloud Zookeeper: A toolkit for operating Zookeeper, used for service registration and discovery using zookeeper.
Spring Cloud Stream: Data stream operation development package, which encapsulates sending and receiving messages with Redis, Rabbit, Kafka, etc.
Spring Cloud CLI: Based on Spring Boot CLI, you can quickly create it through the command line
The above is the detailed content of What is Spring Cloud. For more information, please follow other related articles on the PHP Chinese website!