服务器类型

网站架构之缓存应用(摘录)

寵の児 提交于 2019-12-30 05:25:50
网站缓存这个话题并不新颖,但是能否将它用好,可是一门学问,同一件工具在不同人的手中会做出不同的事情来。这里我来分享总结下我对于网站架构中缓存应用的一些看法和经验,大家有好的想法可以补充 第一:缓存的一些基本概念。 1:缓存(CACHE)与缓冲(BUFFER)的区别,我认为缓存可以在某种程序上理解成一级缓存(Primary Cache),数据全局共享。缓冲则属于二级缓存,只对一部分对象共享数据,二级缓存在某种程序上主要是降低一级缓存组件的访问压力以及提高缓存的存取效率。 2:缓存的一些基本属性:命中率,表示缓存命中的次数/总的请求数,这是缓存设计的重要质量指标之一;缓存执行效率,例如GET,INSERT,DELETE等;容量,即缓存介质的容量最大值;成本,即开发成本,部署成本,软硬件成本。 3:缓存的问题,存储介质的选择往往左右缓存的设计,缓存在不命中时往往会使性能下降。 第二:网站中缓存的应用场景: 1:可以缓存整个页面的html,提高访问响应能力; 2:针对局部页面元素进行缓存; 3:对复杂数据的结果进行缓存,例如一个查询需要结合多个数据集,然后根据这些数据集进行相应的运算,即使每个子集查询有缓存,但还是需要额外的运算,这种情况可以考虑缓存计算后的结果。 4:对耗时的查询进行缓存,例如产品列表页的查询。 5:和上下文相关的用户数据,例如用户从订单埴写页进入到订单成功页

计算机网络(传输层)

送分小仙女□ 提交于 2019-12-30 02:48:23
概述 网络层时为主机之间提供逻辑通信 传输层向应用层提供进程间端到端的逻辑通信服务(U形通信路路线) 运输层向上层用户屏蔽了下面网络核心的细节,使应用进程看到的就是好像在两个运输层实体之间有一条端到端的逻辑通信通道。 传输的数据单位:运输协议数据单元TPDU 用户数据报协议UDP(User Datagram Protocol) 传送的数据单元是UDP数据报 无需建立连接 传输控制协议TCP(Transmission Control Protocol) 提供面向连接的服务,先建立连接在传输数据,最后释放连接 传输层端口 复用:应用层的所有应用进程都可以通过传输层在送到网络层 分用:传输层从IP层收到数据后,交付给指定的进程 前提:在本地计算机系统中的进程使用进程描述符标志运行在操作系统中的多个进程,而在互联网环境下,运行在应用层的各种应用进程不可以用进程标识符,因为不同计算机使用的操作系统千差万别,需要用统一的方式去使得不同操作系统的计算机应用可以通过互联网通信。 在运输层使用协议端口号(port)可以解决这个问题,通信的终点是应用程序进程,但我们把数据交给目的主机某个合适端口,剩下的交付过程交给TCP 区分,硬件端口是不同硬件设备进行交互的接口,软件端口是应用层的各种协议进程与运输实体之间进行层间交互的一种地址。 传输层收到IP层交上来的传输层报文

DNS & CDN & HTTPDNS 原理简析

南楼画角 提交于 2019-12-29 23:06:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> DNS & CDN & HTTPDNS 原理简析 背景: 域名系统 DNS (Domain Name System ): 作为域名和 IP 地址相互映射的一个分布式数据库,通过 DNS 可以将域名迅速解析为对应的 IP 地址,从而方便我们访问 Internet 上的任意一台主机(或网站)。 CDN(Content Delivery Network): 其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。 HTTPDNS : 使用 HTTP 请求来模拟 DNS 请求 0x00 DNS 原理 DNS 服务器类型: 内部 DNS :位于内网中,提供内网 DNS 服务,也具备 Internet DNS 缓存与转发能力 外部 DNS:位于 Internet 中,提供 Internet 的 DNS 服务(包括 DNS 缓存与转发) 主 DNS:提供 DNS 服务(包括查询,缓存写入) 辅 DNS:只提供 DNS 查询服务,与主 DNS 同步数据库 唯缓存 DNS:自身不具备 DNS 解析能力,但具有 DNS 缓存数据库 转发 DNS:具备转发特性,能将 DNS 请求转发给其他 DNS 服务器 权威 DNS: 自身数据库中存在与 DNS 请求相对应的映射 非权威 DNS

常见的错误代码

别说谁变了你拦得住时间么 提交于 2019-12-29 22:36:39
错误代码(也称作状态代码),指为服务器所接收每个请求(网页点击)分配的 3 位数代码。多数有效网页点击都有状态代码 200("正常")。"网页未找到"错误会生产 404 错误。某些常见的代码以粗体显示。 1xx(临时响应) 用于表示临时响应并需要请求者执行操作才能继续的状态代码。 代码 说明 100(继续) 请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。 101(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备进行切换。 2xx(成功) 用于表示服务器已成功处理了请求的状态代码。 代码 说明 200(成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果您的 robots.txt文件显示为此状态,那么,这表示 Googlebot 已成功检索到该文件。 201(已创建) 请求成功且服务器已创建了新的资源。 202(已接受) 服务器已接受了请求,但尚未对其进行处理。 203(非授权信息) 服务器已成功处理了请求,但返回了可能来自另一来源的信息。 204(无内容) 服务器成功处理了请求,但未返回任何内容。 205(重置内容) 服务器成功处理了请求,但未返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。 206(部分内容) 服务器成功处理了部分 GET 请求

xen虚拟化及工作原理

纵饮孤独 提交于 2019-12-29 22:02:48
XEN 虚拟化 Xen 虚拟化概述 Xen 是业界速度最快、 最安全的基础设施虚拟 化软件技术,并已得到 20 多家业界主要供应 商的支持,其中包括 Novell。 XEN 简介 XEN 是一个基于X86架构、发展最快、性能最稳定、占用资源最少的开源虚拟化技术。Xen可以在一套物理硬件上安全的执行多个虚拟机,与 Linux 是一个完美的开源组合,Novell SUSE Linux Enterprise Server 最先采用了XEN虚拟技术。它特别适用于服务器应用整合,可有效节省运营成本,提高设备利用率,最大化利用数据中心的IT基础架构。 XEN 是英国剑桥大学计算机实验室开发的一个虚拟化开源项目,XEN 可以在一套物理硬件上安全的执行多个虚拟机,它和操作平台结合的极为密切,占用的资源最少。目前稳定版本为XEN3.0。支持万贯虚拟化和超虚拟化。以高性能、占用资源少著称,赢得了IBM、AMD、HP、Red Hat和Novell等众多世界级软硬件厂商的高度认可和大力支持,已被国内外众多企事业用户用来搭建高性能的虚拟化平台。 XEN与SUSE LINUX Novell是第一个采用XEN开源虚拟化技术的厂家,比其他Linux厂商要早。最先把Xen虚拟化技术集成在Novell Suse Linux平台上,XEN为广大用户提供了目前Linux 上最佳的免费虚拟化解决方案

MongoDB 4.2新特性:分布式事务、字段级加密、通配符索引、物化视图

徘徊边缘 提交于 2019-12-29 21:58:04
MongoDB 4.2已经发布,我们来看看它增加了哪些新特性?分布式事务?数据库加密?通配符索引? 在2019年MongoDB World大会上,CTO Eliot Horowitz介绍了MongoDB 4.2中的一些功能,这些功能扩展了其在数据库技术方面的领先地位:分布式事务(Distributed Transactions),字段级加密(Client Side Field Level Encryption),通配符索引(Wildcard Indexing)、按需物化视图(Materialized Views)。 这些都是重大的改进,表明MongoDB在企业级功能方便更加完善。 MongoDB 4.2提升了事务和分析技术水平。它提供大规模的分布式事务的ACID担保和复杂的数据处理流程,还有最先进的加密控制保护机制。我们可以在任何地方运行MongoDB4.2:在本地数据中心,云上、混合云、Atlas云上。我们可以获得阿里云、AWS,Azure和GCP可用的完全托管,云原生的MongoDB服务。阿里云全球第一个实现了MongoDB异地多活架构。可以支持互联网跨国公司的大规模出海业务。 现在使用MongoDB的公司越来越多了,技术架构方案也越来越成熟。MongoDB新特性也是为了满足更多的企业级业务场景需求。 1. MongoDB 4.2 新特性 先来大体上看看有哪些改进,作为4

Redis入门部署及持久化

余生颓废 提交于 2019-12-29 21:36:31
软件简介 软件说明 Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品。 Redis采用内存(In-Memory)数据集(DataSet) 。 支持多种数据类型。 运行于大多数POSIX系统,如Linux、*BSD、OS X等。 软件特性 1)透明性:分布式系统对用户来说是透明的,一个分布式系统在用户面前的表现就像一个传统的单处理机分时系统,可让用户不必了解内部结构就可以使用。 2)扩展性:分布式系统的最大特点就是可扩展性,他可以根据需求的增加而扩展,可以通过横向扩展使集群的整体性能得到线性提升,也可以通过纵向扩展单台服务器的性能使服务器集群的性能得到提升。 3)可靠性:分布式系统不允许单点失效的问题存在,它的基本思想是:如果一台服务器坏了,其他服务器接替它的工作,具有持续服务的特性。 4)高性能:高性能是人们设计分布式系统的一个初衷,如果建立了一个透明,灵活,可靠的分布式系统,但他运行起来像蜗牛一样慢,那这个系统就是失败的。 软件获取及帮助 官方网站:https://redis.io/ 下载网站:http://download.redis.io/releases/ 帮助网站:http://redisdoc.com/ 软件功能 1)高速读写 2)数据类型丰富 3)支持持久化 4)多种内存分配及回收策略 5)支持事物

白话HTTPS

拈花ヽ惹草 提交于 2019-12-29 07:38:02
HTTPS是传输协议吗? HTTPS与HTTP有什么关系? HTTPS为什么会安全? 闲扯一下 Mac笔记本、Windows台式机、Linux主机。像这三种类型,它们硬件不同,系统不同,服务端处理的编程语言不同。它们之间却可以在网络的世界了自由联通。靠的是什么呢?靠的是它们遵守相同的规则(如:HTTP)。应用层用什么格式(语言编码,报文字段)封装报文、传输层如何将大量的数据分段,并给每帧数据添加编号和端口信息、网络层如何给没帧数据添加IP地址,目标MAC地址、数据链路层如何将数字信息通过网卡发出去。 HTTPS是传输协议吗? 目前常见的应用层协议 好像没有看到HTTPS啊? 没错,HTTPS并非TCP/IP协议族中的一员,它其实是HTTP协议+SSL协议的组合体,是披着SSL外衣的HTTP。 HTTPS与HTTP有什么关系? HTTP实现的功能:一种机制简单(这也是从早期众多传输协议中走出来的原因)的超文本传输协议,为客户端和服务器通信服务,是处在TCP/IP协议族中的应用层协议。 HTTP在发送请求时,采用四层架构。 应用层:提供多种应用服务,如:HTTP FTP DNS等,可以直接提供给开发者使用。 传输层:网络间数据的传输,如:TCP TDP,报文数据分割打包成帧 网络层:处理网络中流动的数据包,在复杂的网络段中选择一条传输路线,将数据包送到目的地。将现实中的寄快递

HTTP协议 (四) 缓存

拟墨画扇 提交于 2019-12-29 03:15:55
如何提高网站的性能 阅读目录 硬件方面 负载均衡 Web服务器方面 - CDN Web服务器方面 - 独立的图片服务器 Web服务器方面 - Gzip 压缩 Web服务器方面 - 缓存 减少HTTP请求 HTML 静态化 HTML 优化图片 硬件方面 购买更多的服务器, 使用高性能的CPU 和内存, 和带宽 Web服务器方面 - 负载均衡 使用load banance 来分担负载 Web服务器 CDN CDN的全称是Content Delivery Network,即 内容分发网络 用户“接近”你Web服务器的程度会影响响应时间。把内容部署在多个、地理位置分散的服务器上,会使页面加载的速度从用户角度看更快。但是我们应该从哪里开始? 作为实现地理位置分散内容的第一步,不要试图重新设计你的Web应用程序,使它运行在一个分布式的结构中。根据应用程序,改变结构,包括跨服务器同步会话状态和复制数据库事务等,这些艰巨的任务。根据不同的应用,改变结构可以包括跨服务器的位置同步会话状态和复制数据库交易等艰巨任务。尝试减少用户和内容之间的距离,可以延迟,或从不通过,这是应用程序结构的步骤。 记住,最终用户的80-90% 响应时间花费在下载所有页面的组件:图像、CSS、JS、Flash 等,这是提高性能的黄金法则。最好先分散你的静态内容,如图像、CSS、JS、Flash 等

基于centos 7部署LNMP动静分离以及部署Discuz论坛

喜你入骨 提交于 2019-12-28 23:44:29
博文结构 php的概念 部署lnmp 压力测试 部署 Discuz论坛 一.php的工作模式 三种工作模式 CGI模式:在这种模式下运行PHP,性能不是很好; apache模块:在这种模式下运行PHP,在LAMP平台部署及应用 就是使用的这种模式,使用apache调用php完成工作; FastCGI模式:在这种模式下运行PHP,PHP就是一处独立的进程,所有的PHP子进程都由PHP的一个叫做php-fpm的组件负责管理; FastCGI 工作机制 首选客户端发起请求,请求一般分为两种:一种是静态请求,可以直接由Apache响应直接返回客户端所需资源;另一种动态请求,其中包含PHP或Perl这种脚本解释型语言,则由Apache服务器通过fastcgi协议调用php服务器执行并返回给Apache,由Apache向客户端返回客户端所需资源,如果这个过程中涉及到对数据的操作,此时php服务器还会通过mysql协议调用mysql服务器。如图: 二.部署lnmp动静分离 案例环境如下: 1台httpd服务器:192.168.148.129 1台php服务器:192.168.148.130 1台mysql服务器:192.168.148.131 搭建apache服务器 下载源码包 直接使用脚本安装 搭建php 下载php软件包 解决依赖关系 [root@localhost ~]# yum -y