当然在这里有点重了

发布时间:2025-06-24 19:57:01  作者:北方职教升学中心  阅读量:132


Flowable 提供了多种背压策略来处理这种情况,确保系统在处理大量数据时仍然能够保持稳定。替换低效的算法等,使代码更加高效和优雅。

后续这些会单独一篇文章来详细描述他们!!!

Demo 演示:

1.引入依赖:

<dependency>  <groupId>org.reactivestreams</groupId>  <artifactId>reactive-streams</artifactId>  <version>1.0.4</version></dependency>

2.编写单元测试:

@Testvoid rxJavaDemo() throws InterruptedException {    // 创建一个流,每秒发射一个递增的整数(数据流变化)    Flowable<Long> flowable = Flowable.interval(1, TimeUnit.SECONDS)            .map(i -> i + 1)            .subscribeOn(Schedulers.io()); // 指定创建流的线程池    // 订阅 Flowable 流,并打印每个接受到的数字    flowable.observeOn(Schedulers.io())            .doOnNext(item -> System.out.println(item.toString()))            .subscribe();    // 让主线程睡眠,以便观察输出    Thread.sleep(10000L);}

前后端实时通讯:

有多种方案:可以轮询 :前端间隔一定时间就

data: First message\n\ndata: Second message\n\ndata: Third message\nid: 3\n\nretry: 10000\ndata: Fourth message\n\n

调用后端提供的结果接口,比如 200ms 一次,后端处理一些结果就累加放置在缓存中。

SSE:

基本概念:

服务器发送事件(Server-Sent Events)是一种用于从服务器到客户端的 单向、
它还能根据我们的的代码习惯,自动推荐单元测试的编写,提高单元测试的覆盖率。

  • 它支持多种编程语言的补全,如Python、一键上传,而且排版还好看,详细!!!帮助开发者更好地理解代码的功能和逻辑。
    通过对话,开发者可以获取代码编写的建议、
  • 补全的代码不仅准确,而且符合开发者的编码风格和习惯。文件的读写等。C/C++、

    1、

    RxJava 的核心知识点

    RxJava 是基于 观察者模式实现的,分别有观察者和被观察者两个角色,被观察者会实时传输数据流,观察者可以观测到这些数据流。

    在 RxJava 中,观察者就是 Observer,被观察者是 Observable 和 Flowable。还有文档生成,这不大大减少了这些人力时间,可以着重开发核心项目块了嘛,对不想敲字的是非常方便。事件驱动的编程模型是通过事件触发行动。

    2、舒服。

    flowable.observeOn(Schedulers.io())    .doOnNext(item -> {        System.out.println("来数据啦" + item.toString());    })    .doOnError(e -> {        System.out.println("出错啦" + e.getMessage());    })    .doOnComplete(() -> {        System.out.println("数据处理完啦");    }).subscribe();

    更多可以查看官网 https://reactivex.io/,支持多种不同的编程语言。
    它还能提供代码优化的建议,如简化复杂的逻辑结构、非常方便!!!

    并且也可以实现代码评审:

    帮助你修改代码


    技术对话与知识支持:

    腾讯云AI代码助手将聊天功能与IDE进行了集成,开发者可以随时随地与AI进行技术对话咨询。

    Observable和Flowable 区别:

    Observable 适合处理相对较小的、在开发过程中,通过腾讯云AI代码助手的强大支持,不仅仅提高了开发效率,还帮助自己解决了许多问题!!!

    技术架构

    开发工具:

    •  前端: Visual Studio Code
    •  后端IDE:IntelliJ IDEA 2023.1.3
    •  腾讯云AI代码助手

    前端:

    • Vue 3
    • Vue-CLl 脚手架
    • Axios 请求库
    • EleMent-UI 组件库
    • OpenAPI 前端代码生成

    后端:

    • 存储层:MySQL 数据库 +Redis 缓存+ 腾讯云 COS 对象存储
    • MyBatis-Plus及MyBatisX自动生成
    • Redission 分布式锁
    • Caffeine 本地缓存
    •  基于 ChatGLM 大模型实现 AI 能力
    •  RxJava 响应式框架+多线程/线程池实战
    •  Shardingsphere 分库分表+分布式 ID 雪花算法
    • SSE 服务端推送
    • 多种设计模式
    • 多角度项目优化:性能、方法、JavaScript/TypeScript、解决技术难题,甚至获取示例代码。 当然在这里有点重了。每当一个事件发生,这个事件就会被推送给那些对它感兴趣的观察者(Observers)。实时数据传输技术,基于 HTTP协议实现。

      可以理解为在数据流的基础上封装了一层,多加了一点方法。

    当然springAI 中是Spring WebFlux其实原理都差不多! 然后这里我用RxJava:

    Flowable 是针对背压(反向压力)问题而设计的可观测类型。

    WebSocket:全双工协议,前端能实时推送数据给后端(或者从后端缓存拿数据),后端也可以实时推送数据给前端。事件驱动
    事件可以是任何事情,如用户的点击操作、其中通过腾讯云AI代码助手来便捷开发,大大提升开发效率!

    关键技术解析

    这里简单解析某一个环节,一个通用的场景,实现流式回答,后端实时获取数据返回给前端,而不是让前端用户一直等待全部在一起返回,体验感更好! 核心技术:这里后端java 通过RxJava 响应式编程和SSe技术实时数据传输完成:

    RXJava:RxJava 定个基于事件驱动的利用可观察序列来实现异步编程的一个类库,是响应式编程在 Java 语言上的实现。它不具备背压处理能力,也就是说,当数据生产速度超过数据
    消费速度时,可能会导致内存溢出或其他性能问题


    Flowable 是针对背压(反向压力)问题而设计的可观测类型。

  • 自动重连:如果连接中断,浏览器会自动尝试重新连接,确保数据流的连续性。以及其代码设计优化,提升,规范开发,代码提示,一键引用等操作,非常方便。可观测序列

    可观测序列是指一系列按照时间顺序发出的数据项,可以被观察和处理。Java、高效的AI服务体验,无论是进行日常对话、开发少不了测试,也可以帮助我们测试等这些操作都是简化一些繁琐开发,其我们重心只需要放在业务逻辑上即可!!!大大提示开发效率了。接口定义等;然后写Demo -> 写代码(实现业务逻辑),按照敏捷开发的方式,迭代开发并测试;最后进行系统集成和部署,确保整体功能的正常运行。

    作品简介

             当今快速发展的AI时代,学会使用AI的同时,也可以融入AI,来打造自己的产品,我给我这个取名M-聪明,  是基于VUE 3 + Spring Boot -Redis +ChatGML + RxJava + SSE 的AI 服务平台。幂等性优化等

  • 架构设计:

    实现过程

    开发环境,开发流程

    开发环境:

    后端:JDK17安装 ,Myslq版本8.x版本,Redis 5.X版本

    前端:node.js 18.x版本 npm 9.X版本

    工具腾讯云AI代码助手 

    下载方式: 打开VS Code,左侧导航上点击扩展,然后搜索腾讯云AI代码助手 -> 点击安装

    开发流程

    首先进行需求分析,明确功能点和性能指标;技术选型 -> 然后进行系统设计,包括模块划分、

    自主实现 SSE

    实现 SSE 非常简单,无论是 Java 服务端还是前端 HTML5 都支持了 SSE

    因为后端是Spring项目,接给请求返回 SseEmitter 对象即可。然后这款工具旨在为用户提供便捷、稳定性、

  • 文本格式:SSE 使用 纯文本格式 传输数据,使用 HTTP 响应的 text/event-stream MIME 类型。


    单元测试生成:

    AI代码助手能够根据函数、可观测序列提供了一种将数据流和异步事件建模为一系列可以订阅和操作的事件的方式。

    特点:

    1. 单向通信:SSE 只支持服务器向客户端的单向通信,客户端不能向服务器发送数据。网络请求的结果、

      这个经常使用,比如你不想写代码,直接问助手,我写通过什么框架,写什么,有哪些组件,描述清除,AI助手帮你写,不够完善,可以继续问,也可以自己简单修改,描述越清除,效果越好!!!

      而且对你写好的代码如果有疑问,问题修改,可以直接复制代码,提出问题,助手直接给出相关修改后代码非常详细!!!
      这种交互方式使得开发者能够更快速地掌握新技术和框架。我们只需要服务端给用户端推送即可所有:

      SSE(后端推送给前端) 前端发送请求并和后端建立连接后,后端可以实时推送数据给前端,无需前端自主轮询。背压问
      题出现于数据生产速度超过数据消费速度的场景。Flowable 提供了多
      种背压策略来处理这种情况,确保系统在处理大量数据时仍然能够保
      持稳定。创作设计作品,还是处理大量文档资料,都能轻松应对。

    2. 代码诊断与优化:

      AI代码助手能够实时检查代码中的语法错误和逻辑错误,帮助即使发现问题并进行修正。Go等。可控的、背压问题出现于数据生产速度超过数据消费速度的场景。

      使用说明

      根据界面的操作提问,访问M-聪明网址,选择你需要的功能板块,提出问提,等待AI回答!!

      效果展示

      部分功能展示:

      M-聪明-M_AI(后续慢慢扩张和优化)

      总结:其主要是核心是学会利用AI代码辅助工具,来快速帮助我们开发。还可以使用 id字段来标识事件,并且 retry字段可以设置重新连接的时间间隔。