- 博客(98)
- 资源 (4)
- 收藏
- 关注
转载 nginx upstream 一致性哈希模块
nginx upstream 一致性哈希模块今天应开发的需求需要做一个URL地址一致性hash的问题方法一:ngx_http_upstream_consistent_hash 模块是一个负载均衡器,使用一个内部一致性hash算法来选择合适的后端节点。与PHP的memcache模块memcache.hash_strategy兼容,这意味着可以使用php-memcache模
2017-08-14 00:09:19 1102
原创 如何避免死锁
什么是死锁,如何避免死锁? 线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。在并发程序设计中,死锁 (deadlock) 是一种十分常见的逻辑错误。通过采用正确的编程方式,死锁的发生不难避免。死锁的四个必要条件--------------------
2017-08-12 12:39:10 913
原创 RAID介绍
RAID(RedundantArrays of Inexpensive Disks,RAID),又叫独立的磁盘阵列。有“价格便宜具有冗余能力的磁盘阵列”之意。原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各
2017-07-24 10:48:50 746
原创 lnmap实战之负载均衡架构+高可用keepalived
lnmap实战之负载均衡架构(无高可用)架构图如下:此次实战软件,全部yum安装1.准备好机器,同步好时间192.168.42.150 node1 [负载均衡器]192.168.42.152 node3 [web2]192.168.42.153 node4 [web1]192.168.42.151 node2 [memcached ses
2017-07-22 14:17:49 1001
原创 利用keepalived实现主/从和主/主模式的高性能负载均衡集群
要求:1、使用nginx的反向代理功能实现负载均衡2、keepalived实现高可用 第一组的虚拟地址为172.16.1.100 D设备的优先级高 第二组的虚拟地址为172.16.1.110 E设备的优先级高3、分别实现主/从和主/主两种配置 集群拓扑: 第一种:主/从配置所
2017-07-22 14:09:48 1149
原创 keepalived高可用haproxy配合varnish实现wordpress的动静分离
haproxy和nginx都可以作为七层和四层反代服务器对外提供服务,此文通过haproxy和keealived配置varnish搭建wordpress的动静分离站点一、实验环境五台虚拟机:haproxy-1:搭建haproxy和keepalived服务,ip地址:192.168.11.176haproxy-2:搭建haproxy和keepalived服
2017-07-22 14:08:32 831
转载 Keepalived--概念(1)
HA Cluster集群类型:LB(lvs/nginx(http/upstream, stream/upstream))、HA、HP系统可用性的公式:A=MTBF/(MTBF+MTTR)系统故障:硬件故障:设计缺陷、wear out、自然灾害软件故障:设计缺陷提升系统高用性的解决方案之降低MTTR:解决方案:冗余(redundant)
2017-07-22 14:06:37 1928
转载 LVS--lvs-dr实现wordpress
1、结合图形描述LVS的工作原理;lvs工作流程:ipvs是工作于input链上,监听目标地址上对应的目标端口,如果这个端口对应的服务定义为集群服务, 就强行修改报文的流程,完成转发, 通过postrouting送出去, 为了让后端主机能够接收, 此时需要让RS也具有目标ip地址, 要么修改目标ip地址支持基于TCP,UDP,SCTP,AH,EST,AH_EST等协议的
2017-07-22 10:47:54 572
原创 LVS--搭建一个LVS-nat,负载均衡 WordPress (5)
准备工作首先配置一下环境: Directory:ens33 172.16.251.73 ens37 192.168.42.1 RS1:192.168.42.132 gw 192.168.42.1 RS2:192.168.42.133 gw 192.168.42.1 将全部主机时间同步 :ntpdate 172.16.0.1大致拓扑图为:
2017-07-22 10:43:19 516
原创 LVS--持久链接(4)
LVS持久连接:表示始终将同一客户端IP调度到同一RS上尤其SSL这样的服务更应该为其持久lvs通过模版(内存中记录着一张表)来记录每一个连接的源地址和目标地址的关系有PPC、PCC、PNMPP三种持久规则:一、PPC:Persitens Port connection同一客户端IP同一端口始终在一定时间内调度到同一RS上[html]
2017-07-22 10:41:46 317
原创 LVS--Nginx、HAproxy比较(3)
Nginx/LVS/HAProxy简单介绍:Nginx:专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。LVS:使用Linux内核集群实现一个高性能、高可用的负载均衡服务器,具有很好的可伸缩性(Scalability)、可靠性(Reliablity)和可管理性(Managea
2017-07-22 10:09:36 898
原创 LVS--lvs-dr、lvs-nat配置(2)
LVS: LVS是四层协议的开源负载均衡器,工作在netfilter框架INPUT链中,它根据不同的算 法将用户的请求调度给后端服务器,它不受sockt套接字文件限制,性能比nginx七层 负载均衡器性能高很多。 类型: lvs-nat:多目标IP的DNA
2017-07-22 10:05:05 535
原创 LVS--知识总结(1)
LVS: LVS是四层协议的开源负载均衡器,工作在netfilter框架INPUT链中,它根据不同的算法将用户的请求调度给后端服务器,它不受sockt套接字文件限制,性能比nginx七层负载均衡器性能高很多。一 负载均衡的五种解决方案1 http重定向HTTP重定向就是应用层的请求转发。用户的请求其实已经到了http重定向负载均衡服务器,服务器根
2017-07-22 09:58:17 332
原创 Varnish--知识总结
关于Varnish 是一款高性能且开源的反向代理服务器和 HTTP 加速器,其采用全新的软件体系机构,和现在的硬件体系紧密配合,与传统的 squid 相比,varnish 具有性能更高、速度更快、管理更加方便等诸多优点,很多大型的网站都开始尝试使用 varnish 来替换 squid,这些都促进 varnish 迅速发展起来。挪威的最大的在线报纸 Verdens Gang(vg.no)
2017-07-18 22:11:56 515
原创 Nginx--反向代理、负载均衡、缓存、fpm
Nginx反向代理 格式: location /uri { rewrite proxy_pass http://back_server:port/newuri; } /uri --> /newuri1. 注意匹配的是路径的话,反代也是路径ngx_http_proxy_module模块:serve
2017-07-06 12:59:46 328
原创 Nginx--配置文件解析
配置文件主要格式main,event,httpworker_processes 3;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections
2017-07-06 11:46:50 350
原创 Nginx--概念篇
1. I/O模型I/O类型: 同步和异步:synchronous, asyncrhonous 关注的是消息通知机制 同步:调用发出不会立即返回,但一旦返回就可以返回最终结果; 异步:调用发出之后,被调用方立即返回消息,但返回的非最终结果;被调用者通过状态、通知机制来通知调者,或通过回调函数来处理结果; 阻塞和非阻塞:block, nonbl
2017-07-06 10:59:29 287
转载 cgi,fast-cgi,php-fpm是什么?
首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析
2017-07-02 17:38:01 697
原创 httpd(apache)--知识总结(3)--https
SSL会话的简化过程(1) 客户端发送可供选择的加密方式,并向服务器请求证书;(2) 服务器端发送证书以及选定的加密方式给客户端;(3) 客户端取得证书并进行证书验正: 如果信任给其发证书的CA: (a) 验正证书来源的合法性;用CA的公钥解密证书上数字签名; (b) 验正证书的内容的合法性:完整性验正 (c) 检查证书的有效期限;
2017-07-01 11:36:43 374
原创 httpd(apache)服务器--知识总结(2)
http事务: 请求:request 响应:response 1. 报文语法格式: request报文 <method> <request-URL> <version> <headers> <entity-body> res
2017-07-01 10:55:12 313
原创 httpd(apache)服务器--知识总结(1)
httpd的特性1. 高度模块化:core + modules2. DSO: Dynamic Shared Object(动态装载)3. MPM:Multipath Processing Modules * prefork:多进程模型,每个进程响应一个请求; 一个主进程:负责生成n个子进程,子进程也称为工作进程,每个子进程处理一个用户请求;即便没有用户请求,也会预先生成多
2017-07-01 10:43:29 528
原创 一次完整的http请求
一次完整的http请求处理过程: * (1) 建立或处理连接:接收请求或拒绝请求 * (2) 接收请求: 接收来自于网络的请求报文中对某资源的一次请求的过程; **并发访问响应模型(Web I/O)**: 1. 单进程I/O结构:启动一个进程处理用户请求,而且一次只处理一个;多个请求被串行响应; 2. 多进程I/
2017-07-01 09:40:24 389
原创 iptables--面试题
1 、详述 iptales 工作流程以及规则过滤顺序?iptables过滤的规则顺序是由上至下,若出现相同的匹配规则则遵循由上至下的顺序2 、 iptables 有几个表以及每个表有几个链?Iptables有四表五 链3 、 iptables 的几个表以及每个表对应链的作用,对应企业应用场景?filter:INPUT 作用:for packets
2017-06-27 22:45:04 1593
原创 iptables--知识总结3(NAT)
nat:SNAT:只修改请求报文的源地址DNAT:只修改请求报文的目的地址源地址转换:iptables -t nat -A POSTROUTING -s 172.16.100.21 ! -d 172.16.100.0 -j SNAT –to-source 192.168.200.1目的地址转换:iptables -t nat -A PREROUTING -s 172.16.100.21 ! -
2017-06-27 22:19:46 603
原创 iptables--知识总结2
iptables的显示扩展1.multiport扩展以离散方式定义多端口匹配;最多指定15个端口; [!] --source-ports,--sports port[,port|,port:port]...:指明多个源端口; [!] --destination-ports,--dports port[,port|,port:port]...:指明多个离散的目标端口; [!] -
2017-06-27 17:24:57 397
原创 iptables--知识总结1
iptables:包过滤型防火墙iptables/netfilterframework: netfilter hooks function 网络过滤器的框架rule utils:iptables 规则管理工具四表五链四表filter:过滤,防火墙nat:地址转换mangle:拆解报文,作出修改,封装报文raw:关闭nat表上启用的链接追踪标志五链PREROUTINGINPUT
2017-06-27 15:41:38 311
原创 Openstack初识
OpenStackIaaS云栈,CloudOS; 私有云公有云混合云IaaS (OpenStack, CloudStack)、PaaS(Docker, Openshift)、SaaSDBaaS、FWaaS按需提供VMOpenstack的组件:Compute: 代码名Nova,管理VM的整个生命周期,主要职责包括启动、调度V
2017-06-27 00:23:45 413
原创 虚拟网络知识总结
KVM常用的虚拟网络模型:桥接模型 NAT模型 路由模型 隔离模型VLAN:LAN即为广播帧能够到的节点范围,也既能够直接通信的范围。实现VLAN可以通过ovs打标签Linux Network Namespace:netns在内核中实现的用于实现网络资源的隔离。其实感觉就像一个路由器在一个网络名称空间中,使用dnsmasq可以设置自动分配IP地址打开核心转发/et
2017-06-26 10:16:35 487
原创 虚拟化技术--KVM知识总结
KVM:内核中载入KVM模块后,整个内核成了hypervisor。KVM模块载入后的系统的运行模式:内核模式:GuestOS执行I/O类操作,或其它的特殊指令的操作;称作“来宾-内核”模式;用户模式:代表GuestOS请求I/O类操作;来宾模式:GuestOS的非I/O类操作;事实上,它被称作“来宾-用户”模式;kvm hypervisor:
2017-06-22 23:30:12 1359
原创 虚拟化技术--Xen知识总结
虚拟化技术基础:cpu虚拟化:模拟:emulation虚拟:virtulization完全虚拟化(full-virtulization)BT: 二进制翻译 (软件)HVM:硬件辅助的虚拟化 (硬件)半虚拟化(para-virtulization)Memory: 进程:线性地址空间内核:物理地址空间MMU VirtulizationIn
2017-06-22 09:16:50 2049
原创 docker知识总结
docker用到的主要技术:1.namespace 命名空间,内核级别,环境隔离PID NameSpace: Linux 2.6.24, PID隔离Network NameSpace: Linux 2.6.29,网络设备、网络栈、端口等网络资源隔离User NameSpace: Linux 3.8,用户和用户组资源隔离IPC NameSpace: Linux 2.6.19,
2017-06-20 00:29:03 426
原创 redis知识总结
Redis介绍Redis 本质上一个 Key/Value 数据库,与 Memcached类似的 NoSQL 型数据库,但是他的数据可以持久化的保存在磁盘上,解决了服务重启后数据不丢失的问题,他的值可以是 string(字符串)、list(列表)、sets(集合)或者是ordered sets(被排序的集合),所有的数据类型都具有push/pop、 add
2017-06-19 17:26:39 478
原创 mongodb知识总结
知识前提:数据库的CAP原则: 一致性、可用性、分区容错性(只能能满足三者之二) 一致性:强一致性弱一致性:最终一致性:时间窗口 实现一致性:NRW法则两段式提交2pcpaxos算法 两段式提交2pc实现过程:第一阶段:协调者询问参与者是否可以提交事务。如果参与者事务操作执行成功则回复yes,反之no第二阶段:参与者都回复ye
2017-06-19 16:21:47 3596
转载 session cookie原理
摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。 目录: 一、术语session 二、HTTP协议与状态保持 三、理解cookie机制 四、理解se
2017-06-18 23:59:01 403
原创 HAProxy知识总结
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。HAProxy实
2017-06-18 23:55:18 738
转载 session会话保持
一. 什么是会话保持,有什么作用会话保持是指在负载均衡器上有一种机制,在作负载均衡的同时,还保证同一用户相关连的访问请求会被分配到同一台服务器上。会话保持有什么作用呢,举例说明一下 如果有一个用户访问请求被分配到服务器A,并且在服务器A登录了,并且在很短的时间,这个用户又发出了一个请求,如果没有会话保持功能的话,这个用户的请求很有可能会被分配到服务器B去,这个时候在服务器B上是没
2017-06-18 23:30:26 1703
转载 docker与虚拟机实现原理比较
概要Docker是近年来新兴的虚拟化工具,它可以和虚拟机一样实现资源和系统环境的隔离。本文将主要根据IBM发表的研究报告,论述docker与传统虚拟化方式的不同之处,并比较物理机、docker容器、虚拟机三者的性能差异及差异产生的原理。 docker与虚拟机实现原理比较如下图分别是虚拟机与docker的实现框架。 比较两图的差异,左图虚拟机的Guest OS
2017-06-15 18:13:39 4703
转载 REDIS与MEMCACHED、mongoDB 的区别 对比
如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 2 Redis支持数据的备份,即master-slave模式的数据备份。 3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。在Redis中,并不是所有的数据都一直存储在
2017-06-15 11:07:10 555
转载 LVS集群之十种调度算法及负载均衡——理论
一、LVS概念 LVS(Linux Virtual Server):Linux 虚拟服务器 LVS是个负载均衡设备,它不提供任何服务,用户请求到这里的时候,它是将客户需求转发至后端真正提供服务的服务,所以说后端的服务称作real server。LVS分为两段,前一段称为ipvsadm(管理集群服务的命令行工具),后面一段叫做ipvs(内核模块)【提示:LVS和iptables不能同时
2017-05-16 12:06:31 377
转载 异步 同步 阻塞 非阻塞
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不
2017-05-06 10:04:51 380 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人