网络游戏java服务器端开发开发,有哪些经典书籍

我收集了约70本中文游戏编程书籍,不知按什么顺序发,大家投票啊
[问题点数:40分]
我收集了约70本中文游戏编程书籍,不知按什么顺序发,大家投票啊
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2012年1月 挨踢职涯大版内专家分月排行榜第二2011年11月 挨踢职涯大版内专家分月排行榜第二2011年10月 挨踢职涯大版内专家分月排行榜第二2011年8月 挨踢职涯大版内专家分月排行榜第二
2012年4月 挨踢职涯大版内专家分月排行榜第三2011年12月 挨踢职涯大版内专家分月排行榜第三2011年9月 挨踢职涯大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。同类热门资料
资料下载地址
(确认已经开启迅雷或电驴)
本书是游戏编程精粹系列的最新一本,内容涉及通用编程、数学和物理、人工智能、音频、图形学、网络和多人游戏、脚本和数据驱动系统等内容,具有较强的先进性和通用性。随书附带光盘中提供了本书的源程序、演示程序以及需要的各种游戏开发的第三方工具。
   因此,无论你是一个刚刚起步的游戏开发新手,还是资深业界专家,都能够在本书中找到灵感,增强洞察力及开发的技能。将书中介绍的开发经验和技巧应用于实际项目中,将缩短开发时间,提高效率。
作译者介绍:
Scott Jacobs从1995年起就在游戏行业工作了。当前他是Destineer的高级软件工程师。在进入Destineer之前,他作为软件工程师在严肃游戏公司VirtuaI Heroes,以及包括Redstorm Entertainment在内的两家Ubisoft工作室工作,并在Interactive Magic正式进入游戏开发行业。他也是《游戏编程精粹6》中网络和多人游戏章节的编辑。他现在与他的妻子以及一些小动物住在北卡罗来纳。
项周臻, hermitab@qq. com, 毕业于上海大学计算机工程系. 8年网络游戏开发经验, 在游戏制作流程管理、游戏质量管理、网络编程、物理、脚本、图形图像、性能优化和人工智能方面有浓厚的兴趣. 目前在腾讯公司工作, 担任一款网络游戏项目的开发经理兼主程序. 本次翻译的主要负责人, 翻译第1章的第6~第10节以及第4章和第7章.
为感谢大家的支持, 特上传本书第一部分的源代码, 请大家持续关注, 踊跃评论, 评论数达到50即上传第二部分源码. 谢谢.
上传的源代码的part2, part3和part6, part4和5暂缺. 等找到后再补上.
近期准备发布图书列表, 大家只需在评论里回复图书序号, 我会优先发布需求人数多的书目, 希望大家配合. 看不清图片请复制图片地址后在新窗口打开
Premier游戏开发丛书
游戏开发经典丛书
游戏开发技术系列丛书
游戏软件开发专家系列
第九艺术学院游戏开发系列
游戏编程相关
Direct 3D技术
游戏脚本编程
人工智能编程
服务器端编程
相关学习资料
&&&& &&&&&&&&&&&&&&&&
学习资料库,由广大资源爱好者通过共享互助而共享各种学习资料,但学习资料库无法保证所共享资料的完整性和合理性
版权所有 Gzip enabled网络游戏服务器开发 - 随笔分类 - 红脸书生 - 博客园
Powered by:
模板提供:
随笔分类 - 网络游戏服务器开发
摘要: 在基于集群化服务器的游戏中,游戏程序员需要解决如何在服务器间分配客户端以及在服务器间交流信息。 集群化服务器的目的是减少每个服务器需要处理的客户端数量。当每台服务器处理更少的玩家时,意味着更少的客户端与服务器直接相连;仅对在这台服务器上的玩家进行操作。 比如说,如果有100个玩家,随机地将这些客户端分配给2台服务器,每台服务器有50个人。当一个客户端将其移动的消息发送给其所属的服务器时,为了保证...
红脸书生 阅读(2114) |
摘要: 游戏空间剖分是针对大型多人游戏的一种优化策略。多个玩家同时在线,客户端与服务器必须频繁进行数据交互,以保持游戏的同步。如果玩家达到上千个,游戏场景巨大,许多玩家在场景中可能相隔遥远,彼此不能相互看到,也不存在任何沟通。在这种情况下,给每个玩家广播场景的更新消息就会消耗巨大的网络带宽。如果将场景进行预先剖分,并在游戏进行过程中实时更新玩家所在的子空间,服务器根据玩家所在的空间索引号,然后只对相同空...
红脸书生 阅读(1018) |
摘要: 多播(Multicasting)将数据发送到网络组的各个地址,而不是单个地址。在多播技术中,服务器不是每次给一个地址单独地发送一个消息,而是告诉网络中的路由器,这是一个多播消息,路由器会把这个消息向多个目的地址转发,可以一次给多个地址发送消息。这样一次多播就可以将数据发送到所有需要得到数据的客户端。实际上,多播技术把服务器分发数据的任务转交给了网络中的路由器等路由设备。因此,多播降低游戏服务器的...
红脸书生 阅读(879) |
摘要: 网游数据包发送的特点是:每次发送数据的数据量很小,但是频率非常高。 每次发送数据所占带宽越小,给服务器造成的压力也就越小。 一般用于节约网络带宽的设计策略有: (1)只发送一次静态数据 通常在网络应用程序中,服务器将传送一定量的静态数据给客户端。这些数据可能是为3D世界初始化的参数,客户名字,或者一些对象的不变状态常量。网络引擎应该提供一种缓存字符串数据(客户名字、任务描述等等)的机制,只将给定...
红脸书生 阅读(1227) |
摘要: 游戏引擎简单的说就是独立于外部资源,具有一定完整功能的底层函数集。 网络游戏引擎主要由图形引擎、网络引擎、物理引擎、人工智能引擎、声效引擎等组成。以下为几种较流行的图形与网络引擎1、图形引擎(1)OGRE图形引擎:一款开源的图形渲染引擎,只有图形部分。(2)RenderWare图形引擎:国际著名的商业游戏引擎。功能全面,全部用C写成。 该引擎较成功,涉及了游戏开发各个方面(除了网络),图形模块最大,为了适应跨平台特性,采用了组件化的插件式结构。 2、网络引擎 网络引擎封装了操作系统本身的并发和进程间通信机制,国外常用的引擎有:(1)DirectPlay网络引擎:是微软的DirectX软件开发.
红脸书生 阅读(1731) |
摘要: http://blog.csdn.net/gddsky/archive//1831688.aspx 要描述一项技术或是一个行业,一般都会从其最古老的历史开始说起,我本也想按着这个套路走,无奈本人乃一八零后小辈,没有经历过那些苦涩的却令人羡慕的单机游戏开发,也没有响当当的拿的出手的优秀作品,所以也就只能就我所了解的一些技术做些简单的描述。一来算是敦促自己对知识做个梳理,二来与大家...
红脸书生 阅读(5597) |
摘要: 本文描述了一个我所设计的游戏服务器体系结构,其目的是实现游戏服务器的动态负载平衡,将对象从繁忙的服务器转移到相对空闲的服务器中.设计并没有经过具体的测试与验证,仅仅是将自己目前的一些想法记录下来.随着新构思的出现,可能会有所变化. 以下是服务器的逻辑视图,其中忽略了管理和监控模块 --------------------------------------------------------|逻辑...
红脸书生 阅读(1696) |
摘要: 原文地址:/Program/Abstract/Thinking/online_g_4.htm 在这一章节,我想谈谈关于服务器端的脚本的相关设计。因为在上一章节里面,谈NPC智能相关的时候已经接触到一些脚本相关的东东了。还是先来谈谈脚本的作用吧。  在基于编译的服务器端程序中,是无法在程序的运行过程中构建一些东西的,那么这个时候就需要脚本语言的支持了,由于...
红脸书生 阅读(1208) |
摘要: 原文地址:/Program/Abstract/Thinking/online_g_1_2.htm 谈这个话题之前,首先要让大家知道,什么是服务器。在网络游戏中,服务器所扮演的角色是同步,广播和服务器主动的一些行为,比如说天气,NPC AI之类的,之所以现在的很多网络游戏服务器都需要负担一些游戏逻辑上的运算是因为为了防止客户端的作弊行为。了解到这一点,那么...
红脸书生 阅读(2439) |
摘要: 原文地址:/Program/Abstract/Thinking/online_g_3.htm  下面我想来谈谈关于服务器上NPC的设计以及NPC智能等一些方面涉及到的问题。首先,我们需要知道什么是NPC,NPC需要做什么。NPC的全称是(Non-Player Character),很显然,他是一个character,但不是玩家,那么从这点上可以知道,NP...
红脸书生 阅读(1122) |加载中,请稍候...
加载中,请稍候...
京 东 价:
¥29.60 [7.5折][定价:¥39.80]
温馨提示:
其它类似商品
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
C/C++开发专家:网络游戏Server编程
查找同类商品
  它是网络游戏服务器开发的经典图书。全面剖析应用开发技术,学有所用。详细阐释网络游戏服务器编程的精髓。
  向读者展示了网络游戏服务器设计和开发的基础知识及实战案例,首先介绍了C/C++的基础知识、开发服务器所必需的基础类及通信类;然后说明了C/C++基础知识中的继承(Inheritance)、重载(Overloading)等概念,以及基础类中的Log、Memory类和Thread类;接着在通信类中对服务器编程所需的Winsock及IOCP进行了说明;还介绍了如何运行库和类设计游戏服务器;另外,介绍了其他书籍中不常见到的性能监视器(Performance
Monitor)、Packet管理框架、MiniDump、UDP
punching等内容;最后设计了PIGU游戏服务器。  《网络游戏Server编程》适合广大网络游戏开发人员参考学习,同时也可作为高等院校相关专业师生的参考用书。
基础知识1.1
什么是模块化1.1.1
为什么要模块化1.1.2
如何进行模块化1.2
函数指针(Delegate)1.3
Windows函数的使用1.3.1
为什么要使用Windows函数1.3.2
常用函数的使用1.3.3
TCHAR的使用1.4
类和继承1.4.1
什么是继承1.4.2
Virtual的使用1.5
模板(Template)1.6
运算符的重载(Operator
Overloading)1.7
服务器程序的思考方式1.7.1
内存管理的比较1.7.2
type的指定1.7.3
类型转换的方法1.7.4
Const的生活化1.8
线程(Thread)1.9
纤程(Fiber)1.10
临界区(Critical
Section)1.11
基础库的制作2.1
Stream类2.2
Registry类2.3
IniFile类2.4
CircularQueue类2.5
系统库的制作3.1
MemoryPool类3.1.1
内存管理3.1.2
不同内存管理方法的说明3.1.3
源代码分析3.1.4
Crypt类3.2.1
简单的加密3.2.2
源代码分析3.2.3
Service类3.3.1
什么是Service3.3.2
使用API说明3.3.3
源代码分析3.3.4
MiniDump类3.4.1
异常处理(Handled
exception)和未处理异常(Unhandled
exception)3.4.2
小型转储(MiniDump)3.4.3
使用API分析说明3.4.4
源代码分析3.4.5
MemoryLeak类3.5.1
源代码分析3.5.2
ThreadSync类3.7
Random类3.8
Base的制作4.1
Network类4.1.1
源代码分析4.1.2
TCP源代码分析4.1.3
UDP源代码分析4.1.4
PacketSession类4.2.1
TCP源代码分析4.2.2
UDP源代码分析4.3
EventSelect类4.4
网络模块(Network
Module)的运用案例5.1
IOCP案例5.1.1
源代码分析5.1.2
IOCP案例5.3
CClientSession案例5.4
实用模块的制作6.1
Generator的制作6.1.1
处理程序分析6.1.3
使用方法6.2
Performance
Monitor的制作6.2.1
性能监视器(Performance
Monitor)6.2.2
性能监视器注册表结构6.2.3
性能监视器DLL结构6.2.4
源代码分析6.2.5
使用方法6.3
客户端/服务器(Client/Server)的应用7.1
源代码整理7.2
服务器的基本制作7.2.1
Serverlocp类7.2.2
ConnectedSession类7.2.3
ConnectedSessionManager类7.2.4
Serverlocp类的添加7.2.5
Server.cpp的添加7.2.6
KeepAlive的添加7.3
客户端的基本制作7.3.1
TestClientSession类7.3.2
协议(Protocol)的定义7.5
协议(Protocol)的整理7.5.1
服务器协议的处理7.5.2
客户端的添加事项7.6
功能操作的确认7.7
Punching8.1
NAT类型8.1.1
Restricted
Restricted
Punching第9章
游戏服务器案例9.1
协议(Protocol)分析9.2
Character类说明9.3
ConnectedUser类说明9.4
ConnectedUserManager类说明9.5
Room类说明9.6
RoomManager类说明9.7
GameIOCP类说明9.8
GameUDPIOCP类说明9.9
LobbyProtocol处理9.10
GameProtocol处理9.11
服务器设计案例作者寄语
  16年前,父亲曾经送给我一本电脑读物作为初中的入学礼物,记得当时的电脑只是用于游戏和文字处理,而如今电脑已经成了我们生活中必不可少的家电产品,小时候在科幻电影中才能看到的电脑订餐、网络购物也已经成为了现实。不过十余年,电脑技术已经有了惊人的发展和变化。电脑技术的发展可以说是日新月异。在以前,KB已经算是很大的容量,而现在,人们已经不满足于TB的容量了。《网络游戏Server编程》将要介绍的就是历史最为悠久的游戏编程。回顾一下自己的游戏历程:最早接触游戏早在初中时候,印象最深的就是趁父母睡觉时偷偷爬起来玩游戏,可以说当时痴迷于游戏。到了高中,就有了自己设计游戏的想法,最后不顾父母的反对报考了计算机专业。大学毕业之后也就开始步入游戏相关领域,直到现在,笔者还对游戏有着非同一般的热情。因此,谨以此书献给和我一样有着游戏开发热情的广大读者。  《网络游戏Server编程》向读者展示了网络游戏服务器设计和开发的基础知识,以及实战案例。首先介绍了C/C++的基础知识、开发服务器所必需的基础类及通信类;然后说明了C/C++基础知识中的继承(Inhefitance)、重载(Overloading)等概念,以及基础类中的Log类、Memory类和1hread类;接着在通信类中对服务器编程所需的Winsock及IOCP进行了说明;还介绍了如何运行库和类设计游戏服务器;另外,还介绍了其他书籍中不常见到的性能监视器(PerformanceMonitor)、Packet管理框架、MiniDump、UDP
punching等内容,最后设计出PIGU游戏服务器。  感谢帮助我和鼓励我的各位朋友,尤其是情报文化社的南武铉组长、李美香女士。  感谢一直以来信任、鼓励我的父母。  最后还要感谢我亲爱的妻子,正是你的关爱和支持,才使我有了今天的收获。
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
七日畅销榜
新书热卖榜扫一扫下载手机客户端
扫描我,关注团购信息,享更多优惠
||网络安全
| | | | | | | | | | | | | | | |
||电子电工
汽车交通| | | | | | | | | |
||投资理财
| | | | | | | | | | | | | | | | |
| | | | | | |
| | | | | | | | | | | | | | | | | | |
| | | | | | |||
||外语考试
| | | | | | | | |
| 视频教程|
DevOps故障排除:Linux服务器运维最佳实践
通过阅读本书,开发人员可以融入到DevOps的开发环境中,加强与运维人员的合作,从而大幅提高解决问题的速度和效率。
定价:¥39.00
校园优惠价:¥29.25 (75折)
促销活动:
商品已成功飞到您的手机啦!快登录手机站看看吧!
下载客户端
> 微信关注“互动出版网”,便捷查询订单,更多惊喜天天有
原书名:DevOps Troubleshooting: Linux Server Best Practices
原出版社:
ISBN:8上架时间:出版日期:2014 年4月开本:32开页码:184版次:1-1
所属分类:
  DevOps故障排除方面的力作,由资深系统管理员和DevOps工程师撰写
根据Linux系统中的常见问题,系统讲解标准化、可重复使用的DevOps故障排除技术,实用性强
DevOps是一组过程、方法与系统的统称,用于促进开发者、质量保证人员(QA)以及系统管理员之间的沟通、协作与整合。在DevOps团队中,虽然大家一直强调团队合作,但由于没有相同的故障排除技术,在遇到问题时,每个人往往限于自己的传统职责,要等到其他人诊断完成后方能开始工作。这样,尽管采用了DeVOPs原则,企业的效率也并不高.本书面向DeVOps团队,通过系统讲解常见的Linux故障排除技术,帮助开发者更准确地追踪系统负载加重的原因,让QA人员在产品发布前更好地诊断问题,系统管理员对自己的诊断更有把握。
《DevOps故障排除:Linux服务器运维最佳实践》首先介绍了故障排除中要掌握的基本方法和原则,然后针对Linux系统中的常见问题,逐个分析故障原因并给出故障排除方法,这些问题包括服务器运行缓慢、系统无法启动、不能写入磁盘、服务器宕机、主机名无法解析、Web服务器宕机、数据库运行缓慢等,最后还简单介绍了常见的硬件问题。
《DevOps故障排除:Linux服务器运维最佳实践》内容全面,结构清晰,适合开发者、QA人员和系统管理员学习参考。
Kyle Rankin
高级系统管理员、DevOps开发工程师、美国北湾地区Linux用户组主席.他著有《The Official Ubuntu ServerBook》、《Knoppix Hacks》和《Ubuntu Hacks》等书,不仅是《Linux Journal》杂志享誉盛名的专栏作家,还是《PC Magazine》杂志、TechTarget网站等多家媒体的撰稿人。Rankin经常出席SCALE(南加州Linux展会)、OSCON(O'Reilly开源大会)、Linux World Expo、Penguicon以及一些 Linux用户组会议,并就开源软件发表演讲。
毕业于武汉大学,之后开始从事网络游戏服务器开发。先后开发过端游和页游服务器,现就职于某外企,从事游戏开发工作。业余时间喜欢技术类书籍翻译以及移动游戏开发。
拥有武汉大学学士学位,中国科学技术大学硕士学位。现就职于某国企互联网部,从事网络运维开发工作.对于Linux服务器运维有丰富的经验,对”大流量,高并发”的应用场景有着深刻的理解,擅长自动化运维工具的开发与使用,尤其是对报警相关流程的自动化有着独到的见解。
拥有北京邮电大学硕士学位.资深Web开发工程师和系统工程师,现就职于某搜索公司,专注于计算广告系统和移动搜索算法研究相关工作,工程实践经验极为丰富。
《DevOps故障排除:Linux服务器运维最佳实践》
第1章 故障排除的最佳实践 1
1.1 划分问题空间 2
1.2 协同工作时的良好沟通 3
1.2.1 电话会议 3
1.2.2 直接对话 4
1.2.3 电子邮件 5
1.2.4 实时聊天室 6
1.2.5 备用沟通方法 7
1.3 首选快速、简单的测试,而不是缓慢、复杂的测试 7
1.4 多尝试过去的解决方案 8
1.5 记录问题和解决方案 9
1.6 了解改动 11
1.7 了解系统如何工作 12
1.8 谨慎使用Internet 13
1.9 抵制重启 14
第2章章服务器为什么这么慢?耗尽了CPU、RAM和磁盘I/O资源 15
2.1 系统负载 16
  在日常工作中,我们经常会碰到一些运维相关的问题。当服务器出现问题时,开发人员一般都束手无策,要等运维人员解决问题才能继续工作。而运维人员在解决问题的过程中,又有可能需要开发人员的协助,但由于开发人员一般对运维技术知之甚少,不但合作效率低下,而且可能产生摩擦。
  通过阅读本书,开发人员可以融入到DevOps的开发环境中,加强与运维人员的合作,从而大幅提高解决问题的速度和效率。对于系统管理员和其他运维人员来说,本书也提供了一些进阶知识,可以用来扩展知识面。无论是开发人员还是运维人员,阅读本书之后,都能掌握一致的故障排除技术,这样当服务器出现问题时,就能够顺畅地沟通,团结协作,更有效率地解决问题。
  本书由浅入深,层次分明,首先介绍了贯穿本书的故障排除中要掌握的基本方法和原则,然后从服务器的启动开始讲起,再过渡到常用服务器的故障排除技术,最后还简单介绍了常见的硬件问题。书中介绍的方法与技术都相当简单、实用,操作性很强,读者既可以在碰到问题时,把本书当做工具书,查阅相关内容;也可以在闲暇时通读本书,更好地了解Linux服务器故障排除的种种标准方法。
  DevOps方法近年在国内慢慢开始流行,但相关中文书籍并不多,能够翻译这样一本优秀的书我深感荣幸。本书的翻译过程颇费周折,感谢编辑关敏女士,她的大力支持使本书得以顺利完成。由于译者水平有限,难免有所疏漏,敬请广大读者批评指正,共同进步。
  DevOps描述了开发者、质量保证人员(QA)以及系统管理员团结协作的一种工作环境,其中的合作比传统环境中的合作更紧密。人们已经认识到DevOps在软件快速部署和自动化方面的巨大价值,但是通常会忽略DevOps方法在解决整个团队协作处理系统故障时的作用。遗憾的是,开发者、QA以及系统管理员三者所掌握的故障排除技术存在不小的差距,当系统出现问题时他们往往会相互责备。本书旨在缩小这类差距并引导所有的群组进行一系列标准的故障排除实践,通过这些实践他们可以作为一个团队来处理绝大多数常见的Linux服务器问题。
  尽管本书介绍的主题都是系统管理领域老生常谈的话题,但是在DevOps环境中,处理网络问题、设置Web服务器以及诊断高负载问题时也能看到开发者和QA的身影,即使他们可能并没有Linux管理背景。本书不同于普通的系统管理问题诊断指南之处在于它的读者对象和专注点。本书假设读者可能不是Linux系统管理员,而是DevOps组织中一名有天赋的开发者或QA工程师,他们可能没有很多系统级的Linux经验。即便如此,如果你是一名系统管理员,本书也同样适合你。本书还包含了让高级系统管理员也能补充技能的故障排除技术―用一种易于理解的方法。
  在一个传统的没有DevOps原则的企业中,故障排除和开发工作都会不正常。当出现服务器问题时,如果在会话中既有开发者也有系统管理员,可以预见他们每个人都会陷入自己的角色职责当中:系统管理员仅会查看服务器资源和日志;开发者将会等待来自团队的不可避免的责备,批评他们那些或臃肿或bug丛生的代码,与此同时开发者和系统管理员都会抱怨服务器不稳定,功率不足;或者也许每个人都会调转枪口,责备QA人员没有在将产品部署到生产环境之前找到问题。实际问题一直都无法解决。
  在DevOps组织中,一直强调团队合作,但故障排除时,成员仍然会陷入自己传统的职责中,即使团队中没有责备的情况出现也是如此。为什么呢?这是因为即使团队中的每个人都想协同工作,但是由于没有相同的故障排除技能和技术,每个人仍然需要等待其他人完成各自那部分的故障诊断,才能开始工作。本书的目标在于当开始进行Linux故障排除时,让DevOps团队中的每一位成员都能达成共识。如果每个人都有同样的Linux故障排除技术,那么QA团队就能在产品发布前更好地诊断问题,开发者也能更好地追踪为什么最近的代码提交让系统负载加倍,而系统管理员可以对自己的诊断更自信,这样,当出现问题时,每个人都能参与进来提供帮助。
  本书根据Linux系统中一些常见的问题分成10章,并且这些章节按照层次关系排序,这样前面学到的技术(尤其是如何排除高负载问题和如何排除网络问题)对于后面章节的学习非常有帮助。虽然如此,我知道你可能不会从头到尾一章一章地阅读本书,而是只看那些与你遇到的问题相关的章节。所以,当其他章节的内容有用的时候,我会指出来。
  第1章在学习如何排除特定故障之前,最好学习一些能够应用于任何问题的故障排除技术,甚至是Linux系统之外的技术。该章会讨论一般的故障排除原则,当你尝试开始执行贯穿全书的特定故障排除步骤时,将会用到这些内容。
  第2章这一章介绍一个原则,它可以应用于处理最常见的问题之一:为什么服务器这么慢?如果你在QA团队,想要弄明白为什么最近运行的负载测试这么慢;如果你是一名开发者,正尝试找出程序是受到I/O限制、RAM限制还是CPU限制;或者如果你是一名系统管理员,不确定8、9或13的负载是否正常,本章将会教你解决负载问题的全部技术。
  第3章许多不同的问题都会阻止系统正常启动。无论你是否思考过Linux启动过程,本章都会帮助你追踪启动问题,首先带你浏览一下Linux的正常启动流程,然后再讨论启动过程每一个阶段失败的情况。
  第4章几乎所有使用过一段Linux操作系统的人都曾经碰到过无法写入硬盘的情况。这有可能是因为开发者开启了调试日志,无意间日志塞满了磁盘,或者你只是系统崩溃的受害者。无论是哪种情况,该章都会帮助你跟踪哪些文件夹占用了大量磁盘空间以及如何修复文件系统崩溃。
  第5章无论你在DevOps组织中的角色是什么,网络诊断技能对你来说都相当有价值。有时网络问题很难追踪,因为它们经常会用奇怪的方式影响系统。这一章将会通过测试不同网络层的问题,一步步地分离并诊断网络问题。这一章也为本书后面介绍的特定网络服务故障排除奠定了基础。
  第6章DNS是很难进行故障排除的棘手服务之一,因为虽然有很多网络服务都依赖于DNS,但是很多用户仍然不了解它的工作原理。无论你是一个通过注册商的GUI网页界面获得DNS服务器的网页开发者,还是管理完整BIND实例的系统管理员,这些DNS故障排除技术都非常宝贵。该章将会追踪一个普通、成功的DNS请求,然后用更专业的技术详细讲述DNS故障排除,寻找DNS区域传输、缓存问题甚至语义错误的问题。
  第7章邮件是互联网上最早的服务之一,直到现在它仍然是一种非常重要的沟通方式。你是否追踪过为什么自动测试邮件无法正常发送,为什么软件邮件通知被阻塞,或者为什么整个公司的邮件投递都出了问题?该章将会帮你解决诸多邮件问题,包括配置错误的转发服务器以及DNS相关的邮件服务器问题。该章甚至会介绍如何通过telnet手动发送邮件。
  第8章我们每天使用的很多应用程序都基于Web。事实上,如果你是一名软件开发者,很有可能会进行网页编程,至少要编写一部分。如果你是一名系统管理员,很可能会负责至少一个Web服务器。Web服务器的故障排除是一个很庞大的主题,但是该章只讨论你最有可能会碰到的当前最流行的两大Web服务器:Apache和Nginx。该章将会讨论如何拉取服务器状态,如何确定高服务器负载的原因以及其他常见的调试技术。
  第9章就像每天使用的很多软件都是基于Web的一样,你使用的很多软件都会将数据存储到某种数据库中。该章与第8章类似,只是它的关注点是当今两大开源数据库服务器―MySQL和PostgresSQL的故障排除工作。与第8章一样,它还讨论如何从这些数据库拉取负载指标,如何确定问题查询以及其他导致高负载的问题。
  第10章除了对软件的关注,我们也会讨论最常见的服务器问题之一:硬件失效。硬件失效的问题通常是指硬件没有完全损害,但内存中含有段错误、硬件驱动扇区失效或者以太网卡随机丢失包。更糟糕的是,这种失效通常会导致难以追踪的软件问题。该章讨论如何进行常见的硬件失效故障排除,从损坏的内存到硬件驱动失效再到有问题的网卡。该章包含的硬件故障排除技术可以应用到任何地方―从生产环境的架式服务器到个人笔记本。
  感谢Debra对本书从构思到成书这一路上所提供的大力支持。也要感谢在本书写作过程中提出反馈意见的Trotter和Bill。最后感谢我曾经遇到过有问题的系统,这些有问题的系统磨练了我的故障排除技术。
  感谢我的妻子Joy,没有她的支持和帮我管理时间,本书将无法完成。我们的第一个孩子Gideon恰好在此时出世。同时也要将本书献给我的儿子Gideon,到现在为止,他比任何服务器故障都好“处理”。
  “如果你是一名开发者,想要弄明白为什么你的应用程序会在凌晨3点出问题,那么这本书正好适合你!现在每次诊断问题时,我都会从本书中寻求答案.在解决复杂的运维问题方面,本书的确为我节省了很多时间。”
  ――Trotter Cashion,Mashion公司联合创始人
  故障排除的最佳实践
  故障排除是一项技能,和所有的技能一样,不论是变魔术、弹吉他、烹饪或者编程,有的人生来就有天分,有的人则不然。如果你很自然地就掌握了某种技能,可能会认为别人也能轻松掌握。毕竟,如果你第一次尝试就学会了骑自行车,可能就会想当然地以为别人学会骑自行车也不需要付出多少努力。
  有人天生善于排除故障,当出现故障的时候,他们会不假思索地采取行动,本能地选择方法进一步隔离故障,直到查清故障的根本原因。当你把汽车交给一个善于排除故障的汽车修理工,在你刚描述完车子的“症状”后,他就已经开始摆弄你的汽车了,因为在你描述时他已经把问题锁定在少数几个成因上,并且预判了问题的原因。做过一些测试之后,他确认了预判的正确性,开始动手修理了。另外一种情况是,当你把汽车送给一个不善于排除故障的汽车修理工,你将会收到高昂的维修账单,不断地去维修店换掉汽车的一个又一个部件。
  故障排除技能任何人都可以学会,和很多技能一样,故障排除需要用到一些技术,不论是否有天赋,都可以通过训练使这些技术成为本能。你不仅想成为排除故障的高手,还希望能够成为排除故障的快手。在用金钱衡量故障时间的环境下工作更是这样。毕竟,不论是优秀的汽车修理工还是差的汽车修理工最终都会修好你的车,但是你更希望哪个汽车修理工来修理你的汽车呢?
  在DevOps组织里,团队中的每位成员都负责一部分故障排除。开发者排除软件中的漏洞,系统管理员排除硬件问题,质量团队首先花费大量时间寻找问题,然后尝试定位问题的根本成因。当DevOps团队中的每个人使用相同的经过验证的故障排除技术时,整个团队都会从中受益。
  本章介绍的一些故障排除最佳实践可以应用到任何问题上。当你读过本章之后,会发现其中大部分实践都是常识,但是你会惊讶地发现,当遇到问题时,竟然有那么多人都忽略了这些常识。
  1.1划分问题空间
  如果让你去猜我正在想的一个1~100内的数,你会猜哪个?比如这个数是73,每次猜完之后我会告诉你你猜测的数字比这个数大还是小。一些人可能会随机猜某个数字,或者从1开始逐步递加。善于排除故障的人可能会这样猜:50(小了),75(大了),63(小了),69(小了),72(小了),73。每次猜测都会排除一半的可能性。这个例子里,为找到正确答案只猜了6次。而如果从1开始递加,需要猜73次。如果是随机猜,有可能要遍历所有的数字才能猜中答案。
  这个方法适用于所有的故障排除。面对问题,一些人从可能产生问题的原因列表的底层开始,一步一步解决问题,另外一些人选择随机测试直到幸运地找到原因。一位优秀的故障排除人员选择的每一项测试的结果都会排除一类原因,而不是一个原因,将故障分而治之。划分问题空间之后,即使一项测试不能找到故障的根本原因,测试结果最少也能排除掉几个可能的原因。
  例如,如果我尝试用浏览器访问一个网站,但是请求超时,此时我想测试是网站的原因还是我的网络连接有问题,但我不会立即去查看网线是否没有插好,而是访问一两个通常都很稳定的其他网站。如果别的网站能正常加载,就可以确定我的网络连接正常,从而省去一系列本地网络测试。
  当你和团队中的其他人协作排除故障时,也会在团队成员之间划分问题空间,没有比跟踪一个问题的时候发现有人也在做相同的测试更坏的事情了。当你在团队环境下着手解决一个问题时,要给每个人分配不同的测试并保证一旦某个人排除了一个原因,能及时把结果传达给其他人。
  1.2协同工作时的良好沟通
  建立良好的沟通方法是团队排除故障的最大挑战之一。如果没有良好的沟通,两个人不会意识到正在解决相同的问题,一个人会重复排查别人已经检查过的问题。更糟糕的是,人们误解了说明,让问题变得愈加严重。下面几节将会介绍协作时用到的不同沟通方法,并且描述在不同场景下哪些沟通方式有效,哪些无效。
  1.2.1电话会议
  电话会议是解决问题时最常见但也绝对是最坏的方法之一。它最大的问题是电话会议上每次只有一个人可以说话。即便你很幸运,只与直接解决问题的人打电话,但其他人就算有新信息、突破性进展、警告或者别的信息,都不得不等轮到自己发言时说。即使轮到他们发言,因为多次发言的中断、糟糕的电话信号或者来自忘记静音的麦克风的背景噪音,不能保证每个人一次就能理解他们所说的内容。在沟通命令行命令、IP地址、日志输出或者任何其他远程技术时尤为困难。
  如果解决问题的速度很重要,那么电话会议已经给你设置了很多障碍。首先是花费在查找电话会议号码和接入码的时间。接好会议电话设备,然后等待“中间人”加入会议。接通会议电话后,可以预料的是前五到十分钟完全没有意义,因为会话将会是这样的:
  *嘟嘟*“×××加入会议。”
  Fred:“谁刚加入?”
  Ted:“是我Ted,事情是这样,网站宕机了,你认为是什么问题?”
770)this.width=770;' />
系列图书推荐 ¥69.00¥49.68
同类热销商品¥108.00¥81.00
订单处理配送
北京奥维博世图书发行有限公司 china-pub,All Rights Reserved

我要回帖

更多关于 邮件服务器有哪些 的文章

 

随机推荐