1、LINUX服务器安全策略详解
2、网络服务器配置完全手册
3、服务器配置全攻略(珍藏版)
4、网络安全基础
常见的服务器架构有以下三种:
1、服务器集群架构:
服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
2、服务器负载均衡架构:
负载均衡 (Load Balancing) 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
3、分布式服务器架构:
所谓分布式资源共享服务器就是指数据和程序可以不位于一个服务器上,而是分散到多个服务器,以网络上分散分布的地理信息数据及受其影响的数据库操作为研究对象的一种理论计算模型服务器形式。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会导致中心主机资源紧张与响应瓶颈的缺陷,解决了网络GIS 中存在的数据异构、数据共享、运算复杂等问题,是地理信息系统技术的一大进步。
windows平台可以看看《Windows Server 2003服务器架设与管理》。
作为推荐,这里我主要还是推荐自己仔细研读过的书,而我读过的书中某些可能已经很老了,甚至内容已经过时了,因此,这只算是抛砖引玉,大家可以选择类似的更新、更权威的书籍学习。
基础知识主要包括:语言。这里之所以拿出来说,是因为某些语言可能导致你使用完全不同的思路来设计服务器。一般来说,C/C++、Java、C# 之类可以归为一类,而 Go、Erlang 和他们区别很显著。关于语言的经典书籍太多,这里就不说了。
网络。想了解协议底层实现,可以看《TCP/IP 详解 卷2》。上层开发时,Windows 下可以看《Network Programming for Microsoft Windows》,Linux 下可以直接看看官方相关的 API 文档。Windows 下 IOCP,Linux 下 epoll(其他类 Unix 下的技术类似)是需要掌握的。实际开发中,网络库可能自己实现,也可以基于某些开源库开发,所以,无论是出于学习还是使用目的,都可以研究一下开源库,例如 libuv、libevent、boost ASIO。
操作系统相关。类 Unix 系统比较好的书籍就是《Advanced Programming in the UNIX Environment》了,Windows 下则可以看看《Windows核心编程》。系统相关的最核心的东西可能就是线程、进程,以及相关同步的内容了,看看《Multithreading applications in Win32》挺不错(包括类 Unix 系统下的开发者)
数据库。主要看你选择 SQL 还是 NOSQL。基本上搞搞 mysql、redis 不会错。
一些思想。光会各种技术是不能写出好的代码的,可能还需要学习一些更抽象的知识,所谓的一些”哲学“或者开发的指导思想。比较推荐的是《UNIX 编程艺术》,还有一本书《精益思想》,这本书和编程完全无直接关系。
《网络游戏核心技术与实战》日本人写的网络游戏服务器端开发的书, 结合游戏开发讲到了服务器端的方方面面, 但是相对的可能不够深入. 适合入门, 对游戏和技术有更好的理解. 然后就可以针对特定的技术领域, 比如网络, 数据存储等找专门的书来看了. 单纯从技术角度而言, 基础的东西并没有太多的不同. 只是网络游戏服务器端的应用领域相对狭窄, 所以市面上专门的书籍并不多。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)