从事服务器端开发所需要了解的技术有如下:
1)tcp/ip协议,http协议
2)c or java or both
3)linux
4)数据结构和算法
从事服务器端开发的内容较多,我这里分为如下几类:
1)基于服务器API的模块开发,如apache模块开发、nginx模块开发
这种方法开发难度大,容易导致崩溃,不易扩展,但往往性能也不错。只有万不得已,才采用这种方法。 nginx采用hmux协议访问resin的方式,就属于这一种。
2)独立于服务器API的开发,如cgi和fastcgi开发
这种方法独立与服务器端技术,重用性好,易扩展,容易编程实现,但不易实现复杂架构,灵活性相对于第三种方法较差。 目前这种方式的开发非常普遍,特别是php在这方面的应用特别广。
3)基于用户自主的开发,同时实现软件的同时,常常需要实现服务器端的接口,比如memcached
这种开发非常灵活,常实现于高性能场合,但维护代价大,要求的技能要求也非常高。xx公司采用的广告投放系统就采用了这种方式。
4)基于servlet的java服务器开发
5)。。。