一、基础
(一)、特点:
1、Spring Boot基础实现:
基于 Spring Boot 实现的微服务框架
Spring Boot 思想进行再封装
2、Spring Cloud服务管理
Spring Cloud 专注于全局微服务的协调和治理工作
Spring Cloud 微服务大管家
微服务系统、分布式微服务架构
一站式解决方案、构建分布式微服务系统“全家桶”
一系列微服务解决方案或框架的有序集合
(二)组件/功能
1、第一代实现:Spring Cloud Netflix
1. Eureka:发现了、心跳
全称:Spring Cloud Netflix Eureka
功能:服务治理、服务注册中心、服务注册与发现功能
架构:客户端/服务器——C/S架构
子组件:两者有心跳30s
Eureka Server:Eureka 服务注册中心
Eureka Client:Eureka 客户端
Eureka 服务注册与发现:
服务注册中心(Register Service):Eureka Server
服务提供者(Provider Service):Eureka Client
服务消费者(Consumer Service):Eureka Client
流程:
1. 搭建 Eureka Server 服务注册中心
2. 服务提供者 Eureka Client 启动把服务器信息以服务名(spring.application.name)方式注册到服务注册中心
3. 服务消费者 Eureka Client 启动时向服务注册中心注册
4. 服务消费者获取1份可用服务列表、列表中包含所有注册到服务注册中心的服务信息(包括服务提供者和自身信息)
5. 获得可用服务列表后服务消费者通过 HTTP 或消息中间件远程调用服务提供者提供的服务
2. Ribbon——Spring Cloud Netflix Ribbon
服务调用、客户端负载均衡
3. Feign——Spring Cloud Netflix Feign
声明式服务调用
4. Hystrix——Spring Cloud Netflix Hystrix
豪猪哥:熔断器、容错管理组、服务现延迟和故障提供容错
5. Zuul——Spring Cloud Netflix Zuul
网关:服务网关、智能路由、访问过滤
6. Gateway——Spring Cloud Gateway
Filter 链网关:安全、监控/指标、限流
7. Config——Spring Cloud Config
配置管理:Git 存储配置内容、应用配置外部化存储、客户端对配置进行刷新、加密、解密
8. Bus——Spring Cloud Bus
事件/消息总线:集群中传播事件或状态变化、触发后续的处理、动态刷新配置
9. Stream——Spring Cloud Stream
消息中间件:集成 Apache Kafka 和 RabbitMQ
通过定义绑定器作为中间层
完美实现应用程序与消息中间件之间的隔离
通过向应用程序暴露统一的 Channel 通道
使应用程序不需考虑各种不同消息中间件实现
轻松地发送和接收消息
10. Sleuth——Spring Cloud Sleuth
分布式链路跟踪:完美的整合 Twitter 的 Zipkin
2、第二代实现:Spring Cloud Alibaba
Nacos、Sentinel、Seata
(三)Java 微服务框架
Spring Cloud:基于 REST 服务构建服务
Dropwizard:开发高性能和 Restful 的 Web 服务
Restlet: 遵循 RST 架构风格
Spark:Java 8 和 Kotlin 创建微服务架构应用程序
Dubbo:阿里巴巴开源分布式服务治理框架
二、工作流程
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/75300.html