V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  liuguangxuan  ›  全部回复第 22 页 / 共 37 页
回复总数  735
1 ... 18  19  20  21  22  23  24  25  26  27 ... 37  
@gstqc #54 感谢老哥,目前因为历史原因,后台已有的服务还是以 tcp 为主,不仅仅是这一个地图服务器,如果改造成 http 或者 http2 的话,代价可能比改造 nginx 还大。
@des #53 感谢老哥,改造客户端是个办法。但是目前所有的后台服务还是以 tcp 为主,不仅仅是这一个地图服务器,目前后台服务加进来几个 web 服务,所以想统一一下所有后台服务的入口。
@ouyangjun #52 老哥,怎么联系?
@maichaide #51 老哥,这个 squid 技术是针对 tcp 的吗?
@wangritian #49 多谢老哥。
@rrfeng #46
@garyox64 #47 感谢老哥们。
@wangritian #40 go 语言不熟啊老哥。
@xhinliang #35 不能忽略不计,老哥。业务场景类似于游戏,而且地图数据特别大,如果按 1G 来计算的话,1000 个客户端同时开一局,那么这种局域网的流量也就是 1000G 。
@rrfeng #39 老哥,你提到的“那就在 Nginx 里把你 C++ 实现的『私有协议』搞一遍就行了”,具体怎么实现呢?
我目前了解到的信息有:
方式 1:直接改造 nginx 代码,但是感觉这种难度比较大,最起码需要看懂 stream 模块的代码及变量。
方式 2:nginx 好像支持扩展模块,用 C 语言,新增自定义的 nginx 模块,但是目前还不清楚自己增加的 nginx 模块如何截获 stream 模块的流量数据,然后加上自己的私有协议。
方式 3:使用 OpenResty ,用 lua 模块重写,但是问题和方式 2 一样。

烦请老哥有空的时候帮忙解答一下疑惑。
@seakingii #38 多谢老哥耐心解答。
@Twan #33 是的,老哥,类似于游戏。
@ysc3839 #34 老哥,业务场景对实时性要求较高,可以想象成打 CS 。
@seakingii 看看各位老哥,有没有什么更好的方案。
@seakingii 可能是我没有表达清楚哈,老哥。我们之前写了一个转发 tcp 的服务( C++的),中间缓存了地图的数据,所以对下面 1000 个客户端的话,它只向地图服务器请求一次数据即可,然后对下转发给 1000 个客户端。
现在我们又新增了一些 web 的服务,所以会有 http 请求。
我想把 web 的 http 请求和地图的 tcp 请求统一入口,都走 nginx ,或者都走我们之前写的 tcp 转发服务。所以就有了我今天问的问题,我想在 nginx 里面集成我们之前的 tcp 转发服务的功能(并且能对地图服务只保持 1 个 socket 连接,请求 1 次地图数据,节省带宽),但是不知道该怎么集成进去。😂
@seakingii 是的,我目前了解到的也是这种,其中 lua 控制业务逻辑,来实现是从内存中取缓存数据推送给客户端,还是重新建立 socket 连接至地图服务器,进行数据的拉取。
@DefoliationM tcp 转发之前写过一套,现在想把它和 nginx 统一到一起,这样就能统一 http 和 tcp 的入口。所以才有了我上面的提问。
@xuanbg 老哥,原有的地图服务是自定义协议和客户端进行传输的,传输 tcp 数据流,所以造协议这块儿已经有了,缺的是您说的这个模块,如何加在 nginx 上?
@cnoder
@victorc
@killva4624 看到了 3 位老哥都推荐了 openrestry ,刚查了一下资料,openrestry 是 nginx+lua ,我用 lua 控制我想要实现的逻辑,是这样的吗?
@killva4624 老哥精准的理解了我的困惑,我需要解决的就是这部分。
如果想要精准的识别哪些需要缓存,哪些是需要请求新的数据,我需要怎么做?对 nginx 的 stream 模块改造,加自定义协议吗?是否还有更好的办法?
2022-11-18 22:33:10 +08:00
回复了 dakeqi 创建的主题 VPS 甲骨文闲置实例将被停止
@jiangziheng #7 刚刚登录看了一下,没有看到顶部的提示啊,啥情况?
2022-11-18 07:27:41 +08:00
回复了 dakeqi 创建的主题 VPS 甲骨文闲置实例将被停止
没有搜到相关的新闻📰,老哥从哪里看到的消息,可否给个链接?
1 ... 18  19  20  21  22  23  24  25  26  27 ... 37  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5325 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 07:37 · PVG 15:37 · LAX 23:37 · JFK 02:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.