golang游戏服务器框架_服务器后端技术--掌握这些技能可以让你为所欲为(经验分享)...

服务器来说,难点就是稳定和并发,经过几年的加班熬夜的时间,今天把一些经验和大家分享,让你在服务器编程中“为所欲为“。

首先是说服务器运行环境,使用服务器代码稳定的关键。我当然是选择centos系统(如果你有强大资金可以选择redhat),该系统在socket和iO流的方面是很优秀的,至少我觉得比什么W系统好几条街,而且有强大的管理工具让你监控服务器的运行情况,还可以更具自己的需要灵活的修好linux系统内核参数,来进一步调优。shell脚本可以帮助懒人干不想干的事情。在实际生产环境中,centos系统一般都不会安装桌面端,这样减轻了服务器压力,但是带来了使用门槛的增加,所以你需要记住linux常用命令(vim,iptables,top等)。它是linux发行版本中的佼佼者,每一个稳定的版本,好撑可以支持10年,主要是人家还是redhat的“亲戚”。服务器一年关一次机的事情都很常见,所以系统一定要“坚如磐石”。

说了使用系统,我们再说服务器编程语言。编程语言很多,比如php,golang,c++,python,c,java。php和python属于及时性编译语言(就是程序需要运行时候,编译器才去将源代码编译成机械码,然后在执行。),所以在服务器运行效率方便天生要比c++,golang,java,c慢一些。再说c++由于不同的标准,个种莫名其妙野指针,还有那动不动的就是内存泄漏,让多人程序望而却步。c可以是所有语言中最快的,当作为实践项目来使用时候,开放效率却让你头疼,会发现很多模块需要自己来实现。最后剩下了java和golang,虽然java运行机制不像c++,c或者golang那样(编译器直接将这个项目直接编译成机械码后,程序直接运行),jvm将源码编译成二进制文件,服务器需要运行时候,执行将二进制文件解析成机械码运行,所以效率方面在c++和c之后。对于c++程序来说,java缺点不少,那数量庞大的try...catch.....和不可控制gc(垃圾回收:使用服务器收回不用内存,所以有人说:java就是吃内存的老虎), 但是java生态系统是最好的,你想要的功能基本上都可以找到现成的jar包(人懒喜欢),而golang我觉还需要一点时间培养用户。

服务器数据存储方面,我推荐还是mysql和redis,他们两搭配,让你如虎添翼。持久储存数据 ,mysql在这么方面做得很不错,sql语法标准让你使用起来非常舒服,在数据库并发方面,至少这几年有了很高飞跃(也许是oracle一些技术开源使用到了mysql上),即使有一天你搭建项目很火时候,mysql数据库集群方面技术也会让你没有多大后顾之忧。redis是nosql的中优秀者,高效的响应数据是传统sql数据库优势,还有天生支持的多种集合和热订阅功能,让你在做一些功能方面(如:排名、聊天,数据零时缓存)爱不释手。最重要是让懂的mysql和redis之间项目协作。

只要你掌握了centos系统,手持java语言,让mysql和redis加盟,你将在服务器编程方面没有瓶颈,满足你任何想法,无论是webserver,游戏服务器,物联网。

最后感谢centos和大家阅读。

golang游戏服务器框架_服务器后端技术--掌握这些技能可以让你为所欲为(经验分享)..._第1张图片

你可能感兴趣的:(golang游戏服务器框架)