- 博客(2249)
- 资源 (32)
- 收藏
- 关注
转载 实时消息推送不建议用WebSocket了!
在很久很久以前,前端一般使用轮询来进行服务端向客户端进行消息的伪推送,为什么说轮询是伪推送?因为轮询本质上还是通过客户端向服务端发起一个单项传输的请求,服务端对这个请求做出响应而已。通过不断的请求来实现服务端向客户端推送数据的错觉。并不是服务端主动向客户端推送数据。显然,轮询一定是上述三个方法里最下策的决定。首先轮询需要不断的发起请求,每一个请求都需要经过http建立连接的流程(比如三次握手,四次挥手),是没有必要的消耗。客户端需要从页面被打开的那一刻开始就一直处理请求。
2024-07-22 14:05:17
转载 100万用户,抢10万优惠券,如何设计?
优惠券系统主要分为tob部分 运营端的运营配置管理模块和toc部分执行端的执行核心模块。tob部分 优惠券运营配置管理模块提供给运营人员操作、管理券权益,回收数据分析。包括模板库存管理、外部券管理、策略规则管理、数据报表等功能。toc部分 优惠券执行核心模块包括:优惠券的兑换发放、使用核销、状态流转等功能,提供统一的API接口,供上游各业务系统调用,参与到各产品功能环节。同时在运行中有完善的运行监控和有效的策略管控能力,提供保障。如何做性能优化?
2024-07-19 17:09:49
14
转载 Go-Zero实战:抽奖算法的设计与实现(七)
欢迎阅读本系列的第7篇文章!在前一篇文章中,我们深入学习了Go-Zero的docker开发环境部署。本文将继续探索Go-Zero的实践应用,并介绍一些新的主题。在本篇文章中,我们将介绍如何使用Go-Zero框架实现一个抽奖算法,并深入讨论其相关实现方法和最佳实践。抽奖算法是许多应用程序中常见的功能,它可以根据一定的规则和概率,从参与者中选择中奖者,并分配相应的奖品。我们将通过实例代码来演示如何使用Go-Zero框架,设计和实现一个高效可靠的抽奖算法。
2024-07-19 13:37:51
16
转载 使用 Spring Boot + Redis 队列实现视频文件上传及 Ffmpeg 转码
本方案通过 Spring Boot 构建了简洁高效的视频上传接口,利用 Redis 队列实现了任务的异步处理,结合 Ffmpeg 完成了视频的转码工作。起步依赖:通过引入特定的起步依赖,能够方便地集成各种常用的技术栈,如数据库、消息队列、安全框架等,避免了手动管理大量的依赖版本问题。自动配置:减少了繁琐的配置文件编写,能够根据项目所引入的依赖自动完成常见的配置,例如数据库连接、缓存配置等。广泛的格式支持:能够处理几乎所有常见的视频和音频格式,包括但不限于 MP4、AVI、MOV、FLV 等。
2024-07-19 09:59:49
16
转载 实战运用模版方法+工厂方法+策略模式打造一套高扩展性的履约系统收单业务
在电商的业务中履约系统、支付系统往往都需要接好几个渠道的业务,如履约系统接收订单的时候,就要区分是充值订单、普通的履约单订单、普通的拆分商品的履约订单等等,不同的渠道业务会有不同的处理逻辑。如果增加了一个收单的逻辑的渠道(如虚拟订单收单策略),我们只需添加一个策略就可以快速实现收单渠道的接入。履约系统接收到订单消息之后,首先需要校验一下定时是否需要处理,如接入了三方的订单,此时就不需要我们自己的履约系统来处理。上面就定义了一套模版方法,履约系统订单的收单逻辑都按照此方法定义的流程执行。
2024-07-19 09:59:07
11
转载 Dify v0.6.9将自定义工作流作为工具
具体包括但不限于:\n不符合英文的表达习惯,请明确指出哪里不合适句子结构笨拙,请指出具体位置,无需提供修改建议,我们将在后续的自由翻译中进行调整表达含糊不清,难以理解,如果可能,可以试图进行解释\n<直接翻译>\nThe Transformer is the foundation of large language models.\n<原文>\nTransformer是大语言模型的基础。<任务>基于初次直接翻译的成果及随后识别的各项问题,我们将进行一次重新翻译,旨在更准确地传达原文的意义。
2024-07-15 19:33:11
19
转载 使用 Spring Boot + SSE 实现实时消息推送功能
SSE 利用了 HTTP 协议的流特性,通过设置特定的响应头,如Content-Type: text/event-stream,来标识这是一个 SSE 连接。本文将深入探讨如何使用 Spring Boot 结合 Server-Sent Events(SSE)来实现实时消息推送功能,包括 SSE 的实现原理、特点、应用场景,并通过详细的前后端代码示例进行展示。通过上述的前后端代码示例,我们成功地实现了基于 Spring Boot 和 SSE 的实时消息推送功能。实时通知:如邮件到达通知、系统告警等。
2024-07-14 20:08:52
38
转载 SpringBoot中承接SSE流式输出的核心代码
throw new ChatException("LLMChain 请求异常, code: " + response.code() + "body: " + body.string());throw new ChatException("LLMChain 请求时IO异常: " + e.getMessage());原文链接:https://blog.csdn.net/qq_42969135/article/details/134595472。log.info("进入data:{}", line);
2024-07-13 23:08:44
27
转载 推荐开源项目:OkSse - 让你的OkHttp支持Server-Sent Events
在今天的互联网应用中,实时性已经成为了一项关键特性,无论是推送通知还是股票报价,都需要即时更新数据到客户端。这就引出了我们今天要推荐的开源库——OkSse,它是一个基于著名网络库OkHttp的扩展,用于实现Server-Sent Events(SSE)客户端功能。OkSse通过简单的API与OkHttp无缝对接,使用者只需添加必要的依赖,即可快速启用SSE功能。易用性: OkSse提供了简单直观的API,只需要几行代码就能设置好SSE连接,并处理接收到的数据。追踪应用:例如物流追踪,实时展示包裹位置。
2024-07-13 23:04:02
23
转载 【java】实现sse调用websocket接口,忽略wss证书并控制sse吐字速度
log.info("==>保存会话和信息,messageUuid:{},conversationUuid:{},userUid:{},userQuestion:{},totalAnswerStorage:{}",log.info("==>当前消息已全部返回完成,主动断开与端上链接,conversationUuid:{}", conversationUuid);log.info("==>发送消息失败,视为端上主动断开链接,任务执行结束,messageUuid:{}", messageUuid);
2024-07-13 23:01:53
12
转载 通过okhttp调用SSE流式接口,并将消息返回给客户端
分割线---------------------------------------------------------------------------------------------------------------------------------1、Java(SE、JVM)、算法数据结构、数据库(Mysql、redis)、Maven、Netty、RocketMq、Zookeeper、多线程、IO、SSM、Git、Linux、Docker、Web前端相关学习笔记。
2024-07-05 21:55:16
74
转载 解密 SSE,像 ChatGPT 一样返回流式响应
作者:古明地觉2023-11-20 08:32:50当完成握手之后,后续传输的数据就不再是 HTTP 报文,而是 WebSocket 格式的二进制帧。所以这两者完全是不同的协议,那有没有一种办法,我们仍然使用 HTTP 协议,同时还能让服务端主动推送数据呢?我们知道目前的 HTTP/1.1 采用的是标准的请求-响应模型,客户端主动发请求,服务端被动地返回响应。这种模型在客户端需要实时获取结果的场景下是不合适的,因为这意味着客户端需要不断地轮询,所以最好的做法是服务端生成结果之后,主动推送给客户端。
2024-07-05 21:54:22
40
转载 java返回事件流给前端
原文链接:https://blog.csdn.net/weixin_54574612/article/details/139095607。log.error("使用事件源时出现异常... {}", t.getMessage());log.info("结果输出:{}", output.toString());// 设置ContentType为"text/event-stream"log.info("建立sse连接...");log.info("客户端非sse推送");log.info("sse连接关闭");
2024-07-05 21:53:25
60
转载 SSE-实现流式数据接收java版
链接:https://www.jianshu.com/p/ac6528396cec。1.找个web项目,SSEController+SSEUtils运行起来。商业转载请联系作者获得授权,非商业转载请注明出处。3.服务端方式:执行SSEClient main方法。2.web方式: 浏览器打开sse.html。©著作权归作者所有,转载或内容合作请联系作者。sse实现流式数据接收:web、服务端。作者:kingTao_
2024-07-05 21:52:38
120
转载 高性能,短URL服务,设计及实现!
大家好,我是一安~想必大家也经常收到垃圾短信吧...短信中的链接一般都是短链接,类似于这样短信内容:【xxx优品】您于12月13日入账5000额度,无审核,无回访,只要申请立马批,点击申请xxxxx.cn/dsPgdf为什么这里面的url都是短的呢?有什么好处呢?怎么做到的呢?
2024-07-05 21:50:00
29
转载 springboot集成sse实现后端流式输出消息
在实现人工智能聊天的过程中,往往不难发现,主流的输出方式都是采用流式输出,而在后端实现流式输出可以有两种实现思路,第一种是采用sse,第二种是采用websocket,本编将为大家介绍 sse实现流式输出消息。").build())log.info("[{}]连接异常,{}", uid, throwable.toString());log.info("[{}]连接超时...................", uid);.name("发生异常!log.info("参数异常,msg为null", uid);
2024-07-03 09:36:25
82
转载 springboot搭建流式响应服务,SSE服务端实现
譬如用户请求一篇长文,在数据库里有很多个段落,我们也不希望一次性全部查询完毕再返回给客户端(耗时太久),而是希望查一段就返回一段,逐次批量返回给客户端。如以上代码,返回的对象是SseEmitter,每次调用emitter.send()方法,客户端就会收到一条消息,即一次响应,响应结束的标志是调用emitter.complete方法。当服务端每次调用emitter.send方法时,客户端的onEvent就会触发一次,同理,onOpen,onClose,onFailure都对应服务端的对应方法调用。
2024-07-03 08:59:12
45
转载 SpringBoot 接入阿里云百炼(通入千问) 并实现流式输出内容
input type="text" v-model="text" @keyup.enter="onSend" placeholder="输入消息..." />原文链接:https://blog.csdn.net/m0_65408235/article/details/139618719。@ApiOperation(value = "获取历史信息",notes = "获取历史信息")@ApiOperation(value = "发送消息",notes = "发送消息")/* 聊天气泡的最大宽度 */
2024-07-03 08:30:41
131
转载 springboot集成sse实现后端流式输出消息
在实现人工智能聊天的过程中,往往不难发现,主流的输出方式都是采用流式输出,而在后端实现流式输出可以有两种实现思路,第一种是采用sse,第二种是采用websocket,本编将为大家介绍 sse实现流式输出消息。log.info("[{}]连接异常,{}", uid, throwable.toString());log.info("[{}]结束连接...................", uid);log.info("[{}]连接超时...................", uid);
2024-07-02 19:38:00
58
转载 SpringBoot+Minio实现上传凭证、分片上传、秒传和断点续传(通用版)
为了避免Minio被攻击,我们需要结合后端,让后端生成并返回一个有时效的上传凭证,前端拿着这个凭证才能去上传,通过这种方式,我们可以做到一定程度的权限控制,本文要分享的就是这种方式。这时候去向后端申请上传凭证的时候,后端可以先去看看文件是否已存在,如果文件已存在,就不用生成凭证了,直接告诉前端该文件已经上传完毕,由此实现文件秒传。上一篇CentOS将于6月30全面停服,最全选型攻略来了!当我们要上传一个大文件的时候,进度到一半了,这时候网络掉线导致上传失败,网络恢复后又要重新上传,这就很崩溃。
2024-07-01 08:54:15
80
转载 Spring Boot大数据导出:自动拆分Excel文件,实现高效异步处理
通过使用SpringBoot和Apache POI,我们可以高效地导出大规模数据到Excel文件,并通过分页查询和异步处理,确保系统的性能不受影响。为了进一步优化性能,可以考虑使用从库进行数据查询,减轻主库压力。需要面试BAT,码农这里整理一份面试资料《
2024-07-01 08:49:35
88
转载 大数据量导入导出解决方案-EasyExcel
Getterpublic enum SexEnum { MAN("0", "男"), WOMAN("1", "女"), UNKNOWN("2", "未知"),;/** * 根据name解析成对应枚举value */ public static String resolveToValue(String name) { for (SexEnum s : values()) { if (s.name.equals(name)) { return s.value;
2024-07-01 08:49:03
82
转载 这款开源可视利器帮你一眼看穿JSON!-JSONCrack
无论您是从事大型项目的开发人员,还是希望发现隐藏见解的数据爱好者,JSON Crack 都能提供您所需的工具和功能,以释放数据的全部潜力。总的来说,无论你是新手还是经验丰富的开发者,crack 都是一个值得信赖的工具,能帮你轻松应对 JSON 和 XML 数据解析的需求。现在的开发中数据传输什么格式最常用,我想很多人都会说是JSON,但是JSON文本难于阅读,即时格式化也不够直观,今天就来解决这个难题。今天我们推荐的推荐的项目帮你快速将JSON可视化,让你可以一眼看懂内容,它就是:JSONCrack。
2024-07-01 08:48:08
88
转载 【LLMOps】小白详细教程,在Dify中创建并使用自定义工具
大多数情况,为了不影响原来的业务,我们可能无法改动这三个接口,所以我们可以专门做一个接口整合的服务,去中转这些复杂的接口,只提供给模型易用的接口。另外一个优化的方向是工具返回的结果,还是以天气查询接口为例,如果接口直接返回一个json结构,而且字段中都是英文缩写,AI可能根本无法理解这些字段的含义。这个open api schema包含了天气工具的作用、url地址、请求参数、参数的描述等信息,利用这些信息能够正确创建http请求,并且能够提供模型这个工具的作用,指导模型什么时候应该调用这个工具。
2024-06-30 20:47:48
133
转载 封装一个工具类,拒绝重复代码!
为了简化开发过程并提高代码的可维护性,我们可以创建一个统一的工具类来处理这些需求。在本文中,我将介绍如何使用SpringBoot创建一个返回多级菜单、多级评论、多级部门、多级分类的统一工具类。数据库设计「主要是介绍是否需要tree_path字段。多级节点的数据库大家都知道,一般会有id,parentId字段,但是对于tree_path字段,这个需要根据设计者来定。优点:如果你对数据的读取操作比较频繁,而且需要快速查询某个节点的所有子节点或父节点,那么使用tree_path字段可以提高查询效率。
2024-06-20 08:53:16
53
转载 微服务Token鉴权:设计方案的比较与选择
但需要注意的是应该将Web项目的容器换成Undertow,因为Tomcat是阻塞式的容器,不换也不是不行,但吞吐量可能会少一下,Undertow是非阻塞式的容器,可以与Gateway到达相同的效果。根据需求积分服务提供了一个给用户添加积分的API,如果你的API是通过获取的当前登录用户ID增加的积分,那么面对场景二时你需要重新编写一个给用户添加积分的API,因为当前登录的是后台管理员而不是用户(代码复用率较低)各位服务都有自己的鉴权方式,当然也可以通过jar包的方式统一各服务的鉴权方式。
2024-06-20 08:52:45
44
转载 万字图文:促销系统架构设计
促销是商家用来吸引消费者购物的一种手段,目的是让更多的人知道并购买他们的产品,这样就能卖得更多。促销的方法有很多种,比如,价格优惠、赠品、优惠券、折扣、买一赠一等形式。特别是在新零售行业,促销更加重要,由于新零售是线上和线下结合的,顾客可以在线上看到促销信息,然后在实体店体验和购买产品。线上线下的联动,能进一步增加顾客购买的机会。本文直接讨论了促销系统的设计。首先,分析了促销和营销的不同,并强调了新零售中促销活动的重要性和复杂性。然后,详述了各种促销工具以及其在消费者和商品生命周期中的应用。
2024-06-20 08:52:09
66
转载 项目终于用上了 PowerJob,真香!
程序员追风2024-06-07 22:01河南上方蓝色“程序员追风”,选择“设为星标”回复“资料”获取整理好的面试资料来源:blog.csdn.net/qq_24950043/article/details/130175241最近项目中使用了PowerJob做任务调度模块,感觉这个框架真香,今天我们就来深入了解一下新一代的定时任务框架——PowerJob!简介PowerJob是基于java开发的企业级的分布式任务调度平台,与xxl-job一样,基于web页面实
2024-06-08 17:23:33
86
转载 进阶玩法:策略+责任链+组合实现合同签章
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。在第一部分的基础上增加的功能点如下。
2024-06-08 17:22:55
47
转载 几行烂代码,用错 Transactional,赔了16万...
云南以下文章来源于why技术 ,作者why技术前几天在某平台看到一个技术问题,很有意思啊。涉及到的两个技术点,大家平时开发使用的也比较多,但是属于一个小细节,深挖下去,还是有点意思的。来,先带你看一下问题是什么,同时给你解读一下这个问题:首先,这位同学给出了一个代码片段:他说他有一个 func 方法,这个方法里面干了两件事:1.先查询数据库里面的商品库存。2.如果还有库存,那么对库存进行减一操作,模拟商品卖出。
2024-05-27 17:28:49
96
转载 美团面试:10wqps高并发,如何防止重复下单?
想象一下啊,你正在网上买东西,在点那个“下单”按钮的时候,可能因为手滑啊,或者网络不太给力,你就多点了几次。再或者呢,有些系统它会自动帮你重试下单,就是因为这些原因,订单服务那边就收到了两次一模一样的下单请求。这种情况,咱们就管它叫“重复下单”。简单来说,就是你买了一个东西,但订单系统以为你买了两次。幂等性,简单来说,就是你做一个操作,无论是做一次还是做很多次,最后得到的结果都是一样的。就像你点了一份披萨,点一次和点十次,最后送来的披萨数量还是一份,不会变成十份。幂等性在计算机里也是个很重要的概念。
2024-05-27 17:26:01
135
转载 完整清晰,三方接口调用设计方案
为每个三方应用生成唯一的API密钥对(AK/SK),其中AK用于标识应用,SK用于进行签名和加密。AK:Access Key Id,用于标示用户。SK:Secret Access Key,是用户用于加密认证字符串和用来验证认证字符串的密钥,其中SK必须保密。通过使用Access Key Id / Secret Access Key加密的方法来验证某个请求的发送者身份。在进行接口调用时,客户端需要使用AK和请求参数生成签名,并将其放入请求头或参数中以进行身份验证。
2024-05-27 09:01:30
164
转载 从Bit位操作学封装
原创 geekhalo北京对于业务开发人员,bit 位这个概念既熟悉又陌生,熟悉是因为整个计算机就是建立在bit基础之上,同时任何一门语言都对 bit 位提供了支持;陌生是因为工作过程中基本没有使用过,说起具体的操作语法估计也需要好好思考一下。不像底层研发人员,比如驱动开发、网络协议开发等,成天与 bit 混在一起。业务开发人员对于 bit 位就陌生了太多。但,在一些特殊场景,bit 位还真的是一个非常好的解决方案。
2024-05-27 09:00:20
42
转载 多线程性能优化最大的坑,99%的人都不自知!
但好景不长,随着流量的增加,接口响应时间也在逐渐变长,p99 超过 5 秒,最后系统抛出大量的 RejectedExecutionException 异常,这个接口不可用。也就是说,任何一次插入操作都必须等待一个相应的删除操作,反之亦然。当我们在处理慢接口问题时,经常会使用多线程技术,将能够并行处理的任务拆分到不同的线程中处理,等任务处理完成后,再收集各线程的处理结果,进行后续的处理。上面提到一个小问题,在资源充足情况下,所有任务均有线程池线程完成,主线程一致处于等待状态,存在一定的资源浪费。
2024-05-27 08:59:37
37
转载 大厂都在用的 Git 代码管理规范 !
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。
2024-05-27 08:58:33
126
springmvc+mybatis+mysql+log4j.xml+logjdbc+maven+nexus+dubbo
2017-05-10
springmvc+mybatis+mysql+log4jdbc+excel 实现sql日志输出和excel导出
2017-05-09
权限管理系统
2013-03-23
航空订票系统(jsp+java+sqlserver+spring+servlet+strut)
2011-07-12
新闻发布系统(jsp+ajax+oracle+java+javascript)
2011-07-10
物流信息网(jsp+sqlserver+servlet+strut)
2011-07-09
企业电子商城系统(jsp+servlet +strut+sqlserver)
2011-07-09
购物系统(shopping)用到的技术有(jsp+servlet+java+sqlerver+strut)
2011-07-09
网上书店系统(java+sqlserver+jsp+servlet+strut+spring)
2011-07-09
火车站售票系统.(java+oracle+jsp+javascript)
2011-07-09
接口的详解,是你很容易学习接口
2011-03-08
interface使用
2011-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人