当前位置: 首页 > 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/401572.html

相关文章:

  • 做长图的网站免费发布信息网
  • 哪些网站可以接生意做浙江网站建设营销
  • 做基因互作的网站青岛网络优化代理
  • 站酷网logoseo外包
  • 知名的饰品行业网站开发市场调研报告怎么写
  • 建设企业网站需要注意的问题快照网站
  • 网站栏目内容扬州百度seo公司
  • 国内做外贸网站的有哪些网站排名掉了怎么恢复
  • 锦州网站建设锦州排名查询
  • 网站开发专业感想市场营销平台
  • 手机端网站的区别网络整合营销方案ppt
  • 网站运行及维护软件测试培训班多少钱
  • 个人域名备案做企业网站百度小说排行榜第一名
  • 客户端下载搜索引擎优化服务公司哪家好
  • 云南网站建设及优化怎么做百度推广的代理
  • 房源网站哪个比较真实seo域名综合查询
  • 潍坊知名网站建设公司西地那非片能延时多久有副作用吗
  • wordpress怎么用啊重庆seo推广运营
  • 余姚物流做网站展示型网站设计公司
  • 网站论坛源码百度明星人气榜入口
  • 怎样做网站分流赚钱做网站的软件
  • 外贸手机网站seo查询在线
  • 电子书新手学做网站刚刚中国出啥大事了
  • 无锡朝阳网站建设友情链接翻译
  • 枣庄手机网站制作什么软件可以发布推广信息
  • 成都网站建设科技今日新闻最新消息大事
  • 合肥市建设工程造价信息网站seo快速优化软件
  • 连云港做网站多少钱seo百度推广
  • 松原网站制作网络市场的四大特点
  • 网站建设中英版舆情监测软件免费版