国内首个!支持阻塞式和响应式融合的微服务

科技菜鸟很高能 2024-07-13 06:05:14
真正的大师,永远都怀着一颗学徒的心!

一、项目简介

国内首个!支持阻塞式和响应式融合的微服务

二、实现功能

持久层框架

在现代微服务架构中,选择合适的持久层框架至关重要,可以根据具体场景选择适合的框架。在你提到的架构中,使用了两种主流的持久化解决方案:

Spring Data JPA

简介:Spring Data JPA 是 Spring Data 项目的一部分,简化了使用 JPA 技术访问数据库的开发。

优点:提供了基于接口的编程模型,可以大大简化数据访问层(DAO)的编写,支持自动生成常见的查询方法。

适用场景:适合需要快速开发、简化 CRUD 操作的场景,尤其是对于单表操作和复杂查询的支持较好。

MyBatis Plus

简介:MyBatis Plus 是 MyBatis 的增强工具包,简化了 MyBatis 的使用,提供了更强大的 CRUD 功能和代码生成能力。

优点:灵活性强,可以使用注解或 XML 进行 SQL 编写,支持动态 SQL、条件构造器等功能,适合对 SQL 有较高要求的场景。

适用场景:适合需要对 SQL 有精细控制、复杂业务场景下的数据访问。

API 网关

API 网关作为微服务架构中的入口,负责路由、安全、监控等功能,你选择了:

Spring Cloud Gateway

简介:Spring Cloud Gateway 基于 Spring Framework 5、Project Reactor 和 Spring Boot 2,是 Spring Cloud 生态中的 API 网关解决方案。

优点:基于响应式编程模型,性能较高,支持动态路由、断路器、限流等功能,可以与 Spring Cloud 生态完美集成。

服务注册&发现和配置中心

服务注册、发现和配置中心对于微服务架构来说至关重要,你选择了:

Alibaba Nacos

简介:Alibaba Nacos 是一款开源的服务发现、配置管理和服务管理平台。

优点:支持动态服务发现、服务健康监测、动态配置管理等功能,是阿里巴巴自己内部使用的服务注册和配置中心。

Tencent Polaris

简介:Tencent Polaris 是腾讯开源的微服务框架,其中包括服务注册中心和配置中心。

优点:适合与腾讯云服务深度集成,提供了可靠的服务注册和配置管理功能。

服务消费

在微服务架构中,服务之间的通信非常重要,你选择了多种方式进行服务消费:

Spring Cloud OpenFeign

简介:Spring Cloud OpenFeign 是基于 Netflix Feign 开发的声明式服务调用客户端。

优点:通过简单的接口声明和注解,实现服务的远程调用,支持负载均衡、服务熔断等功能。

RestTemplate

简介:Spring 的 RestTemplate 是一个简单便捷的 HTTP 客户端工具。

优点:适合传统的 RESTful 服务调用,使用方便,支持各种 HTTP 方法和消息转换。

OkHttp

简介:OkHttp 是一个高效的 HTTP 客户端库,支持 HTTP/2 和连接池等特性。

优点:性能优越,适合需要对 HTTP 请求进行细粒度控制的场景。

负载均衡

负载均衡是确保微服务系统稳定性和性能的关键组成部分,你选择了:

Spring Cloud Loadbalancer

简介:Spring Cloud Loadbalancer 是 Spring Cloud 中用于客户端负载均衡的组件。

优点:基于 Reactor 和 WebClient,支持动态负载均衡、服务发现等功能。

服务熔断&降级&限流

为了保证微服务系统的可用性和稳定性,你选择了:

Alibaba Sentinel

简介:Alibaba Sentinel 是一款开源的流量控制和服务熔断降级框架。

优点:支持实时的流量控制、熔断降级、系统自适应保护等功能,可以有效防止服务雪崩。

Tencent Polaris

简介:Tencent Polaris 提供了类似的流量控制和服务熔断降级功能,适合与腾讯云服务深度集成。

服务监控

监控是保障微服务系统健康的重要手段,你选择了:

Spring Boot Admin

简介:Spring Boot Admin 是一个用于监控 Spring Boot 应用程序的开源项目。

优点:提供了可视化的监控界面,包括应用状态、健康状况、内存使用等指标。

消息队列

在微服务架构中,消息队列用于异步通信和解耦服务,你选择了:

Spring Cloud 消息总线

简介:Spring Cloud Bus 是 Spring Cloud 的一个扩展,用于消息在分布式系统中传播。

适配:默认支持 Kafka,也可以适配 RabbitMQ 等消息中间件。

链路跟踪

链路跟踪帮助理解服务之间的调用关系和性能瓶颈,你选择了:

Skywalking

简介:Apache Skywalking 是一个开源的分布式系统性能监控工具。

优点:支持分布式链路跟踪、性能指标监控、报警等功能,适合大规模微服务架构的监控需求。

分布式事务

在微服务架构中,保证分布式事务的一致性是挑战之一,你选择了:

Seata

简介:Seata 是阿里巴巴开源的分布式事务解决方案。

优点:支持分布式事务、数据一致性、故障恢复等功能,集成简单,适合高并发场景。

数据缓存

缓存是提升系统性能的重要手段,你选择了:

JetCache

简介:JetCache 是一个基于注解的 Java 缓存解决方案,支持多级缓存策略。

优点:结合 Redis 和 Caffeine,支持缓存雪崩、缓存穿透等场景,提升系统性能和稳定性。

数据库

你的系统支持多种数据库,包括:

PostgreSQL:支持复杂数据模型和事务处理。

MySQL:传统的关系型数据库,广泛应用于 Web 应用。

Oracle:适合大型企业级应用,支持复杂的数据处理和高可用性要求。

JSON 序列化

JSON 序列化是在微服务中常用的数据传输格式,你选择了:

Jackson:Spring Boot 默认使用的 JSON 序列化库,稳定性和性能都很好。

FastJson:阿里巴

三、技术选型

SpringBoot

springcloud

websocket

vue

四、界面展示

五、源码地址

私信回复:56

0 阅读:0

科技菜鸟很高能

简介:感谢大家的关注