首页 > 其他分享 >关于开发- springBoot 的中间件

关于开发- springBoot 的中间件

时间:2023-06-02 18:22:19浏览次数:26  
标签:降级 服务 springBoot Spring 中间件 开发 用于 推送

  1. 数据库中间件:主要用于存储和管理应用程序的数据。

  2. 消息队列中间件:主要用于异步处理任务、削峰填谷、分布式解耦等场景。

  3. 缓存中间件:主要用于提供快速的数据访问和响应能力,降低系统负载。

  4. 搜索引擎中间件:主要用于实现全文搜索、分析数据、大规模数据聚合等场景。

  5. 消息推送中间件:主要用于向手机 App 推送消息。

  6. 邮件发送中间件:主要用于邮件发送相关功能,例如注册验证、业务通知等。

  7. 日志框架:主要用于记录系统运行日志并进行可视化展示和分析,帮助诊断和排查问题。

  8. 熔断降级中间件:主要用于实现服务熔断和降级策略,避免服务雪崩和保证系统可用性。

  9. 容器化技术:主要用于实现微服务架构以及提高系统的可伸缩性和容错性。

  10. API 网关:主要用于统一接口入口、负载均衡、安全认证和限流控制等。

  11. 权限管理框架:主要用于实现身份验证和授权功能,保障系统安全。

在 Spring Boot 开发中,常用的中间件有以下几种:

  1. 数据库中间件:例如 MySQL、Oracle、PostgreSQL 等关系型数据库,以及 MongoDB、Redis 等非关系型数据库。

  2. 消息队列中间件:例如 RabbitMQ、Kafka、ActiveMQ 等,用于异步处理任务、削峰填谷、分布式解耦等场景。

  3. 缓存中间件:例如 Redis、Memcached 等,用于提供快速的数据访问和响应能力。

  4. 搜索引擎中间件:例如 Elasticsearch、Solr 等,用于实现全文搜索、分析数据、大规模数据聚合等场景。

  5. 消息推送中间件:例如 Firebase Cloud Messaging(FCM)、极光推送、个推等,用于手机 App 推送消息功能。

  6. 邮件发送中间件:例如 JavaMail、Apache Commons Email、Spring Mail 等,用于邮件发送相关功能。

  7. 日志框架:例如 Logback、Log4j2、Slf4j 等,用于记录系统运行日志并进行可视化展示和分析。

除了以上列出的中间件之外,还有一些其他的中间件和组件可以用于不同的场景,例如微服务开发中使用的容器化技术(Docker、Kubernetes 等)、

\API 网关(Zuul、Spring Cloud Gateway 等)、权限管理框架(Spring Security、Apache Shiro 等)等。

熔断降级也是常用的中间件之一,主要应用于分布式系统、微服务架构等场景中。常用的熔断器框架有 Netflix Hystrix、Resilience4j 等,它们可以监控服务请求异常率、响应时间等指标,并在达到一定阈值时触发断路器,从而避免服务雪崩效应。

同时,为了避免因服务故障或网络原因导致整体服务质量下降,还需要使用降级中间件来进行服务降级处理。一些流行的降级框架包括 Alibaba Sentinel、Spring Cloud Circuit Breaker 等,这些框架可以根据自定义条件实现服务降级和熔断,确保系统能够优雅地处理异常情况,提高服务的可用性和可靠性。

标签:降级,服务,springBoot,Spring,中间件,开发,用于,推送
From: https://www.cnblogs.com/origin-zy/p/17452653.html

相关文章

  • 用esp8266开发板制作WiFi Killer
    一、esp8266开发板获取【ESP8266串口wifi模块NodeMCULuaV3物联网开发板CH340】我是用的这个,某宝可购买,14元左右,这个是使用的CH340串口芯片的。还有一种在某宝上可以看到是使用的CP21x型号的芯片的,这里两种都可以的。二、安装驱动以自己的开发板上的串口芯片的型号为准,按需选......
  • 【web 开发】PHP8中对数组操作的新变化
    自动创建元素的顺序改变在PHP8中,引用赋值时,自动创建的数组元素或者对象属性的顺序和PHP7版本相比发生了变化,下面我们通过例子来体验下变化在哪里.<?php$array=[];$array['a']=&$array['b'];$array['b']=1;echo"\n";var_dump($array);?>执行结果如下:这个结果是PHP8......
  • springboot - 项目启动初始化数据
    1、redis配置依赖<!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>redisconfi......
  • SpringBoot大文件分片上传/多线程上传
    ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数下面直接贴代码吧,一些难懂的我大部分都加上注释了:上传文件实体类:看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。pub......
  • app开发公司哪家好?开发app为什么找app开发公司?
    开发app为什么找app开发公司?移动互联网时代已经开始,手机已经成为最重要的玩具",APP应用程序开发的这个大蛋糕也达到了井喷状态。对于企业来说,展示APP应用程序的开发,以前主要是通过网站展示,但现在,网站的入口太深,功能有限,开发APP已经成为最好的选择,开发APP全国最好的是广州的APP开发公......
  • 2023安卓逆向 -- JNI学习(从开发到反编译)
    一、新建nativeC++项目,填写好项目信息,一路下一步即可二、创建好项目,直接点击运行,出现下面界面,说明我们的环境都没有问题三、Java层调用java层函数1、新建一个JavaClass,命名为JavaFun2、编写java函数packagecom.example.jnitest;publicclassJavaFun{publicstaticStr......
  • sublime text 开发神器 之emmet 语法
    Emmet缩写语法 缩写语法Emmet使用类似于CSS选择器的语法描述元素在生成的文档树中的位置及其属性。元素可以使用元素名(如div或者p)来生成 HTML标签。Emmet没有预定义的有效元素名的集合,可以把任何单词当作标签来生成和使用:div → <div></div>, foo → <fo......
  • 全志科技A40i开发板——创龙科技TLA40i-EVM(4核ARM Cortex-A7)规格书
    1.评估板简介创龙科技TLA40i-EVM是一款基于全志科技A40i处理器设计的4核ARMCortex-A7高性能低功耗国产评估板,每核主频高达1.2GHz,由核心板和评估底板组成。评估板接口资源丰富,引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI......
  • springboot项目rabbitmq消费者消费json格式的String,出现无限循环抛出No method found
    转:springboot项目rabbitmq消费者消费json格式的String,出现无限循环抛出Nomethodfoundforclass[B     ......
  • 联发科MTK6853天玑720安卓核心板|5G AI 智能模块安卓主板开发板定制
    系统概述MT6853(联发科技天玑720)平台是工业级高性能、可运行android11.0操作系统的5GAI智能模块,支持NR-SA/NR-NSA/LTE-FDD(CAT-18)/LTE-TDD(CAT-18)/WCDMA/TDSCDMA/EVDO/CDMA/GSM等多种制式;支持WiFi5802.11a/b/g/n/ac,BTv2.1+EDR,3.0+HS,v4.1+HS,V5.1,支持Beidou......