这是一个创建于 4445 天前的主题,其中的信息可能已经有所发展或是发生改变。
1. zeromq很好很强大,可以应付多种网络通信模式,容错能力很高。比传统socket编程传输的优点:A.收到的是完整的数据,不是数据流的一部分。不用自己检查长度。B。不用考虑接收方和发送方的启动顺序。
2. google protocol buffer配合zeromq是特别好的网络通讯方式。发送和接受的信息用这个格式打包的好处是代码可读性好。不用自己设计字符如何分割。代码十分清晰易懂。
3. 基于1,2就自然导出了一个很好的实践经验,针对接口和消息编程,而不是针对实现编程。这样可以很容易将某个模块用其他的语言实现。
4. 尽量让服务器端的代码简短,提供较少的功能,如果需要其他程序的数据,通过发送消息获得。这么做可以极大的降低代码的重构难度,可以很容易的将程序扩展到多个服务器。
5. 用python语言写的服务器端通信程序,很容易翻译成go 语言版本。如果是针对接口编程,完全可以做到同样的服务分别用python和go都实现一遍,可以帮助找到服务器和程序的性能瓶颈。
6. 只看别人的benchmark就做选择是没有意义的,要针对自己的业务应用来设计专门的benchmark程序才有意义。
第 1 条附言 · 2015-01-21 14:19:13 +08:00
这片感想目前看来暂时没有啥需要修正的,但只是试验阶段的感想,所以不具有普遍意义。请慎重考虑
2 条回复 • 1970-01-01 08:00:00 +08:00
|
|
1
zhanglistar 2012-10-22 22:21:36 +08:00 1
赞一个。总结的很好。学些了。
|
|
|
2
leecade 2012-10-22 23:56:09 +08:00
收藏
|