- 博客(42)
- 资源 (68)
- 问答 (3)
- 收藏
- 关注
转载 详解Consistent Hashing(一致性哈希)算法
在做服务器负载均衡时候可供选择的负载均衡的算法有很多,包括: 轮循算法(Round Robin)、哈希算法(HASH)、最少连接算法(Least Connection)、响应速度算法(Response Time)、加权法(Weighted )等。其中哈希算法是最为常用的算法.典型的应用场景是: 有N台服务器提供缓存服务,需要对服务器进行负载均衡,将请求平均分发到每台服务器上,每台机器负责1
2015-02-27 20:35:58 2325
转载 Nginx启动、停止、重启、升级操作命令
1.启动命令nginx -c /usr/nginx/conf/nginx.conf-c参数指定了要加载的nginx配置文件路径。nginx -p /usr/nginx/-p参数指定了nginx安装配置路径。 2.停止命令停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文章)来进行的步骤1:查询nginx主进程号ps -ef | grep ngi
2015-02-27 20:35:52 1153
转载 Tomcat6 四种Connector性能比较
Tomcat从5.5版本开始,支持以下四种Connector的配置分别为:org.apache.coyote.http11.Http11NioProtocol"connectionTimeout="20000" redirectPort="8443"/>protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443"/
2015-02-27 20:34:35 1892
转载 构建C1000K的服务器
著名的 C10K 问题提出的时候, 正是 2001 年, 到如今 12 年后的 2013 年, C10K 已经不是问题了, 任何一个普通的程序员, 都能利用手边的语言和库, 轻松地写出 C10K 的服务器. 这既得益于软件的进步, 也得益于硬件性能的提高.现在, 该是考虑 C1000K, 也就是百万连接的问题的时候了. 像 Twitter, weibo, Facebook 这些网站, 它们
2015-02-26 20:13:48 1867
转载 让你的网站支持手机二维码登录
如果你的网站能支持二维码登录, 用户打开手机扫描一下, 网页上就立即变为已登录状态了, 是不是很酷? 像腾讯的微信, 手机淘宝等, 都支持用手机扫描二维码登录 Web 版, 极大的方便了用户. 这项技术不仅能增加网站的用户体验, 也是把传统的 Web 端和新潮移动端结合起来的重要手段.手机二维码登录网站, 并不是一项多么有难度的技术, 而是多个现有成熟技术的融合. 下图是整个系统的架构示意
2015-02-26 20:13:12 1424
转载 Servlet3.0 服务端推技术实例
所谓Servlet 异步处理,包括了非阻塞的输入/输出、异步事件通知、延迟request 处理以及延迟response 输出等几种特性。这些特性大多并非JSR 315 规范首次提出,譬如非阻塞输入/输出,在Tomcat 6.0 中就提供了Advanced NIO 技术以便一个Servlet 线程能处理多个HttpRequest,Jetty、GlassFish 也曾经有过类似的支持。但是使用这些We
2015-02-26 20:12:25 1869
原创 Comet HTTP服务器推送框架之icomet
icomet 是一个使用 C++ 语言开发的支持百万并发连接的 comet 服务器, 使用了 libevent 网络库. 支持并发连接数高, 内存占用少, 性能优越. 支持的浏览器和操作系统平台包括: Safari(iOS, Mac), Firefox/Chrome(Windows, Mac), IE6+。
2015-02-26 20:11:57 8808
原创 Comet HTTP服务器推送框架之Pushlet
Pushlet是一个开源的 Comet 框架,Pushlet 使用了观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。
2015-02-26 20:11:34 2737
原创 Comet HTTP服务器推送框架之Comet4J
Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作模式。
2015-02-26 20:09:16 6272
转载 基于 HTTP 长连接的“服务器推”技术-Comet
很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的“服务器推”方案,着重介绍了 Comet - 使用 HTTP 长连接、无须浏览器安装插件的两种“服务器推”方案:基于 AJAX 的长轮询方式;基于 iframe 及 htmlfile 的流方式。最后分析了开发 Comet 应用需要注意的一些问题,以及如何借助
2015-02-26 20:08:08 2386
转载 Kafka深度解析
背景介绍Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输同时支持离线数据
2015-02-10 21:31:04 2574
转载 Linux下" >/dev/null 2>&1 "相关知识说明
在学习Linux的过程中,常会看到一些终端命令或者程序中有">/dev/null 2>&1 "出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者google一下相关的知识。 0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr)command >/dev/null 2>&1 & == command 1
2015-02-09 18:49:59 984
原创 搭建内部时间同步服务器(NTP)
NTP(Network Time Protocol 网络时间协议)是一个用于同步计算机时钟的网络协议。它可以使计算机与其他服务器或时钟源进行时间同步,进行高精度的时间校正。简而言之,NTP就是使一台或多台服务器(客户端)与时间服务器(服务端)之间进行时间同步(即客户端与服务端的时间同步),以保证时间的统一性。
2015-02-08 20:52:44 10210
转载 利用heartbeat的ldirectord实现ipvs的高可用集群构建
网络规划:两台LVS server:(两台LVS也可以为用户提供错误页面) node1:172.16.31.10 node2:172.16.31.11VIP:172.16.31.180ipvs规则内包含2台Real Server:(后面的RS指的就是后端的web服务器) rs1:172.16.31.13
2015-02-08 17:27:12 1541
转载 配置iptables实现端口转发
拓扑图:192.168.1.100想通过192.168.1.1的22000端口来访问10.0.0.100的22端口。# 打开路由转发功能echo 1 > /proc/sys/net/ipv4/ip_forward# 配置FORWARD链iptables -P FORWARD DROPiptables -A FORWARD -d 10.0.0.100/8 -p tcp
2015-02-08 17:12:44 2150
转载 Linux route 使用
route命令用于显示和操作IP路由表。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是 为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为 Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永
2015-02-08 16:53:27 692
原创 Linux 一个网卡添加多个IP
在Linux系统下面,第一块网卡就叫eth0,第二块网卡就叫eth1,这里我们给第一块网卡设置多个IP,也即添加多个子网卡,如eth0:0、eth1:1这种网络接口,LINUX最多可以支持255个IP子网卡。
2015-02-08 15:43:59 19412 1
原创 linux mutt+msmtp工具发送邮件
mutt,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件。官网:http://www.mutt.org。msmtp是一款专门负责邮件发送的客户端软件,基于GPL发布。支持TLS/SSL、DNS模式、IPv6、服务器端认证、多用户等特性。该软件和mpop是姊妹软件。
2015-02-08 11:32:33 2164
原创 linux sendEmail工具发送邮件
sendEmail 是一个邮件代理传输程序,当sendmail程序得到一封待发送的邮件的时候,它需要根据目标地址确定将信件投递给对应的服务器,这是通过DNS服务实现的。例如一封邮件的目标地址是test@163.com,那么sendmail首先确定这个地址是用户名(test)+机器名(163.com)的格式,然后,通过查询DNS来确定需要把信件投递给某个服务器
2015-02-08 01:44:21 3117
原创 linux shell 监控web服务
在启动监控前,先安装sendmail通过发送邮件来实现告警通知。为了能达到及时提醒的作用,我们采用移动139邮箱,接到邮件手机短信实时提醒。
2015-02-08 01:18:34 1941
原创 linux关闭进程的方法
终止一个进程或终止一个正在运行的程序,一般是通过kill 、killall、pkill、xkill 等进行。比如一个程序已经死掉,但又不能退出,这时就应该考虑应用这些工具。
2015-02-07 23:38:18 1734
转载 Linux下TCP/IP内核参数优化
/proc/sys/net目录所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数:参数(路径+文件)描述默认值优化值/proc/sys/net/core/rmem_d
2015-02-07 21:41:58 1200
原创 负载均衡常用方式
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
2015-02-07 20:59:46 1347
原创 CDN简介
Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HT
2015-02-07 20:09:18 1494
转载 优化linux内核参数
在高并发短连接的server端,当server处理完client的请求后立刻closesocket,此时会出现time_wait状态。可以通过命令查看系统当前的连接数统计。 命令如下: netstat -n | awk '/^tcp/ { ++s[$NF] } END {for (a in s) print a,s[a]}' TIME_WAIT属于TCP参数。现将所调参数,及参
2015-02-07 17:13:39 584
转载 LVS、Nginx、HAProxy优缺点
搭建负载均衡高可用环境相对简单,主要是要理解其中原理。此文描述了三种负载均衡器的优缺点,以便在实际的生产应用中,按需求取舍。
2015-02-07 17:09:18 2156
原创 Keepalived+nginx实现双主高可用负载均衡
Nginx+keepalived高可用有两种配置方案:1、Nginx+keepalived 主从配置这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候,永远处于浪费状态,对于服务器不多的网站,该方案不经济实惠,所以本次不予采用。2、Nginx+keepalived 双主配置这种方案,使用两个vip地址,前端使用2台机器,互为主备,同时有两台机器工作,当其中一台机器出现故障,两台机器的请求转移到一台机器负担,非常适合于当前
2015-02-07 16:58:45 4161
原创 LVS+keepalived+nginx实现双机热备负载均衡
LVS+Keepalived+Nginx实现双机热备负载均衡,这是企业中常用采用的高可用负载均衡部署。
2015-02-07 14:55:11 3157
原创 keepalived配置文件详解
keepalived既可以作为HA热备,也能作健康检查。下面对/etc/keepalived/keepalived.conf配置说明。
2015-02-07 14:13:11 4372
原创 LVS+Keepalived实现高可用负载均衡
Keepalived在这里主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。
2015-02-07 13:44:31 1258
原创 LVS负载均衡测试
LVS的IP负载均衡技术:是通过IPVS模块来实现的,IPVS是LVS集群系统的核心软件。它的主要作用是:安装在 Director Server(前端服务器)上,同时Director Server上虚拟出一个IP地址(VIP),用户必须通过这个虚拟的VIP地址访问服务。访问请求首先经过VIP到达负载均衡调度器,然后由负载均衡调度器根据设定好的算法 从 Real Server 列表中选取一个服务节点响应用户请求。通过LVS提供的负载均衡技术和linux系统实现一个高性能、高可用的服务器集群,它具有良好的可靠性
2015-02-07 01:54:38 2276
原创 关闭SELinux和防火墙
查看SELinux状态:1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态SELinux status: enabled2、getenforce ##也可以用这个命令检查关闭SELinux:1、临时关闭(不用重启机器):setenfor
2015-02-07 00:00:42 1843
原创 Java并发包concurrent之CountDownLatch
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。换句话说,你可以并行的执行一段代码,并设置等待所有的线程都执行完的点,然后再一起开始执行。
2015-02-03 21:55:11 994
原创 Java restful之使用Apache olingo库来将JPA操作自动转化为RESTful
Apache Olingo 是个 Java 库,用来实现 Open Data Protocol (OData)。 Apache Olingo 包括服务客户端和 OData 服务器方面。当前支持 OData 2.0 ,未来会支持 OData 4.0。Apache Olingo 扩展部分支持 JPA 持久性或者注释 bean 类。The Open Data Protocol (OData) 是个 web 协议,为了增强各种网页应用程序之间的数据兼容性,微软公司启动了一项旨在推广网页程序数据库格式标准化的开源数据
2015-02-02 21:31:18 6615 1
原创 Chrome扩展插件-用于API & HTTP 请求调试:Postman
Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试。它能够发送任何类型的HTTP requests (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers。
2015-02-02 10:01:50 5259
thrift-spring-http代码实例
2015-03-02
spring-httpinvoker-demo
2015-03-02
comet4j-demo
2015-02-26
olingo实例代码
2015-02-02
Postman-REST-Client_v0.8.1
2015-02-02
PhpMQTTClient
2015-01-19
AndroidPushNotificationsDemo
2015-01-19
rsmb安装包
2015-01-19
haproxy-1.5.8.tar.g
2014-11-14
RocketMQ安装包
2014-11-09
linux文件共享服务汇总
2014-03-14
Android adb命令使用详解
2014-03-07
Hive用户指南(Hive_user_guide)_中文版
2015-10-08
PowerMock实战手册
2015-06-03
基于xmpp_openfire_smack开发之smack类库介绍和使用
2015-06-01
FastDFS安装软件包
2015-05-27
分布式文件系统fastdfs架构剖析及配置优化
2015-05-27
fastdfs 5.01 + nginx + cache 集群安装配置手册
2015-05-27
dlz-dns-web
2015-04-23
dlz-dns-etc
2015-04-23
使用bind构建高可用智能dns服务器
2015-04-19
spring-data-redis-demo
2015-04-07
thrift-zookeeper-rpc
2015-03-08
protobuf-demo
2015-03-05
burlap-spring-demo
2015-03-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人