请教关于socket多个服务器的问题
两个错误和一点建议。
● 错误1 是按照题主的在问题里所描述的设计,网关服务器根本没有维持长连接的必要,只需要转发消息给业务服务器后跟 Client 的连接就可以断开了,剩下的都是业务服务器跟 Client 直接通信了。不知题主还有什么关于维持长连接的必要没有在问题里说明?
● 错误2 是如果维持长连接了,把 Client 的端口号转发给业务服务器了有什么用?Client 的这个端口正在跟网关服务器通信呢,业务服务器怎么可能通过这个端口跟 Client 建立连接?难道同一个端口还能被多个 Socket 占用吗?
● 建议 要么改为业务服务器不跟 Client 通信,还是经由网关服务器中转进行;要么业务服务器就需要跟 Client 进行“打洞”(Hole Punching)。
先说为什么要“打洞”。对于处在同一子网下的计算机还好说,假如 Client 在子网 A 下,且 A 下有多态接入设备(最常见的就是走路由了),那么 A 子网下的所有计算对于你的服务器来说 IP 都是一样的,所以你要想要穿过路由直接跟 A 子网下的某台计算机建立连接,就必须要先“打洞”。
再推荐几篇有关 C# 打洞(Hole Punching)的资料:
http://wwwcsharpwincom/csharpspace/2249shtml
http://wwwcnblogscom/OpenCoder/diary/2011/06/29/2093895html
http://wwwcsframeworkcom/archive/2/arc-2-20110612-1557htm
http://blogcsdnnet/yoeoo/article/details/3195403
http://wwwcsharpwincom/csharpspace/2248shtml
1:找分区或目录同步软件,某台服务器改动了自动把修改应用到别的服务器,比如红旗的HA。
2:换种建服务器的思路,后台用一台独立的服务器做数据库和文件服务器,用来存放数据库和上传的文件,另外的做负载均衡运行服务器,把不需要变动的网页程序放上面。
你可以试试在一台服务器做WEB和数据库,另外一台做WEB,两个WEB都连接那一个数据库,这样两个WEB内容就是同步的了,然后两台WEB间做负载,下边是我COPY的
网络负载均衡可以让客户端用一个逻辑Internet名称和虚拟IP地址(又称群集IP地址)访问群集,同时保留每台计算机各自的名称。下面,我们将在两台安装Windows Server 2003的普通计算机上,介绍网络负载均衡的实现及应用。
这两台计算机中,一台计算机名称为A,IP地址为19216807;另一台名为B,IP地址为19216808。规划网络负载均衡专用虚拟IP地址为19216809。当正式应用时,客户机只需要使用IP地址19216809来访问服务器,网络服务均衡会根据每台服务器的负载情况自动选择19216807或者19216808对外提供服务。具体实现过程如下:
在实现网络负载均衡的每一台计算机上,只能安装TCP/IP协议,不要安装任何其他的协议(如IPX协议或者NetBEUI协议),这可以从“网络连接属性”中查看。
第一步,分别以管理员身份登录A机和B机,打开两台机的“本地连接”属性界面,勾选“此连接使用下列项目”中的“负载均衡”项并进入“属性”对话框,将IP地址都设为19216809(即负载均衡专用IP),将子网掩码设置为2552552550;
第二步,分别进入A机和B机的“Internet协议(TCP/IP)”属性设置界面,点击“高级”按钮后,在弹出的“高级TCP/IP设置”界面中添加IP地址19216809和子网掩码设置为2552552550。
第三步,退出两台计算机的“本地连接属性”窗口,耐心等一会儿让系统完成设置。
以后,如果这两台服务器不能满足需求,可以按以上步骤添加第三台、第四台计算机到网络负载均衡系统中以满足要求。
用IIS服务验证网络负载均衡
网络负载均衡配置好后,为了实现某项具体的服务,需要在网络负载均衡的计算机上安装相应的服务。例如,为了实现IIS网站的负载均衡,需要在相应的网络负载均衡服务器上安装IIS服务。为了让每个用户在通过网络负载均衡访问到不同的计算机时,能够访问到一致的数据,需要在网络负载均衡的每台计算机上保持数据的一致性。举例来说,实现了两个节点的IIS的网络负载均衡,为了保证两个网站内容的一致性,除了这两个IIS服务器的配置相同外,相应的网站数据必须一致。
为了检验网络负载均衡,我们可以通过IIS来进行验证,其他的一些应用如终端服务、Windows Media服务与IIS的应用与之相类似。在其他计算机上的IE浏览器中键入19216809,根据网络的负载,网络负载均衡会自动转发到A机或B 机。为了验证效果,你可以在浏览的时候,拔掉第一台计算机的网线或拔掉第二台机器的网线,将会发现浏览到的将是不同内容。当然,我们在测试的时候,为了验证网络负载均衡的效果,把两个网站设置成不一致的内容,而在正式应用的时候,网络负载均衡群集的每个节点计算机的内容将是一致的,这样不管使用哪一个节点响应,都能保证访问的内容是一致的。
单线服务器和BGP多线服务器有何区别?磐石云来讲讲,首先我们先了解它们的各自含义是什么,再去比较一下它们的优缺点。
单线:
通常指电信单线路或联通单线路或移动单线路(单网卡单IP)。
单线服务器就是指这个IDC机房要么是联通线路接入,要么是电信线路接入,要么就是移动线路接入,相互之间跨运营商访问效果比较差。
BGP线路服务器:
采用BGP方案来实现电信/联通/移动 多线路互联的机房,我们称为BGP机房。
它们有什么优劣势?
单线 vs BGP
单线优势就是大带宽成本低,机房出口带宽充足。反过来BGP的优势就是单线机房的劣势,最忍受不了的就是晚上、节假日机器故障维护问题,慢的要死,当然这种情况只是机房带宽不充足的情况下,带宽充足还是比较稳定的。
如果你的用户群体比较集中,流量非常大,比如基本都是北方用户或者某一个城市,可以考虑放在单线机房,便宜省钱。小型网站平台可以考虑单线+CDN,这是个不错的选择。
如果业务是服务全国用户或者当地电信联通市场占比各半,流量在百兆以内就放在BGP多线,速度快,服务器有保障。
BGP服务器有哪些优劣势:
首先,BGP机房实现了不同运营商能共用同一IP的目标,并且保证了各服务商都能以最快的速度接入网络。
BGP机房中的单IP双线路的BGP协议,是实现运营商同Ip而达到接入最高速的核心设计,主要由一条线路的IP映射到另一线路的IP上,再借助程序自动为运营商选择最快的线路,以达到合理的分流。
运营商通过这样的途径不仅可以选择到最佳的访问途径、达到最高的访问速度,并且还不占用服务器的任何资源。
不好的地方就是BGP线路贵,同样的机器和带宽比单线高出很多,带宽越大比例越大,一般用千兆以上带宽的公司基本没有用BGP多线的。
该选择哪一个?
每一种线路各有优缺点。
至于选择什么路线,你们看完以上分析后会有个自我判断,不管怎么样,无论选择哪种,都必须以业务需求发展的角度去选择。
从外形上可以区分如下几种服务器种类:
方法/步骤
机架式服务器
机架式服务器的外形看来不像计算机,而像交换机,有1U(1U=175英寸=4445CM)、2U、4U等规格。机架式服务器安装在标准的19英寸机柜里面。这种结构的多为功能型服务器。
对于信息服务企业(如ISP/ICP/ISV/IDC)而言,选择服务器时首先要考虑服务器的体积、功耗、发热量等物理参数,因为信息服务企业通常使用大型专用机房统一部署和管理大量的服务器资源,机房通常设严密的保安措施、良好的冷却系统、多重备份的供电系统,其机房的造价相当昂贵。如何在有限的空间内署更多的服务器直接关系到企业的服务成本,通常选用机械尺寸符合19英寸工业标准的机架式服务器。机架式服务器也有多种规格,例如1U(445cm高)、2U、4U、6U、8U等。通常1U的机架式服务器最节省空间,但性能和可扩展性较差,适合一些业务相对固定的使用领域。4U以上的产品性能较高,可扩展性好,一般支持4个以上的高性能处理器和大量的标准热插拔部件。管理也十分方便,厂商通常提供人相应的管理和监控工具,适合大访问量的关键应用,但体积较大,空间利用率不高。
刀片服务器
所谓刀片服务器(准确的说应叫做刀片式服务器)是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度。每一块"刀片"实际上就是一块系统主板。它们可以通过"板载"硬盘启动自己的操作系统,如Windows NT/2000、Linux等,类似于一个个独立的服务器,在这种模式下,每一块母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联,因此相较于机架式服务器和机柜式服务器,单片母板的性能较低。不过,管理员可以使用系统软件将这些母板集合成一个服务器集群。在集群模式下,所有的母板可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群服务。在集群中插入新的"刀片",就可以提高整体性能。而由于每块"刀片"都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间减少到最小。
塔式服务器
塔式服务器应该是大家见得最多,也最容易理解的一种服务器结构类型,因为它的外形以及结构都跟我们平时使用的立式PC差不多,当然,由于服务器的主板扩展性较强、插槽也多出一堆,所以个头比普通主板大一些。
因此塔式服务器的主机机箱也比标准的ATX机箱要大,一般都会预留足够的内部空间以便日后进行硬盘和电源的冗余扩展。由于塔式服务器的机箱比较大,服务器的配置也可以很高,冗余扩展更可以很齐备,所以它的应用范围非常广,应该说使用率最高的一种服务器就是塔式服务器。我们平时常说的通用服务器一般都是塔式服务器,它可以集多种常见的服务应用于一身,不管是速度应用还是存储应用都可以使用塔式服务器来解决。
机柜式服务器
在一些高档企业服务器中由于内部结构复杂,内部设备较多,有的还具有许多不同
机柜式服务器的设备单元或几个服务器都放在一个机柜中,这种服务器就是机柜式服务器。机柜式通常由机架式、刀片式服务器再加上其它设备组合而成。对于证券、银行、邮电等重要企业,则应采用具有完备的故障自修复能力的系统,关键部件应采用冗余措施,对于关键业务使用的服务器也可以采用双机热备份高可用系统或者是高性能计算机,这样的系统可用性就可以得到很好的保证。
缺点也就是1楼说的那个,是最严重的了再补充一条就是:当你某项服务down了出故障了,需要配置重启时,你的其他正常服务会受影响优点除了省钱,再就是维护应该方便些最好做一双机热备份也多花不了多少钱
国内有三大云:BAT(百度云、阿里云、腾讯云)
另外还有很多云服务器选择的时候可注意
一、判断是否是真云服务器,避免寻到虚假云服务器
上云服务器不是所有主机服务商都有技术能力的,有些主机商都是直接用VPS来代替云主机,所以大家在选择的时候应该擦亮眼睛。简单来说,虚拟主机和VPS都是基于一台服务器的虚拟化主机,而云服务器是基于服务器集群基础上的虚拟化主机。
二、警惕以次充好的云服务商
因为云主机本身是虚拟化的,它的控制后台对于用户本身就是不透明的,云服务商使用的到底是什么配置的集群服务商和物理设备,如何构架云服务的不得而知。很多小型的服务商会随便拉几台服务器,做个简易虚拟化架构,就敢出来叫卖云服务器。事实上,国内市场的确充斥着“很多朵”低质量的云。因为便宜,国内相当一部分用户也在使用这样的云。
三、主机虚假测试
目前很多云服务商都会提供云服务器试用,但在试用过程中很多用户反映,测试时主机各项指标都还不错,可是真正作为生产系统跑业务时,问题百出。其实很简单,问题就出现在测试机中。很多云主机供应商提供的测试机都是经过特别优化的,所以采购云主机时,不能完全相信测试机的测试数据,真实用户的评价可能更具参考价值。
四、云服务器是否支持弹性升级
云服务器本身是对云端资源的整合再分配,在服务器配置上是可以任意升级配置的,比如你美猴云购买租用了一台云主机,配置为CPU2核、2G内存,1M带宽,但在使用一周之后发现内存和带宽不够用,那么就可以直接在线升级配置,这样使用起来也会更加顺畅。
五、云服务商售后保障
大家在选择云服务商的时候会发现,现在很多提供商都说的是提供7x24小时售后服务,但实际要区分是人工服务支持还是机器人回复,以及留言或者邮件等服务形式。在这一点上,美猴云提供7x24小时售后服务,并且都是人工服务,对接人为每个客户的销售、客服和技术人员。
总之,云服务器租用需要对比考虑的东西有很多,比如相关配置情况、安全情况,又要考虑到相应的价格等,但不管是在稳定性还是安全性、售后服务方面,美猴云都值得您选择和使用!
0条评论