目前实现分布式服务架构的主流实现方式有:
①Dubbo+zookeeper
②SpringBoot+Cloud
这两种技术都可以将功能服务分散到不同服务器部署,然后实现服务间通信(调用)。
请求-->处理1-->处理2-->响应。意思可以将处理1和处理2做成独立服务分开部署,然后再进行RPC(Dubbo)或HTTP请求和响应模式(Cloud)交互。
Dubbo和Cloud的区别如下:
①Dubbo和Cloud服务调用机制不同,一个RPC、一个HTTP请求响应
②Dubbo一般和zookeeper结合管理服务,Cloud内置集成Eureka管理服务
③Cloud提供一套服务管理的完整方案、Dubbo需要跟其他技术集成使用。
④Cloud仅用于Rest服务管理、Dubbo是将组件服务化管理
Spring Cloud
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。
- Spring Cloud Netflix
是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。
- Spring Cloud Config
将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件
- Spring Cloud Bus
分布式消息队列,是对Kafka, MQ的封装
- Spring Cloud Security
对Spring Security的封装,并能配合Netflix使用
- Spring Cloud Zookeeper
对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用
-
Spring Cloud Eureka
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能。