最近获得的网络编程的经验分享

2012-10-22 21:48:09 +08:00
 myrual
1. zeromq很好很强大,可以应付多种网络通信模式,容错能力很高。比传统socket编程传输的优点:A.收到的是完整的数据,不是数据流的一部分。不用自己检查长度。B。不用考虑接收方和发送方的启动顺序。

2. google protocol buffer配合zeromq是特别好的网络通讯方式。发送和接受的信息用这个格式打包的好处是代码可读性好。不用自己设计字符如何分割。代码十分清晰易懂。

3. 基于1,2就自然导出了一个很好的实践经验,针对接口和消息编程,而不是针对实现编程。这样可以很容易将某个模块用其他的语言实现。

4. 尽量让服务器端的代码简短,提供较少的功能,如果需要其他程序的数据,通过发送消息获得。这么做可以极大的降低代码的重构难度,可以很容易的将程序扩展到多个服务器。

5. 用python语言写的服务器端通信程序,很容易翻译成go 语言版本。如果是针对接口编程,完全可以做到同样的服务分别用python和go都实现一遍,可以帮助找到服务器和程序的性能瓶颈。

6. 只看别人的benchmark就做选择是没有意义的,要针对自己的业务应用来设计专门的benchmark程序才有意义。
3636 次点击
所在节点    程序员
2 条回复
zhanglistar
2012-10-22 22:21:36 +08:00
赞一个。总结的很好。学些了。
leecade
2012-10-22 23:56:09 +08:00
收藏

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

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

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

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

© 2021 V2EX