首先说明一下,Python也是我最喜欢的一门编程语言,我用Python工做了接近8年,而且会一直使用下去。golang
咱们团队在开启 memfiredb.com 这个项目之初就作出了从Python往golang转换的预期,所以咱们的转换过程没有任何障碍,很是顺利的就完成了。编程
咱们为何会在项目开启之初就作出要更换编程语言的决定呢,为何不一开始就选择Golang呢?后端
第一个问题:为何项目之处就作好了要切换编程语言的决定?性能优化
- 云原生:memfiredb.com 是一个云服务,咱们的运维部署都是基于k8s的,golang在云原生方面有很是大的优点,随着项目变得愈来愈大,这个优点将会更加突出。
- 性能:尽管Python在性能优化方面有诸多的方案,可是Golang几乎不须要作什么特殊的优化就很容易实现高性能、高并发的服务。
- Python版本:咱们团队在Python2.7版本积累了不少经验和代码,可是目前尚未彻底迁移到Python3。随着社区中止对Python2的支持,以及一些第三方依赖库也再也不支持Python2,致使咱们目前处于一个相对尴尬的中间状态。
第二个问题:为何不一开始就选择Golangmarkdown
- 咱们在Python上有不少成熟的组件,能够直接上手使用。这可让咱们快速的实现原型系统,验证咱们的想法,邀请朋友体验咱们的系统。
- 咱们须要从头开始对Golang的框架组件进行选型以及验证,对于快速开启咱们的项目不利。
目前,memfiredb.com 的云服务后端已经从Python迁移到了Golang,目前运行的很稳定。并发