服务器类型

高性能服务器架构(必会)

瘦欲@ 提交于 2019-12-15 06:25:57
引言 本文档的目的是为了同大家分享多年来我在开发一种特定类型的应用时形成的一些观点,而“服务器”只是对这类应用程序的一个不是那么恰如其分的称谓。更准确的说,我将描述的是一大类的程序,这类程序的设计使得它们能够在每秒钟内处理数量十分巨大的离散消息或请求。网络服务器是最为常见的同此定义吻合的软件,但是,并非所有同此定义吻合的程序绝对可以称作是服务器。然而,“高性能请求处理程序”这种称谓又很难让人接受,所以,为了行文简单起见,我就用“服务器”这个词了事了。 尽管在单个程序中进行多任务处理现在早已司空见惯了,但我将不会对“适度并行”的应用程序进行讨论。就在现在,你阅读本文档所用的浏览器可能正在以并行的方式做着一些事情,但是如此低水平的并行真是不会带来任何值得关注的挑战。真正值得关注的挑战出现在处理请求的架构本身是总体性能的限制性因素的时候,此时对架构进行改善就能够真正地提高性能。运行在主频为几G赫兹的CPU和上G内存的环境中,通过DSL线路同时进行着6个下载任务的浏览器,往往就不属于这种情况。这里的重点并不在于象是用吸管喝着饮料似的应用程序,而是在于象是通过消防拴来喝水的应用程序,这类程序处于马上就要突破硬件能力的边缘地带,你对这类程序的设计起着至关重要的作用。 毫无疑问有些人会反对我的意见和建议,或者认为他们有更好的办法。这非常好。这里我可不是想要发出什么上帝之声

reids的哨兵和集群

萝らか妹 提交于 2019-12-15 05:08:26
一.哨兵机制 任务:   有了主从复制的实现以后,如果想对主服务器进行监控,那么在redis2.6以后提供了一个"哨兵"的机制。顾名思义, 哨兵的含义就是监控redis系统的运行状态 。可以启动多个哨兵,去监控redis数据库的运行状态。其主要功能有两点:   a、监控所有节点数据库是否在正常运行。   b、master数据库出现故障时,可以自动通过投票机制,从slave节点中选举新的master,实现将从数据库转换为主数据库的自动切换。   一个一主多从的Redis系统中,可以使用多个哨兵进行监控任务以保证系统足够稳健。此时,不仅哨兵会同时监控主数据库和从数据库,哨兵之间也会相互监控。在这里,建议大家哨兵至少部署3个,并且使用奇数个哨兵。   Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务: a、 监控 (Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。 b、 提醒 (Notification):当被监控的某个 Redis出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者其他应用程序发送通知。 c、 自动故障迁移 (Automatic failover):当一个Master不能正常工作时,哨兵(sentinel) 会开始一次自动故障迁移操作

华为存储服务器卷丢失数据恢复成功案例

折月煮酒 提交于 2019-12-14 21:16:58
一、存服务器故障环境描述 客户设备为华为OceanStor S5600T服务器,同时支持SAN和NAS存储协议。某天服务器在运行时客户发现存储上一个NAS卷中的数据丢失,卷大小为4T,主要数据类型为office文件,PDF文档文件,图片文件(JPG、JPEG、PNG等),视频文件(MP4、AVI等),音频文件(MP3等)。管理员随即关闭系统应用,停止上传数据。 二、服务器数据备份 1、准备好备份空间及备份服务器,将备份服务器连接至客户的存储环境中; 2、查看存储管理界面,找到4T卷所对应的服务器LUN,经查看,改卷对应两个服务器LUN; 3、将对应的LUN映射至备份服务器,使用数据恢复工具对LUN进行镜像备份。 三、服务器数据恢复过程 1、分析服务器LUN 的结构,解析两个LUN之间的对应关系; 图1 LUN1 图2 LUN2 2、分析4T的NAS卷在两个存储LUN中的分布情况,将4T卷虚拟重组出来; 3、分析4T卷的存储结构,获取文件系统类型、超级块、节点等结构; 4、分析该4T卷中的超级块、节点等结构,获取节点、目录项、数据区之间的索引关系; 图3 超级块 图4 节点 5、编写程序,解析目录项、节点,提取数据。 四、数据恢复结果 1、对4T卷的全部空间进行扫描,发现文件系统的目录项还在,并扫描目录项和节点,查看文件系统的日志中找到部分有效的节点 图为找到的部分目录项及其对应节点

【Linux】HTTP状态码速览

陌路散爱 提交于 2019-12-14 19:44:34
HTTP状态码 当浏览者访问一个网页时,浏览者的浏览器会向网页所在的服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以相应浏览器的请求。 常见的HTTP状态码: 200 -请求成功 301 -资源(网页等)被永久转移到其它URL 404 -请求的资源(网页等)不存在 500 -内部服务器错误 HTTP状态码分类 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型 : HTTP状态码分类 分类 分类描述 1** 信息,服务器收到请求,需要请求者继续执行操作 2** 成功,操作被成功接收并处理 3** 重定向,需要进一步的操作完成请求 4** 客户端错误,请求包含语法错误或无法完成请求 5** 服务器错误, 服务器在处理请求的过程中发生了错误 HTTP状态码列表: 状态码 状态码英文名称 中文描述 100 Continue 继续,客户端应继续其请求 101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,比如切换到HTTP的新版本协议 200 OK 请求成功。一般用于GET与POST请求 201 Created 已创建。成功请求并创建了新的资源 202 Accepted

http协议

你离开我真会死。 提交于 2019-12-14 15:36:22
想来在下也工作多年,知识亦学亦忘,人生苦短,总该留下点滴,以备所需查找翻阅...... 一、基本概念 HTTP (Hyper Text Transfer Protocol) ,即超文本传输协议,是当下互联网应用最为广泛的一种网络协议;基于TCP/IP,是一种应用层的协议;简而言之,就是实现client端与server端交互的一种统一格式,这也就是为什么叫做协议,即双方要照章办事,才能完成数据的交互成功。 二、特点 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type(Content-Type是HTTP包中用来表示内容类型的标识)加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 所以

zookeeper的作用与机制

狂风中的少年 提交于 2019-12-14 13:13:53
参考地址: https://www.cnblogs.com/ultranms/p/9585191.html 在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. 这大概描述了Zookeeper主要可以干哪些事情:配置管理,名字服务,提供分布式同步以及集群管理。那这些服务又到底是什么呢?我们为什么需要这样的服务?我们又为什么要使用Zookeeper来实现呢,使用Zookeeper有什么优势?接下来我会挨个介绍这些到底是什么,以及有哪些开源系统中使用了。 配置管理 在我们的应用中除了代码外,还有一些就是各种配置。比如数据库连接等。一般我们都是使用配置文件的方式,在代码中引入这些配置文件。但是当我们只有一种配置,只有一台服务器,并且不经常修改的时候,使用配置文件是一个很好的做法,但是如果我们配置非常多,有很多服务器都需要这个配置,而且还可能是动态的话使用配置文件就不是个好主意了。这个时候往往需要寻找一种集中管理配置的方法,我们在这个集中的地方修改了配置,所有对这个配置感兴趣的都可以获得变更

28道java基础面试题-下

半腔热情 提交于 2019-12-14 08:48:15
28道java基础面试题-下 15、Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用? 答:Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并可以对其进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果系统会抛出(throw)一个异常对象,可以通过它的类型来捕获(catch)它,或通过总是执行代码块(finally)来处理;try用来指定一块预防所有异常的程序;catch子句紧跟在try块后面,用来指定你想要捕获的异常的类型;throw语句用来明确地抛出一个异常;throws用来声明一个方法可能抛出的各种异常;finally为确保一段代码不管发生什么异常状况都要被执行;try语句可以嵌套,每当遇到一个try语句,异常的结构就会被放入异常栈中,直到所有的try语句都完成。如果下一级的try语句没有对某种异常进行处理,异常栈就会执行出栈操作,直到遇到有处理这种异常的try语句或者最终将异常抛给JVM。 16

sql(一) 笼统梳理sql语句

岁酱吖の 提交于 2019-12-14 08:01:28
注意:此文档所有sql,部分针对于oracle数据库,部分针对于mysql; 目录 一、基础sql: 二、提升 三、技巧 四、数据库开发 经典 五、SQLServer2000同步复制技术实现步骤 一、基础sql: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创表 --- 创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table

JavaWeb JSP学习笔记

别说谁变了你拦得住时间么 提交于 2019-12-14 07:15:47
博客咱也不会写啊 两节课就要把笔记整理 第一节课是Tomcat的安装还有Eclipse与Tomcat的连接 第二节学的简单动态网页的制作 课后有了第一个小作业 如何用jsp来写一个显示当前时间的动态页面 代码如下 < % @ page language = "java" contentType = "text/html; charset=UTF-8" pageEncoding = "UTF-8" % > < % @page import = "java.util.Date,java.text.*" % > < ! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > < html > < head > < meta http - equiv = "Content-Type" content = "text/html; charset=UTF-8" > < title > Insert title here < / title > < / head > < body > < % Date date = new Date ( ) ; out . println ( "当前的时间是" + date ) ; % > < / body > <

HTTP详细介绍

ε祈祈猫儿з 提交于 2019-12-14 05:56:56
一.概述 HTTP(Hyper Text Transfer Protocol),超文本传输协议,是一种建立在TCP上的无状态连接,整个工作流程基本是由客户端(client)向服务端(server)发送一个http请求,向server端请求需要的资源,到server端收到客户端的请求后,根据请求做出相应的动作访问服务器资源,然后通过HTTP相应将结果返回给client端。 HTTP工作流程 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址; 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接; 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器; 服务器对浏览器请求作出响应,并把对应的html文本发送给浏览器; 释放TCP连接; 浏览器显示html文本; http版本 0.9版本:仅支持html页面(已被淘汰); 1.0版本: (1)引入MIME(多用途互联网邮件扩展)机制,引入这个机制之后就可以发送多媒体信息; (2)引入keep-alive机制,支持持久链接的功能(但这个keep-alive原理是在首部添加了某个字段而形成,并非原生就支持此功能); (3)引入支持缓存页面功能; 1.1版本:1.0版本的升级,支持更多的请求连接方式