Springcloud Learning Components and concepts

Source: Internet
Author: User
Tags config web services zookeeper

One: What is microservices (microservice)

MicroServices Architecture is a new technology for deploying applications and services in the cloud. Much of the debate around MicroServices is focused on whether containers or other technologies can implement microservices well, and red Hat says the API should be the focus.

MicroServices can run in "own programs" and communicate through "lightweight devices and HTTP-type APIs." The point is that the service can run in its own program. With this we can differentiate the service exposure from the microservices architecture, which distributes an API in an existing system. In service disclosure, many services can be limited by internal independent processes. If any of these services need to add some functionality, the process scope must be narrowed. In a microservices architecture, you only need to add the required functionality to a particular service without affecting the overall process.

MicroServices English Name Microservice,microservice schema mode is to organize the entire Web application into a series of small Web services. These small Web services can be compiled and deployed independently, and communicate with each other through their exposed API interfaces. They work together to provide functionality to the user as a whole, but can be expanded independently.

features or usage scenarios required by the MicroServices architecture

1: We divide the whole system into several subsystems according to the business.

2: Each subsystem can deploy multiple applications, using load balancing across multiple applications.

3: A service registry is required, all services are registered in the registry, and load balancing is achieved by using a certain policy through the services registered in the registry.

4: All clients access the backend service through the same gateway address, through the routing configuration, the gateway to determine which service a URL request is handled by. Load balancing is also used when the request is forwarded to the service.

5: Services sometimes require mutual access. For example, there is a user module, the other services in the processing of some business, to obtain user data of customer service.

6: A circuit breaker is required to handle time-outs and errors in service invocation, preventing the overall system from being paralysed due to one of the service's problems.

7: A monitoring function is also required to monitor the time spent on each service invocation.

The current mainstream micro-service framework: Dubbo, Springcloud, Thrift, Hessian, and so on, most of the domestic small and medium-sized enterprises are Dubbo,springcloud estimates are very few, perhaps some development students have not heard of.

II: Springcloud Project Introduction

Springcloud is a springboot-based framework for implementing microservices. He provides components such as configuration management, service discovery, circuit breakers, intelligent routing, micro-proxies, control buses, global locks, decision-making campaigns, distributed sessions, and cluster state management required for micro-service development. Most importantly, working with the Spring boot framework will make it very convenient for you to develop a cloud service for your microservices architecture.

Springboot is designed to streamline the creation of product-level Spring applications and services, simplifies configuration files, uses embedded Web servers, and includes many out-of-the-box microservices capabilities

Related Component architecture diagram


Spring Cloud sub-projects include:

Spring Cloud Config: The Configuration Management Development Kit lets you put your configuration on a remote server that currently supports local storage, git, and subversion.

Spring Cloud Bus: event, message bus, used to propagate state changes in a cluster (for example, configuration change events), which can be combined with Spring Cloud Config for hot deployment.

Spring Cloud Netflix: Development kits for a variety of Netflix components, including Eureka, Hystrix, Zuul, Archaius, and more.

Netflix Eureka: Load balancing in the cloud, a REST-based service for locating services to enable load balancing in the cloud and failover of middle-tier servers.

Netflix hystrix: Fault-tolerant management tools designed to provide greater fault tolerance for latency and failures by controlling the nodes of services and third-party libraries.

Netflix Zuul: Edge Service tool that provides dynamic routing, monitoring, resiliency, security and other edge services.

Netflix Archaius: The Configuration Management API, which includes a series of configuration management APIs that provide dynamic typed properties, thread-safe configuration operations, polling frameworks, callback mechanisms, and more.

Spring Cloud for Cloud Foundry: The OAUTH2 Protocol binding service to Cloudfoundry,cloudfoundry is the open source PAAs cloud platform that VMware has launched.

Spring Cloud Sleuth: A Log collection toolkit that encapsulates Dapper,zipkin and htrace operations.

Spring Cloud Data Flow: The Big Data manipulation tool that operates data streams from the command line.

Spring CloudSecurity: Safety Toolkit, which adds security controls to your application, mainly refers to OAuth2.

Spring Cloud Consul: Encapsulates the Consul operation, Consul is a service discovery and configuration tool that can be seamlessly integrated with Docker containers.

Spring Cloud Zookeeper: A toolkit for manipulating Zookeeper for service registration and discovery using Zookeeper methods.

Spring Cloud Stream: A data flow Operation development package that encapsulates a send receive message with Redis,rabbit, Kafka, and so on.

Spring Cloud CLI: Based on the spring Boot CLI, allows you to quickly build cloud components in a command-line manner

features

Spring Cloud is focused on providing a good out-of-the-box experience with typical use cases and extensibility mechanisms covered. Distributed/versioned Configuration service registration and Discovery routing Service-to-service call load Balancing circuit breaker distributed messaging

Springcloud features

1: Convention is better than configuration

2: Off-the-box, quick Start

3: Suitable for various environments

4: Lightweight Components

5: Rich component support, full function

Next blog Spring Cloud Learning (i) Building MicroServices Architecture: Service Registration and Discovery (Eureka)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.