V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
myrual
V2EX  ›  程序员

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

  •  
  •   myrual ·
    myrual · 2012-10-22 21:48:09 +08:00 · 3740 次点击
    这是一个创建于 4418 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    zhanglistar
        1
    zhanglistar  
       2012-10-22 22:21:36 +08:00   ❤️ 1
    赞一个。总结的很好。学些了。
    leecade
        2
    leecade  
       2012-10-22 23:56:09 +08:00
    收藏
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1066 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 22:34 · PVG 06:34 · LAX 14:34 · JFK 17:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.