服务器C++转Go的感受
过往经历
- 之前长期从事游戏服务器开发,基本上所使用的框架主要开发语言都是C++/Lua为主,如果涉及其他服务需要首先会考虑使用Python进行便捷开发。Python做一些简单服务不仅比较方便快捷,而且对接第三方都会提供Python的demo示例,也会事半功倍。
- 对于服务器开发来说,服务器的稳定性都是考虑的重中之重,毕竟一般的性能压力可以通过扩展机器设备来实现,只有服务器的稳定才是实打实的。一般来说,进程的主业务都是单线程,也避免了出现多线程造成的异常。另外会额外有写线程池专门去处理异步事务,对于一个多个步骤的事务操作来说也有专门的事务管理器去按步骤完成处理。通过线上项目的验证,基本上框架的稳定性自不必说,即使出现的coredump也一定是简单易查的,基本上通过测试过程中就能发现问题了。所以即使有新人来适应也不至于搞出一些幺蛾子。
对Go的兴趣
- Go语言作为一门很火的新兴语言,语义层面就已经是实现了一个并行,并且社区发展的火热,基本各种第三方的库支持都还算比较及时,有一种编译型Python的即视感。对于服务器开发者来说,自然对这个开发很感兴趣,就会去了解一些Go的机制以及使用,主要就是替代那些以前使用Python的服务试试水。而且包管理器Go Module的存在,简直是C++程序员的福音,只有用过C++才知道有多痛,更不用说一些老的C++框架可能还会有些对标准库的实现,但性能已经完全比不上现在的标准库了,另外现代C++11之后的版本,语法特性也不少,但