HAProxy负载均衡保持客户端和服务器Session亲缘性的三种方式
haproxy负载均衡保持客户端和服务器Session亲缘性的三种方式:
1 用户IP 识别
haroxy 将用户IP经过hash计算后 指定到固定的真实服务器上(类似于nginx 的IP hash 指令)
配置指令 balance source
2 cookie 识别
haproxy 将WEB服务端发送给客户端的cookie中插入(或添加加前缀)haproxy定义的后端的服务器COOKIE ID。
配置指令例举 cookie SESSION_COOKIE insert indirect nocache
用firebug可以观察到用户的请求头的cookie里 有类似" Cookie jsessionid=0bc588656ca05ecf7588c65f9be214f5; SESSION_COOKIE=app1" SESSION_COOKIE=app1就是haproxy添加的内容
3 session 识别
haproxy 将后端服务器产生的session和后端服务器标识存在haproxy中的一张表里。客户端请求时先查询这张表。
配置指令例举 appsession JSESSIONID len 64 timeout 5h request-learn
#haproxy -f haproxy.cfg -V
#haproxy.cfg
global
log 127.0.0.1 local0 info
maxconn 4096
user haproxy
group haproxy
daemon
nbproc 1
pidfile /var/run/haproxy.pid
defaults
mode http
maxconn 2000
contimeout 5000
clitimeout 30000
srvtimeout 30000
option httplog
option redispatch
option abortonclose
retries 3
listen admin_stats
bind 113.106.185.245:443
mode http
log 127.0.0.1 local0 err
stats uri /qhappy_stats
stats realm itindex.net\ Qhappy
stats auth qhappy:qhappy
stats refresh 5s
listen site_status
bind 113.106.185.245:445
mode http
log 127.0.0.1 local0 err
monitor-uri /site_status
frontend WEB_SITE
bind 0.0.0.0:8080
mode http
log global
option httplog
option httpclose
option forwardfor
acl COOKIE hdr_reg(host) -i ^(cookie.itindex.net)
acl SOURCE hdr_reg(host) -i ^(sourceip. itindex .net)
acl APPSESSION hdr_reg(host) -i ^(appsession. itindex .net)
acl NOSESSION hdr_reg(host) -i ^(nosession. itindex .net)
use_backend COOKIE_srv if COOKIE
use_backend SOURCE_srv if SOURCE
use_backend APPSESSION_srv if APPSESSION
use_backend NOSESSION_srv if NOSESSION
# default_backend ai_server
backend COOKIE_srv
mode http
cookie SESSION_COOKIE insert indirect nocache
server REALsrv_70 184.82.239.70:80 cookie 11 check inter 1500 rise 3 fall 3 weight 1
server REALsrv_120 220.162.237.120:80 cookie 12 check inter 1500 rise 3 fall 3 weight 1
backend SOURCE_srv
mode http
balance source
server REALsrv_70 184.82.239.70:80 cookie 11 check inter 1500 rise 3 fall 3 weight 1
server REALsrv_120 220.162.237.120:80 cookie 12 check inter 1500 rise 3 fall 3 weight 1
backend APPSESSION_srv
mode http
appsession JSESSIONID len 64 timeout 5h request-learn
server REALsrv_70 184.82.239.70:80 cookie 11 check inter 1500 rise 3 fall 3 weight 1
server REALsrv_120 220.162.237.120:80 cookie 12 check inter 1500 rise 3 fall 3 weight 1
backend NOSESSION_srv
mode http
balance roundrobin
server REALsrv_70 184.82.239.70:80 cookie 11 check inter 1500 rise 3 fall 3 weight 1
server REALsrv_120 220.162.237.120:80 cookie 12 check inter 1500 rise 3 fall 3 weight 1
backend ai_server
mode http
balance roundrobin
cookie SERVERID
server REALsrv_70 184.82.239.70:80 cookie 2 check inter 1500 rise 3 fall 3 weight 1
server REALsrv_120 220.162.237.120:80 cookie 1 check inter 1500 rise 3 fall 3 weight 1
#Cookie
listen appli1-rewrite 0.0.0.0:80
mode http
option httplog
option dontlognull
option httpclose
option forwardfor
cookie SESSION_COOKIE insert indirect nocache
#balance roundrobin
server app1_1 172.20.37.249:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
server app1_2 172.20.12.145:80 cookie app1inst2 check inter 2000 rise 2 fall 5
#IP
listen appli1 0.0.0.0:90
mode http
option httplog
option dontlognull
log 127.0.0.1 local3
cookie JSESSIONID rewrite
balance source
option httpchk GET /payCardSys/login.jsp
stats uri /stats
stats auth admin:admin
server app1_1 10.112.56.66:6601 cookie app1inst1 check inter 2000 rise 2 fall 5
server app1_2 10.112.56.67:6702 cookie app1inst2 check inter 2000 rise 2 fall 5
6个新jQuery技术让你的设计内容更有趣
设计师们不断努力创造醒目和不失实用性功能的交互式布局,以增强重要的用户体验。
由于时下有各种形式的技术可以使用,选择时十分眼花缭乱。而内容可以帮助提升设计,或为聚焦服务。
这里主要挑战是让事情简单化,因为我们处理的交互式内容,会经常变化。
话虽如此,让我们看看这6个jQuery技术,它们提供了丰富的浏览体验。
1. JQUERY TRANSIT
平滑的 CSS3 和 jquery 过渡动画
一个非常有用的jQuery插件,和animate() 方法一样以同样的方式工作,但由CSS3实现过渡。你可以利用CSS3在任何设备上实现转换和过渡动画。包括:平移,旋转角度,缩放,倾斜等。
HOW TO USE IT?
Just Use $('...').transition
instead of jQuery’s $('...').animate
.
Then choose one of the many transition effects available there: x(px) y(px) translate(x, y) rotate(deg) rotateX(deg) rotateY(deg) rotate3d(x, y, z, deg) scale(x, [y]) perspective(px) skewX(deg) skewY(deg)
2. THE WOOKMARK JQUERY PLUGIN
以瀑布流方式布局一系列元素
Woomark jQuery插件能自动排列,并创建一个动态的响应浏览器大小的box grid 网格布局。这非常适合以简约和时尚的方式展示大量内容。
HOW TO USE IT?
It is very simple to setup:
1- Include the file in your website (after your include of jQuery)
<script type="text/javascript" src="jquery.wookmark.js"></script>
2- Run it on your content and adjust the options (container, offset, itemWidth)
$('#myContent li').wookmark({offset: 2});
3. FILTRIFY
使用HTML5和jQuery的漂亮的标签过滤器
Filtrify是一种先进的标签过滤插件,受到多个选择功能和Orman Clark的垂直导航菜单的启发。
你可以在多个不同类别的标签中搜索标签和过滤项目,并得到相关标签下项目的实时反馈。
HOW TO USE IT?
1- Add jQuery, filtrify.js and filtrify.css to the <head>
section of your page.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="js/fitrify.js"></script>
<link rel="stylesheet" href="css/filtrify.css">
2- Now,if you have a list of singers/bands and each one of them have a list of “genre” tags. Your HTML would have to look like this:
<div id="placeHolder"></div>
<ul id="container">
<li data-genre="pop, rock, british, classic rock"> The Beatles </li>
<li data-genre="rock, british, blues, classic rock"> The Rolling Stones </li>
<li data-genre="alternative, electronic, female vocalists"> Björk </li>
<li data-genre="rock, alternative, grunge"> Foo Fighters </li>
<li data-genre="rock, classic rock"> Bruce Springsteen </li>
...
</ul>
4. SCROLLORAMA
一个很酷的滚动条 jQuery 插件
允许你创建任何数值CSS属性的转换动画,Scrollorama是开发滚动网站最快捷的方法之一。
它将内容划分成块,它很简单地能在浏览器窗口滚动时网页上的元素产生动画。
HOW TO USE IT?
Embed scrollorama.js after jQuery and initialize the plugin, passing the blocks class selector as a parameter.
$(document).ready(function() {
var scrollorama = $.scrollorama({
blocks:'.scrollblock'
});
});
5. MAGNIFYING GLASS FOR IMAGE ZOOM
使用jQuery和CSS3创建一个现实的放大镜
代码使用CSS3的框阴影和边界半径属性来创建放大镜。 jQuery是用来定位在光标的坐标,并相应改变背景的位置。
6. BACKBONE.NOTIFIER
显示和控制UI的通知
BACKBONE.NOTIFIER是一个强大的和灵活的框架,用于显示和控制建于jQuery,Backbone.js和Underscore.js之上的对话框通知。
目前有大量的选项,定制时间,样式,大小和位置,甚至在未来加入更多的功能。包括样式,是完全可定制的,而且不需要额外的CSS并可扩展的由于智能模块架构。
HTC更新官方博客 Desire HD 取消升级 ICS
HTC最近更新了3月份发布的官方博客《Android 4.0, Ice Cream Sandwich Updates》,该博客发布了可以升级ICS的机型列表,但是在Desire HD上面画出了一条横线,并且在博客下方做了特别说明,确认 Desire HD 无法升级ICS。该说明如下:
* After extensive testing, we’ve determined that the current version of HTC Sense with Android provides customers with the best experience on the HTC Desire HD. When we consider new versions of software, we weigh a number of factors, but ultimately the customer experience on the product is the deciding factor. We apologize for any confusion this change may have caused our customers.
意思是:
经过大规模测试, 我们认为当前Desure HD上的的HTC Sense版本能提供最佳的用户体验.当我们考虑为手机提供新软件的时候,我们权衡多方面因素,其中最大化用户体验是决定性因素。我们为此所导致的影响道歉。
之前cnBeta有文章说《HTC可能取消Desire HD的Android 4.0升级计划》,但是之后也有网站发出文章《Desire HD 的 Android 4.0 升級沒有取消將如期推出》。
同时,大量的网友表达了对 HTC 的不满,一些比Desire HD 配置更低的htc安卓手机都可以升级 ICS,对 HTC 公司的公关提出了质疑,甚至有一些网友 表示不再购买 HTC 的手机,转向购买三星或nexus手机。而笔者对此也表示非常遗憾和失望,笔者使用过一年多DHD手机,也使用过一段时间iPhone和三星安卓系统手机,觉得HTC sense 还是比较出色,有很多比三星安卓系统出色的地方。