以前只单独用go或者单独用python进行开发后端,最近做个项目,打算使用go语言和python语言进行混合开发;暂时还没下定决心;高性能的核心服务肯定是用go语言来写;但用户登录、账号管理、管理员界面等,有点想用python来写。
目前的数据库用的是一个比较底层的数据库,只能面向单进程,不是常规意义上的数据库;当然可以考虑再用go语言写一个数据库服务,或者进行新的成熟的数据库选项。
用纯粹的go语言的好处:全部高性能;运维起来方便一点,就一个go进程,可以把多核CPU的性能充分发挥,直接用go进程,不需要用nginx做负载均衡。代码保密性强,以可执行文件进行提交。
使用go语言+python语言的混合架构的好处:go语言写的核心应用部分的会简单很多,可维护性增强;python语言写的部分会开发效率很高,如果go语言去写,我还要自定义不少中间件。
有点犹豫……
冯纪忠雄
其实纯粹go或者 go + python 都可以,你之所以会犹豫,是对于你当前的项目来说,go + python 所带来的好处未必会大于混合架构所带来的成本,所以你会犹豫,如果是某处开发效率所带来的好处已经海量大于单纯go来说,你定然会直接选择混合架构,不会犹豫。
你目前的项目来说,我从你的描述看来,两者半斤八两,所以我建议,该项目中不去使用混合架构,单纯使用go语言即可,以后有别的更适合的项目,再考虑使用go + python混合架构。