默认

菜鸟的五个疑问:出租打车司机版(抢单)APP的网络实现等问题

查看数: 53485 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-04-05 19:06

正文摘要:

问题描述 通信框架:netty4 协议:tcp 客户端:android    备注:android client 通过rpc 调用 java server端方法。server 通过调用 android client(也可以说推送) 大概需求:      ...

评论

JackJiang 发表于 8 年前
看看有关滴滴出行的这个帖子,或许会有所启发:http://www.52im.net/thread-254-1-1.html
JackJiang 发表于 8 年前
引用:xiaojiazu 发表于 2016-04-05 22:02
语音对于我来说不太重要 ,我现在最关心的是通道,疑问1-5也是对这个tcp协议和channel ,我害怕引起队列 ...

你如果对TCP没有太多技术经验,建议找到开源或者可靠的类似实现,不然后面可能会因你并不熟练的代码实现导致的网络拥塞、粘包等(对于新手来说,这很容易出现,而且没有技术积累的话并不容易处理),你会非常郁闷。

另外,你不要被这所谓的2000人在线给迷惑了,如果这是个普通的信息系统类APP,这2000人用根本就不是问题,现成的服务端高并发解决方案。但现在你的业务里已经非常接近即时通讯应用,而且可以想像的出来,这个应用能够搞到的软硬件资源,撑死一到两台入门服务端,那么从总体负载来说,加上网络通讯、db存储等业务逻辑,处理不当的话,你的系统实现实际上挑战并不小。
xiaojiazu 发表于 8 年前
引用:JackJiang 发表于 2016-04-05 21:59
你的问题里关于语音留言的处理,你可以看看这个帖子里的回复,http://www.52im.net/thread-175-1-1.html
...

语音对于我来说不太重要 ,我现在最关心的是通道,疑问1-5也是对这个tcp协议和channel ,我害怕引起队列导致堵塞,之后软件就给人感觉非常慢、卡
JackJiang 发表于 8 年前
你的问题里关于语音留言的处理,你可以看看这个帖子里的回复,http://www.52im.net/thread-175-1-1.html
不知是否是你要的答案。
xiaojiazu 发表于 8 年前
引用:JackJiang 发表于 2016-04-05 21:44
如果是全新做这么个系统,以你现在的积累,显然你要解决的技术、业务层的东西不是一点点。
我建议你先别慌 ...

我这个很简单,跟滴滴业务不一样,业务我这边很熟悉了已经,现在就是用netty  那几个疑问让我很纠结,希望作者给解答一下

点评

JackJiang  说:
我上面的回复刚才还没写完,你再看看有没有什么对你有用的。  (8 年前)
JackJiang 发表于 8 年前
如果是全新做这么个系统,以你现在的积累,显然要解决的技术、业务层的东西不是一点点。

我建议你先别慌着下结论:
1)显然这整个系统不只有司机端吧,如果整个架构需要你来考虑,你需要从用户端、到服务端、到司机端进行整体的架构设计,从整体到局部逐一梳理技术点;
2)现在像滴滴打车这样的类似应用已经非常成熟和成功了,建议先下载类似应用详细的有针对性的研究(包括括大的方面有业务形态,细的方面有功能原理,再细到技术的有心跳策略、数据交互方式等),网上已经有很多公开的资料,好好研究下,争取站在前人的肩膀上是降低实现风险的最佳方式。

另外,你的问题目前还过于纠结技术细节,但现在看来,你对整个应有的理解,还需要更深入地进行技术选型和梳理,参考上面的建议,做完后相信都能找到确切的答案。

还有一个你问的问题里,说服务端推送给android端需要3到8秒,这显然太不正常了,在最差的2g窄带下,这样的速度有这种可能性,但你局域网是这样显然极不合理,建议逐行排查代码。我说个我遇到的类似的问题(不确定你会不会也是这个问题,仅供参考):当初我在写MobileIMSDK时,为了打印客户端的ip和端口信息用于log调试,调用了java的SocketAddress.getHostName()这个方法,导致需要反查DNS,而将每次请求阻塞将近10秒之久。你看看你会不会是这种不良代码导致的。

以上意见仅供参考,如有不妥还请见谅。

返回顶部