First, micro Services Architecture
Micro core service of the application is the traditional stop, according to a split into a service business, completely decoupling, each micro-service function service providing a single service, a service do one thing, from a technical a small point of view that is independent of the process, the process is similar to the concept, can start on its own or destroyed separately, they have their own independent database.
Second, micro-services technology stack
Micro service entry | Floor technology |
---|---|
Service Development | Springboot 、Spring 、SpringMVC |
Service configuration and management | Netflix's Archaius , Ali Diamond , etc. |
Service registration and discovery | Eureka , Consul , Zookeeper Etc. |
Service call | Rest 、RPC 、gRPC |
Service fuse | Hystrix , Envoy Etc. |
Load Balancing | Ribbon , Nginx Etc. |
Service interface calls (simplified tool client calls service) | Feign Wait |
message queue | Kafka , RabbitMQ , ActiveMQ Etc. |
Configuration Management Service Center | SpringCloudConfig , Chef Etc. |
Service Routing (API Gateway) | Zuul Wait |
Service Monitoring | Zabbix , Nagios , Metrics , Spectator Etc. |
Full Link Trace | Zipkin , Brave , Dapper Etc. |
Service Deployment | Docker , OpenStack , Kubernetes Etc. |
Dataflow operations Development Kit | SpringCloud Stream (Packaging and Redis , Rabbit , Kafka and other sending and receiving messages) |
Event message bus | Spring Cloud Bus |
Three, SpringCloud Profile
SpringCloud
Based on SpringBoot
providing a set of micro-services solutions, including registration and service discovery, configuration center, full-link monitoring, service gateway, load balancing, fuses and other components, in addition based on NetFlix
open source components of the package do highly abstract, but also there are some neutral selection of open source components.
SpringCloud
Use SpringBoot
development convenience cleverly simplifies the development of distributed infrastructure systems, SpringCloud
provides tools to quickly build distributed systems for developers, including configuration management, service discovery, circuit breakers, routing, micro broker, event bus, global lock, decision-making campaign, distributed session and so on, they can use SpringBoot
a style of development to achieve a key to start and deploy.
SpringCloud
Not reinventing the wheel, it just will present each company developed more mature, and can withstand the test of actual service framework combined by SpringBoot
re-packaging masked a complex configuration and implementation of the principles of style, and ultimately to the developers to stay a set of easy to understand, easy to deploy and easy maintenance of distributed systems development kit
The relationship SpringCloud and SpringBoot
SpringBoot
Focus on quick and easy development of a single individual micro-services.
SpringCloud
Is concerned about the global micro coordination of services finishing governance framework, it SpringBoot
developed a micro-mer service integration and management together
to provide services between the various micro, configuration management, service discovery, circuit breakers, routing, micro broker, events bus, global lock, decision-making campaign, distributed session etc. integration services
SpringBoot
You can leave SpringCloud
the independent use development project, but SpringCloud
can not do without SpringBoot
, belongs dependent relationship.