September 1, 2010
开源软件keepalived实现分布式数据分发
"\u003cp\u003e大家都看到过在支付宝架构图里面一个分布式数据分发中心(Gara系统),这个分布中心为了完成每天的数据抽取和向多个Oracle Rac集群和Greenplum集群分布数据的心脏,数据仓库系统是一切系统数据来源。其中功能是为了完成异构数据抽取和装载。\u003c/p\u003e\n\u003cp\u003e为了使Gara实现高效性和线性扩展能力,现在alipay dw是用4台高性能PC Dell R900(4*4core,128GB memory)来实现,但是Gara原来开发的程序不能实现分布式,只能通过调度系统来控制,灵活性不够强。\u003c/p\u003e\n\u003cp\u003e最近发现一个开源软件 Keepalived,能很好来实现Gara高效性和线性扩展能力,很多人用来 Keepalived网站的负载均衡,Keepalived还有一个重要的特性就是实现高可用性,就利用这个特性来实现Gara分布式管理\u003c/p\u003e\n\u003cp\u003eKeepalived可以提供IP层的高可用性, 一旦某一台机器的网络出现问题, 另一台服务器会立即(几秒或者更少的时间)使用出故障的服务器的IP进行工作。\u003c/p\u003e\n\u003cp\u003ekeepalived体系架构图:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2010/09/1252109344_11666ae6.jpg\"\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/1252109344_11666ae6.jpg\" alt=\"\"\u003e\u003c/a\u003e\nkeepalived体系架构很清晰,都模块化的,跟我们目前开发的调度系统架构非常相像,大家可以去 …\u003c/p\u003e"
September 1, 2010
分布式key/value存储系统比较
"\u003cp\u003e先介绍一下绍一些流行的分布式key/value存贮系统,并做一些简单的比较。\u003c/p\u003e\n\u003cp\u003e词汇与背景阅读:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://en.wikipedia.org/wiki/Distributed_hash_table\"\u003eDistributed Hash Table (DHT)\u003c/a\u003e and algorithms such as Chord or Kadmelia\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html\"\u003eAmazon’s Dynamo Paper\u003c/a\u003e, and \u003ca href=\"http://www.readwriteweb.com/archives/amazon_dynamo.php\"\u003ethis ReadWriteWeb article about Dynamo\u003c/a\u003e which explains why such a system is invaluable\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://aws.amazon.com/simpledb/\"\u003eAmazon’s SimpleDB Service\u003c/a\u003e, and \u003ca href=\"http://gigaom.com/2007/12/14/amazon-simple-db/\"\u003esome\u003c/a\u003e \u003ca href=\"http://www.satine.org/archives/2007/12/13/amazon-simpledb/\"\u003ecommentary\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://labs.google.com/papers/bigtable.html\"\u003eGoogle’s BigTable paper\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://en.wikipedia.org/wiki/Paxos_algorithm\"\u003eThe Paxos Algorithm\u003c/a\u003e – read this page in order to appreciate that knocking up a Paxos implementation isn’t something you’d want to do whilst hungover on a Saturday morning.\u003c/p\u003e\n\u003cp\u003e现有比较流行的key/value存储系统:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2010/09/1264740160_1835db83.jpg\"\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/1264740160_1835db83.jpg\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e以下评 …\u003c/p\u003e"
August 28, 2010
Windows 2003 关机时如何去掉讨厌的关机原因提示
"\u003cp\u003e每次需要关闭系统时,Win2003系统总是“多此一举”,要你选择关机原因,一次两次还能忍受,可是时间长了,真是讨厌它,现在决定将它删除 掉:\u003c/p\u003e\n\u003cp\u003e1.打开开始菜单中的运行对话框,输入组策略编辑命令“gpedit.msc”,打开组策略编辑窗口;\u003c/p\u003e\n\u003cp\u003e2.在该窗口中,依次展开“计算机配置”、“管理模板” 、“系统”目录,在对应的右边子窗口中,双击“关闭事件跟踪程序”选项;\u003c/p\u003e\n\u003cp\u003e3.在随后打开的设置界面中,将“已禁用”选项选中就可以了。\u003c/p\u003e"
August 28, 2010
三种LVS负载均衡模式
"\u003cp\u003e调度器的实现技术中,IP负载均衡技术是效率最高的,IP虚拟服务器软件(IPVS)是在linux内核中实现的。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eLVS负载均衡模式—1.NAT模式\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eNAT用法本来是因为网络IP地址不足而把内部保留IP地址通过映射转换成公网地址的一种上网方式(原地址NAT)。如果把NAT的过程稍微变化,就可以成为负载均衡的一种方式。原理其实就是把从客户端发来的IP包的IP头目的地址在DR上换成其中一台REALSERVER的IP地址并发至此REALSERVER,而REALSERVER则在处理完成后把数据经过DR主机发回给客户端,DR在这个时候再把数据包的原IP地址改为DR接口上的IP地址即可。期间,无论是进来的流量,还是出去的流量,都必须经过DR。\u003c/p\u003e\n\u003cp\u003e**LVS负载均衡模式—2.IP隧道模式\n**\n隧道模式则类似于VPN的方式,使用网络分层的原理,在从客户端发来的数据包的基础上,封装一个新的IP头标记(不完整的IP头,只有目的IP部)发给REALSERVER,REALSERVER收到后,先把DR发过来的数据包的头给解开,还原其数据包原样,处理后,直接返回给客户端,而不需要再经过DR。需要注意的是,由 …\u003c/p\u003e"
August 28, 2010
Nginx+keepalived负载均衡篇
"\u003cp\u003e由于nginx的url hash功能可以很好的提升squid的性能,所以我把squid前端的负载均衡器更换为nginx,但是一台nginx就形成了单点,现在使用keepalived来解决这个问题,keepalived的故障转移时间很短,而且配置简单,这也是选择keepalived的一个主要原因,建议日PV值小的中小型企业web均可采用如下方案实行,下面直接上安装步骤:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e一、\u003cstrong\u003e\u003cstrong\u003e环境\u003c/strong\u003e\u003c/strong\u003e:\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ecentos5.3、nginx-0.7.51、keepalived-1.1.19\u003c/p\u003e\n\u003cp\u003e主nginx负载均衡器:192.168.0.154\u003c/p\u003e\n\u003cp\u003e辅nginx负载均衡器:192.168.9.155\u003c/p\u003e\n\u003cp\u003evip:192.168.0.188\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e二、安装keepalived\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#tar zxvf keepalived-1.1.19.tar.gz\u003c/p\u003e\n\u003cp\u003e#cd keepalived-1.1.19\u003c/p\u003e\n\u003cp\u003e#./configure –prefix=/usr/local/keepalived\u003c/p\u003e\n\u003cp\u003e#make\u003c/p\u003e\n\u003cp\u003e#make install\u003c/p\u003e\n\u003cp\u003e#cp /usr/local/keepalived/sbin/keepalived /usr/sbin/\u003c/p\u003e\n\u003cp\u003e#cp …\u003c/p\u003e\u003c/blockquote\u003e"
August 28, 2010
[教程]freebsd8.0下安装coreseek
"\u003cp\u003e一**、安装coreseek**\u003c/p\u003e\n\u003cp\u003eA、安装环境配置,为安装coreseek做准备\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#pkg_add -r autoconf262 automake110 libtool mysql50-client libxml2 expat\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eB、下载整个安装包(内含mmseg,coreseek):\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#fetch \u003ca href=\"http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.13.tar.gz\"\u003ehttp://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.13.tar.gz\u003c/a\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#tar xzvf coreseek-3.2.13.tar.gz\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#cd coreseek-3.2.13\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e======================================\u003c/p\u003e\n\u003cp\u003eC \u003cstrong\u003e、\u003c/strong\u003e 安装coreseek开发的mmseg,为coreseek提供中文分词功能\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#cd mmseg-3.2.13\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#./bootstrap\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#./configure –prefix=/usr/local/mmseg3\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#make\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#make install\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e至此,mmseg已经安装完成,下面进入csft-3.2.13目录里进行安装coreseek …\u003c/p\u003e"
August 26, 2010
linux下php多线程的妙用
"\u003cp\u003e开始用php写后台服务一段时间了.也是在这样的驱动下,不断的学习php语法,体验这一原来一直以为神秘且敬而远之的神奇语言的魅力.最初看php多线程的资料是为了提高程序的处理能力,充分发挥linux多任务的优势.不曾想多线程没用成反到是带来了一系列的意外收获.让之后的许多问题迎刃而解,不敢独享特一一道来.\n本文所讲的东西是源自php的pcntl_fork函数.因为这个函数依赖操作系统fork的实现,所以本文所讲的东西只适用于linux/unix.ok,那么先看看这个函数的用法吧. \u003ca href=\"http://cn.php.net/manual/en/function.pcntl-fork.php\"\u003ephp手册\u003c/a\u003e 上是这么说的:\u003c/p\u003e\n\u003cp\u003e$pid = pcntl_fork();\u003c/p\u003e\n\u003cp\u003eif ($pid == -1) {\u003c/p\u003e\n\u003cp\u003edie(‘could not fork’);\u003c/p\u003e\n\u003cp\u003e} else if ($pid) {\u003c/p\u003e\n\u003cp\u003e// we are the parent\u003c/p\u003e\n\u003cp\u003epcntl_wait($status); //Protect against Zombie children\u003c/p\u003e\n\u003cp\u003e} else {\u003c/p\u003e\n\u003cp\u003e// we are the child\u003c/p\u003e\n\u003cp\u003e}\u003c/p\u003e\n\u003cp\u003e?\u0026gt;\u003c/p\u003e\n\u003cp\u003e通过pcntl_fork创建一个子进程,如果返回值是-1的话,那么说明子进程创建失败.创建成功的进 …\u003c/p\u003e"
August 23, 2010
centos IP网络配置
"\u003cp\u003e\u003cstrong\u003e一、修改IP地址\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e修改对应网卡的IP地址的配置文件\u003c/p\u003e\n\u003cp\u003e[root@centos]# vi /etc/sysconfig/network-scripts/ifcfg-eth0\u003c/p\u003e\n\u003cp\u003e修改以下内容\u003c/p\u003e\n\u003cp\u003eDEVICE=eth0(描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0)\u003c/p\u003e\n\u003cp\u003eBOOTPROTO=static(设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址)\u003c/p\u003e\n\u003cp\u003eBROADCAST=192.168.0.255(对应的子网广播地址)\u003c/p\u003e\n\u003cp\u003eHWADDR=00:07:E9:05:E8:B4 (对应的网卡物理地址)\u003c/p\u003e\n\u003cp\u003eIPADDR=192.168.1.2(如果设置网卡获得ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址)\u003c/p\u003e\n\u003cp\u003eIPV6INIT=no\u003c/p\u003e\n\u003cp\u003eIPV6_AUTOCONF=no\u003c/p\u003e\n\u003cp\u003eNETMASK=255.255.255.0(网卡对应的网络掩码)\u003c/p\u003e\n\u003cp\u003eNETWORK=192.168.1.0(网卡对应的网络地址)\u003c/p\u003e\n\u003cp\u003eONBOOT=yes(系统启动时是否设置此网络接口,设置为yes …\u003c/p\u003e"
August 22, 2010
Fedora 7配置用yum使用iso DVD镜像源安装软件
"\u003cp\u003e\u003cstrong\u003e1、先把光盘挂上\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e#monut /dev/cdrom /mnt/cdrom 光盘将挂载到/mnt/cdrom 现在我们来检查光盘是否挂载成功(如果没有此目录,先创建)\u003c/p\u003e\n\u003cp\u003e#ls /mnt/cdrom 有内容则表示挂载成功。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2、理解个道理\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eCentOS有两个yum源,它们在/etc/yum.repos.d/下面有两个文件:CentOS-Base.repo和CentOS-Media.repo。但这两个源不是同时使用的,默认使用的是采用互联网升级的CentOS-Base.repo源(这文件里都是网址,你可以自己看看),除非我们手动修改让系统使用Media源,而Media源就是指计算机本地的源,就包含我们方才挂上的本地光盘。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3、开始操作\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e首先,把CentOS-Base.repo文件改名,让系统找不到该文件,从而不能使用互联网的更新方式:\u003c/p\u003e\n\u003cp\u003e#mv CentOS-Base.repo CentOS-Base.repo.bak\u003c/p\u003e\n\u003cp\u003e然后,vi CentOS-Media.repo\u003c/p\u003e\n\u003cp\u003e把以下三行的后两行删除\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ebaseurl=file:///media/CentOS/ …\u003c/code\u003e\u003c/pre\u003e"
August 22, 2010
CentOs 5 安装Zend Optimizer
"\u003cp\u003e一,下载\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ecd /usr/local/src\n\nwget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz\n\ntar -xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz\n\n./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e二,安装\n1,php.ini配置文件目录是:/etc\n2,注意Host5156_Vps使用的是lighttpd,而非apache。\u003c/p\u003e\n\u003cp\u003e三,配置域名目录下php.ini文件\n1,/etc/php.ini是总的配置文件。还有一个具体的配置文件位于:/home/httpd/domain.com/php.ini,这个文件也要设置下。\n2,把php.ini文件下的[zend]段落复制下来,再添加到/home/httpd/domain.com/php.ini文件中。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e[Zend] …\u003c/code\u003e\u003c/pre\u003e"
August 22, 2010
CentOS 防火墙配置 80端口
"\u003cp\u003e在虚拟机的CENTOS装好APACHE不能用,郁闷,解决方法如下\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT\n/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e然后保存:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e/etc/rc.d/init.d/iptables save\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e这样重启计算机后,防火墙默认已经开放了80和22端口\u003c/p\u003e\n\u003cp\u003e这里应该也可以不重启计算机:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e/etc/init.d/iptables restart\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e防火墙的关闭,关闭其服务即可:\u003c/p\u003e\n\u003cp\u003e查看防火墙信息:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e/etc/init.d/iptables status\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e关闭防火墙服务:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e/etc/init.d/iptables stop\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e永久关闭?不知道怎么个永久法:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003echkconfig –level 35 iptables off\u003c/p\u003e\u003c/blockquote\u003e"
August 22, 2010
Linux中Iptables命令详解
"\u003cp\u003e手册:\u003c/p\u003e\n\u003cp\u003e用iptables -ADC 来指定链的规则,-A添加 -D删除 -C 修改\u003c/p\u003e\n\u003cp\u003eiptables – [RI] chain rule num rule-specification[option]\n用iptables – RI 通过规则的顺序指定\u003c/p\u003e\n\u003cp\u003eiptables -D chain rule num[option]\n删除指定规则\u003c/p\u003e\n\u003cp\u003eiptables -[LFZ] [chain][option]\n用iptables -LFZ 链名 [选项]\u003c/p\u003e\n\u003cp\u003eiptables -[NX] chain\n用 -NX 指定链\u003c/p\u003e\n\u003cp\u003eiptables -P chain target[options]\n指定链的默认目标\u003c/p\u003e\n\u003cp\u003eiptables -E old-chain-name new-chain-name\n-E 旧的链名 新的链名\u003c/p\u003e\n\u003cp\u003e用新的链名取代旧的链名\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e说明\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eIptalbes 是用来设置、维护和检查Linux内核的IP包过滤规则的。\u003c/p\u003e\n\u003cp\u003e可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作’target’(目标),也可以 …\u003c/p\u003e"
August 22, 2010
一行命令 Ping 网段所有 IP
"\u003cp\u003e按住 win键+r键 跳出cmd窗口,将下面的代码粘贴到该窗口,\n@for /l %i in (1,1,255) do @ping -n 1 -w 40 192.168.1.%i \u0026amp; if errorlevel 1 (echo 192.168.1.%i\u0026raquo;na.txt) else (echo 192.168.1.%i\u0026raquo;act.txt)\n回车,将自动探测192.168.1.X网段的ip响应情况. 现在是假设你的电脑属于192.168.1.X网段某一部.\n存活的保存在 act.txt,不通的在 na.txt;\n根据实际改改 -n 1 -w 40 的参数,以达到精准。\n还有个高级应用:\n@for /l %i in (1,1,65535) do @ping -n 1 -w 40 192.168.%i \u0026amp; if errorlevel 1 (echo 192.168.%i\u0026raquo;na.txt) else (echo 192.168.%i\u0026raquo;act.txt)\u003c/p\u003e"
August 22, 2010
squid和varnish的小结
"\u003cp\u003e上周初步接触linux下的这2个反向缓存软件,都实验了一下,貌似squid还是比较顺利的,varnish则碰到了一些问题\u003c/p\u003e\n\u003cp\u003e从varnish的文档看,性能比squid强很多,而且不是一点点,下面国外某在线媒体的12台squid换成3台varnish前后访问响应延时比较,据说有人也测试过的确如此,\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/squid-vs-varnish.jpg\" alt=\"\"\u003e][1]\u003c/p\u003e\n\u003cp\u003e但我就不那么顺利了。先说squid,安装很顺利,网上的中文文档也很多,在这次尝试中,被缓存的网站的静态内容并不多,主要还是以PHP为主,所以反向cache的效果并不是很好,缓存命中率在60到70%之间,缓存的主要对象是图片。由于安装调试都很顺利,所以在“试玩”了一天后,直接就上线用上了,几天下来,正常。由于做反向缓存的服务器内存不大,只有1G,所以缓存大小只设置了384M,使用了shm,保证了速度,但应该是没有充分发挥出缓存的效能,后期准备增加1G的内存,把缓存扩大到1G,这样的话,缓存对象的大小还能再设置大一些,也许有些mp3之类的也可以缓存起来,这样命中率也许会更高些。\u003c/p\u003e\n\u003cp\u003e但即便缓存的命中不是很高,但对后面WEB服务器的压力确实是大大减少了,下面是web服务器上并发连接的图示,一处 …\u003c/p\u003e"
August 22, 2010
lvs-可伸缩Web和媒体服务
"\u003cp\u003e基于LVS可伸缩Web和媒体服务的体系结构如图2.2所示:在前端是一个负载调度器,一般采用IP负载均衡技术来获得整个系统的高吞吐率;在第二层是服务器池,Web服务和媒体服务分别运行在每个结点上;第三层是数据存储,通过分布式文件系统使得每个服务器结点共享相同的数据。集群中结点间是通过高速网络相连的。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2010/08/web-media-cluster.jpg\"\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/web-media-cluster.jpg\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e2.2:基于LVS的可伸缩Web和媒体集群\u003c/p\u003e\n\u003cp\u003e分布式文件系统提供统一的存储空间,这使得系统的维护工作比较方便,且系统运行比较高效。当所有服务器结点超载时,管理员可以很快地加入新的结点来处理请求,而无需将Web文档等复制到结点的本地硬盘上。Webmaster可以看到统一的文档存储空间,维护和更新页面比较方便,对分布式文件系统中页面的修改对所有的服务器都有效。大的媒体文件(如视频文件)分段存储在分布式文件系统的多个结点上,可以提高文件系统的性能和文件服务器间的负载均衡。\u003c/p\u003e\n\u003cp\u003eIP负载调度器(即VS/DR方法,将在下一章详细叙述)可以分别将Web服务和媒体服务负载均衡地分发到各个服务器上,服务器将响应数据直接返回给客户,这样可以极大地提高系统的吞吐率。\u003c/p\u003e\n\u003cp\u003eReal公司以其高压缩比的音频视频格式和音频视频 …\u003c/p\u003e"