求问一个服务端架构的问题。。。

2016-06-23 12:38:38 +08:00
 yejinmo
正在做一个 校园助手 性质的 APP ,内含可以查询教务信息、电费、一卡通、图书馆等一些信息的功能模块

问题:

现在用的是:

客户端与服务端建立 Tcp 长连接,进行消息查询及推送

但总觉得用 Tcp 长连接传送数据怪怪的,求问下应该使用什么方法。。

现架构如下图所示:

2214 次点击
所在节点    问与答
25 条回复
felixzhu
2016-06-23 19:06:32 +08:00
最简单的 Restful API 分分钟搞定,,怎么搞这么复杂。
imNull
2016-06-24 00:15:17 +08:00
@alex321 这个问题我也想过。我也是做类似 LZ 的,打算作为毕设,可只做出个微信服务号感觉那帮老师也不大看好,于是就想用 React Native 简单做个 App 。我个人还是倾向于做成微信服务号,可以利用客服接口推送,简单高效。
alex321
2016-06-24 08:18:07 +08:00
@imNull 毕设这个主要看老师们的胃口。如果老师们比较开明开放的日化,可以考虑 WebAPP ,用微信公众号的消息模板,可以规避客服消息的 48 小时限制,相比 APP 的开发成本要低很多。
开发者申请的测试公众号虽然是订阅号,但消息模板, jssdk 这些功能都有,虽然相比正式的简陋了一些,但做毕设的示例可以满足。如果真的要打算将毕设作为正经项目,建议找资质申请服务号。
imNull
2016-06-24 08:22:24 +08:00
@alex321 嗯,已经申请并认证,不仅仅是毕设,也算是留给这个学校的一点点我的“作品”吧。感谢你的建议。
zjqzxc
2016-06-24 08:52:00 +08:00
@yejinmo 时效性并用不着 1 分钟一次, 1 小时 1 次都绰绰有余。。
tcp 长连接开销更大;即使是 1000 用户一分钟一次每秒并发平均也就不到 20 ;而且这个轮询只是个心跳包,构造一个队列,每次返回值只是有新消息或者没有新消息,如果有新消息再调用一个相应的接口来处理,没有就忽略。
应用层协议能解决的问题,没必要回落到传输层解决

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/287764

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX