当前位置: 首页 > wzjs >正文

做俄罗斯网站微博营销的特点

做俄罗斯网站,微博营销的特点,做网站域名有什么用,北京做机柜空调的网站Hi I’m Shendi 最近在编写SSE接口遇到了缓存问题,导致实时性失效,在这里记录一下。 记一次SSE数据被缓存导致实时性失效问题 问题 环境:SpringBootNginxAnythingLLM SSE接口调用拥有缓存,导致数据被缓存后才返回给前端。 排查…

Hi I’m Shendi

最近在编写SSE接口遇到了缓存问题,导致实时性失效,在这里记录一下。


记一次SSE数据被缓存导致实时性失效问题



问题

环境:SpringBoot+Nginx+AnythingLLM

SSE接口调用拥有缓存,导致数据被缓存后才返回给前端。



排查

对SpringBoot接口的检查:

检查接口代码,直接使用 resp.OutputStream 或者使用 SseEmitter 皆有此问题

检查接口中对AnythingLLM调用的代码,发现使用BufferedReader.readLine,将其直接改为InputStream.read判断\n,效果的确好了一点,但依然有此问题。

编写测试代码,看是否是接口问题:

@Anonymous
@GetMapping(value = "/test", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public void test(HttpServletResponse resp) throws Exception {resp.setContentType("text/event-stream;charset=UTF-8");resp.setCharacterEncoding("UTF-8");// 禁止压缩,防止流式被缓存resp.setHeader("Content-Encoding", "identity");resp.setHeader("Cache-Control", "no-cache");OutputStream output = resp.getOutputStream();for (int i = 0; i < 20; i++) {output.write(("data: " + RespCode.toResp(RespCode.PARAM_NULL) + "\n\n").getBytes());output.flush();Thread.sleep(2000);}
}

测试发现无问题,前端稳定的两秒收到数据(皆使用Nginx反向代理)


对 AnythingLLM的检查:

直接调用接口,发现问题复现,然后猜测是否Nginx的问题,不使用代理访问,一切正常。


解决

最终的问题就是Nginx的问题,Nginx默认会将数据进行缓存,要进行相应配置,并且SSE接口就那么几个,所以可以使用rewrite 对单独的几个接口关闭

location /llm/ {rewrite ^/llm/(.*)$ /api/$1 break;# 原有host 与 ipproxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;# 支持websocketproxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_pass   http://127.0.0.1:3001;
}
location ~ ^/llm/v1/workspace/[^/]+/thread/[^/]+/stream-chat$ {rewrite ^/llm/(.*)$ /api/$1 break;proxy_pass   http://127.0.0.1:3001;# 关闭缓冲,确保实时转发proxy_buffering off;proxy_cache off;# 设置 HTTP/1.1 以保持长连接proxy_http_version 1.1;proxy_set_header Connection '';# 防止 gzip 压缩,避免 chunked 被打包gzip off;# 增加超时时间,避免 SSE 长连接被断开proxy_read_timeout 3600s;proxy_send_timeout 3600s;# 如果后端是基于 Host 做路由的,保留原 Hostproxy_set_header Host $host;# 转发其他头信息proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}



END

http://www.dtcms.com/wzjs/165508.html

相关文章:

  • 打广告专用配图seo关键词优化最多可以添加几个词
  • 网站注册协议模板最新营销模式
  • 徐州专业网站制作公司今日热点新闻事件摘抄2022
  • 网站建设经验总结域名ip地址在线查询
  • 上海本地生活的网站营销推广的主要方法
  • 贵州 跨境电商网站建设本地推广平台
  • 广州在线网站制作公司关键词排名怎么上首页
  • 黄骅港旅游景点大全江门seo推广公司
  • 网站怎么做 流程网络营销推广计划
  • 建筑网站设计做网站怎么优化
  • 内蒙网站建设seo优化网站搜索优化排名
  • 长春网站建设公司百度网盘搜索引擎入口
  • 门户网站定制5118数据分析平台
  • .net做网站开发上海牛巨微seo优化
  • 网站建设主要流程网络域名怎么查
  • 临桂区住房和城乡建设局门户网站企业短视频推广
  • 琼山网站制作发布外链的平台有哪些
  • 怎么键卖东西的网站网站建设需要多少钱?
  • javaweb做新闻网站关键词全网搜索指数
  • 永兴县网站建设数据分析培训课程
  • 服务二级公司网站建设广告联盟全自动赚钱系统
  • 盐城做网站的公司地址那个推广平台好用
  • 网站是哪个公司做的网站收录登录入口
  • 做女装批发哪个网站好爱站网能不能挖掘关键词
  • 网站栅格化怎么做长春seo排名优化
  • 一站式的手机网站制作网站后台管理系统
  • 网站access数据怎么做下载爱城市网app官方网站
  • 南宁如何做百度的网站bing搜索引擎入口官网
  • 做商城网站还要服务器推广工作的流程及内容
  • 叮当app制作平台登录清远网站seo