多个网站共用一个数据库,该怎么解决(两台服务器共用一个数据库)

多个网站共用一个数据库,该怎么解决(两台服务器共用一个数据库),第1张

二个以上的网站共同使用一个MYSQL数据库,这种方式可以是的,在建站实践中可以执行,而且很多站长也是采用这种方式建过站。我们只需要保障每个网站的“MYSQL数据库前缀名称”不一样就可以了。

多网站共享一个mysql数据库,不会影响网站正常运行。非要说个影响的理由,个人认为就是数据库表查询的速度和安全有所下降,但是在我们的访问使用,这个这种速度的差异,无法感觉到的。

多网站共享一个mysql数据库,站长们最关心的应该就是mysql管理备份的问题。多网站共享一个数据库后,极大方便了我们对数据库备份 *** 作,只需要备份一个数据库即可,不用频繁登录切换。

1、简图没有办法发上来,就给你说说怎么做好了。
2、2台服务器分别装电信,网通光纤还是宽带!
3、交换机N个能接完50台电脑就行,电信路由一个,网通路由一个。
4、其中2台服务器各接一个交换机,也就是说,服1接一交换机,服2接一交换机,但是这两个交换机要全部接入连接50台电脑的网络。
5、简化一下就是:服1接猫,猫接路由,路由接交换机,服2同服一。
交换机N个和50台电脑连接,担是要留下两个接口分别接服1和服2
OK

Session共享有多种解决方法,常用的有四种:客户端Cookie保存、服务器间Session同步、使用集群管理Session、把Session持久化到数据库。


1客户端Cookie保存
以cookie加密的方式保存在客户端,每次session信息被写在客户端,然后经浏览器再次提交到服务器,即使两次请求在集群中的两台服务器上完成,也可以到达session共享。


优点是减轻服务器端的压力;


缺点是受到cookie的大小限制,可能占用一定带宽,因为每次请求会在头部附带一定大小的cookie信息,另外这种方式在用户禁止使用cookie的情况下无效。


传统网站一般通过将一部分数据存储在cookie中,来规避分布式环境下session的 *** 作。这样做的弊端很多,一方面cookie的安全性一直广为垢病,另一方面cookie存储数据的大小是有限制的。随着移动互联网的发展,很多情况下还得兼顾移动端的session需求,使得采用cookie来进行session同步的方式的弊端更为凸显,分布式session正是在这种情况下应运而生的。


2服务器间Session同步
定时同步各个服务器的session信息,此方法可能有一定延时,用户体验也不是很好。


使用主-从服务器的架构,当用户在主服务器上登录后,通过脚本或者守护进程的方式,将session信息传递到各个从服务器中,也可以手工把session文件存放的目录改为nfs网络文件系统,从而实现文件的跨机器共享(使用nfs或windows文件共享都可以,或者专用的共享存储设备)。


这样,用户访问其它的从服务器时,就可以读到session信息。


缺点:比如速度慢、不稳定等,另外,如果session信息传递是主->从单向的,会有一些风险,比如主服务器down了,其它服务器无法获得session信息。


3把Session持久化到数据库
这种共享session的方式即将session信息存入数据库中,其它应用可以从数据库中查出session信息。目前采用这种方案时所使用的数据库一般为mysql。


利用数据库共享session的方案有一定的实用性,但也有如下缺点:
首先session的并发读写在数据库中完成,对mysql的性能要求比较高;
其次,我们需要额外地实现session淘汰逻辑代码,即定时从数据库表中更新和删除session信息,增加了工作量。
对于系统可靠性要求较高的用户,可以将session持久化到DB中,这样可以保证宕机时会话不易丢失,但缺点也是显而易见的,系统的整体吞吐将受到很大的影响。


4使用集群管理Session
将session统一存储在缓存集群上,如memcache,这样可以保证较高的读、写性能,这一点对于并发量大的系统来说非常重要;并且从安全性考虑,session毕竟是有有效期的,使用缓存存储,也便于利用缓存的失效机制。


使用缓存的缺点是,一旦缓存重启,里面保存的会话也就丢失了,需要用户重新建立会话,可以使用缓存集群来保证缓存的稳定性。


如图(基于缓存的分布式session架构)所示,前端用户请求经过随机分发之后,可能会命中后端任意的Web Server,将session以sessionid作为key,保存到后端的缓存集群中,使得不管请求如何分配,即便是某个Web Server宕机,也不会影响其他Web Server获得 session,这样既实现了集群间的session同步,又提高了 Web Server的容错性。


Tomcat作为Web Server时,可以通过一个简单的工具memcached-session- manager9(一个Tomcat session共享解决方案), 实现基于memcache的分布式session。

如果您想将公司的网站和邮箱从供应商的服务器上迁移到自己购买的服务器上,一般需要完成以下步骤:
1选择好合适的服务器。根据您的需求,选择一台适合的服务器,并确保其具备足够的硬件配置、稳定性和安全性。
2迁移网站数据。使用FTP或其他文件传输工具,将原网站的数据库和文件复制到新的服务器上。对于网站的数据库和其他重要数据,最好进行备份以防不测。
3安装必要的软件和依赖项。对于网站和邮箱服务来说,需要在新的服务器上安装必要的软件和依赖项,例如Web服务器(如Apache、Nginx等)和邮件服务器(如Postfix等),并正确配置相关参数和选项。
4配置DNS解析。将原来指向供应商服务器的域名解析记录修改为指向新服务器的IP地址,这样用户才能访问到您的新网站和邮箱服务。
5测试和优化。在进行生产环境之前,您需要测试新服务器的稳定性和性能,确保网站和邮箱服务能够正常运行。同时,您还可以根据实际情况对服务器进行调优,提高性能和安全性。
总之,将网站和邮箱服务从供应商的服务器迁移到自己购买的服务器上需要一些技术和经验,建议您参考相关的教程或求助专业人士进行 *** 作。同时,迁移过程中需要注意数据安全和稳定性问题,避免数据丢失和网站访问异常等情况发生。

客户端建立新链接时初始xid采用随机值。服务端DRC额外记录请求校验信息,缓存命中时同时校验这些信息。
需要服务端维持相关状态,如文件锁,例如客户端申请了文件锁,服务端就需要维护该文件锁的状态,否则和其他客户端冲突的访问就无法检测。如果是NFSv3就需要NLM协助才能实现文件锁功能,但是有的时候两者配合不够协调就会容易出错。而NFSv4设计成了一种有状态的协议,自身就可以实现文件锁功能,也就不需要NLM协议了。
客户端使用int32_t类型的xid标识上层使用者发起的每个远程过程调用过程,每个远程过程调用的多次RPC重试使用相同的xid标识,这样就保障了多次RPC重试中任何一个返回都可以告知上层远程过程调用已经成功,保证了服务端执行远程过程调用执行耗时较长时也能拿到结果,这和传统的netty/mina/brpc等都需要每个RPC都要有独立的xid/packetid不同。

如图中所示,R1和R2模拟成两台服务器并且提供相同的服务(地址分别为1721611 ,1721612),R3是交换机,R4是边界路由器也就是内部服务器的网关所在路由器(内网口地址为172161254 ),R5充当公网并且有环回口5555,在R4上的E0/0(地址为2222222221) 接口开启PAT,使得内网服务器可以访问外网R5的 5555
如图:
这时就进入关键性阶段了,1:写一条ACL来匹配公网路由,access-list 2 permit 2222222221
2:定义一个以内部服务器为地址的池:ip nat pool ccna 1721611 1721612 netmask 2552552550 type rotary (最后这两个一定要有意思就是让这些地址轮循)
3:将ACL跟地址池关连起来:ip nat inside destination (注意这个不是source) list 2 pool ccna
最后就是在R1,R2的line vty 0 4 下打no login 允许外网的登陆。
这时可以检验结果了,,在R5上telnet 2222222221 可以发现第一次时进入R1,第二次就进入R2了,
这 样就达到了两个服务器的负载均衡了。。当然这种情况是在多个服务器提供相同的服务的前提下才好用。
但是对于内部有多台服务器要同时开放一个相同的端口但是又只有一个公网IP时该怎么办呢?
图中标出了拓扑的详细结构,服务器地址分别为1721612 和1721613 ,网关为1721611 ,然后同样的跟上边一个实验一样,在边界路由器做基于接口的PAT转换,使得服务器可以访问公网,然后我们就开始在边界路由器上配置端口跟ip地址的映射,通常情况下我们都认为映射是这样写: ip nat inside source static tcp 1721612 80 2222222221 80 然后会发现下一台服务器没法再做相同端口的映射了,,因此我们就必需改变上面的命令来使得另一台服务器也可以基于80端口的映射:这进命令就可以改成:ip nat inside source static tcp 1721612 80 2222222221 100 与
ip nat inside source static tcp 1721613 80 2222222221 101 这样的两条映射。。那么这样写的映射是否真的可行呢?那就让我们一起来检验下成果,首先必需在两台服务器上面的>如意通RTP,可以和MSN。GTALK,FACEBOOK。等大量即时通讯软件互通。一般互通的方案就是服务器对服务器间通过网关互通,如意通RTP是基于XMPP协议的,所以和很多XMPP协议的软件都是直接互通,不是通过走代理。

双机热备 共享存储方式什么是双机热备
双机热备包括广义与狭义两种。
从广义上讲,就是服务器高可用应用的另一种说法,英译为:high available,而我们通常所说的热备是根据意译而来,同属于高可用范畴,而双机热备只限定了高可用中的两台服务器。热备软件是用来解决一种不可避免的计划和非计划系统宕机问题的软件解决方案,当然也有硬件的。是构筑高可有集群系统的基础软件,对于任何导致系统宕机或服务中断的故障,都会触发软件流程来进行错误判定、故障隔离、以及通地联机恢复来继续执行被中断的服务。在这个过程中,用户只需要经受一定程度可接受的时延,而能够在最短的时间内恢复服务。
从狭义上讲,双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两台服务器上互为主备状态(即Active-Standby和Standby-Active状态)。
注:Active-Standby的状态指的是某种应用或业务的状态,并非指的是服务器状态。
组成双机热备的方案主要有两种方式:
1、基于共享存储(磁盘阵列)的方式:
共享存储方式主要通过磁盘阵列提供切换后,对数据完整性和连续性的保障。用户数据一般会放在磁盘阵列上,当主机宕机后,备机继续从磁盘阵列上取得原有数据。如下图所示。
这种方式因为使用一台存储设备,往往被业内人士称为磁盘单点故障。但一般来讲存储的安全性较高。所以如果忽略存储设备故障的情况下,这种方式也是业内采用最多的热备方式。
2、基于数据复制的方式:
这种方式主要利用数据的同步方式,保证主备服务器的数据一致性。
数据同步方式
基本于数据复制的方式有多种方法,其性能和安全也不尽相同,其主要方法有以下几种:
A、单纯的文件方式的考贝不适用于数据库等应用,因为打开的文件是不能被复制的,如果要复制必须将数据库关闭,这显然是不可以的。以文件方式的复制主要适用于WEB页的更新,FTP上传应用,对主备机数据完整性,连续性要求不高的情况下使用。
B、利用数据库所带有复制功能,比如SQLServer2000或2005所带的定阅复制,这种方式用户要根据自己的应用小心使用,原因主要是:
(1)SQLServer的定阅复制会在用户表上增加字段,对那些应用软件编程要求较高,如果在应用软件端书写时未明确指定字段的用户,而使用此功能会造成应用程序无法正常工作。
(2)数据滞留,这个限制怕也是最要命的,因为SQLServer在数据传输过程中数据并非实时的到达主备机,而是数据先写到主机,再写到备机,如此一来,备机的数据往往来不及更新,此时如果发生切换,备机的数据将不完整,也不连续,如果用户发现已写入的数据在备机找不到,重新写入的话,则主机修复后,就会发生主备机数据严重冲突,数据库会乱掉。
(3)复杂应用切莫使用定阅复制来做双机热备,包括数据结构中存储过程的处理,触发器和序列,一旦发生冲突,修改起来非常麻烦。
(4)服务器性能降低,对于大一点的数据库,SQLServer2000或2005所带的定阅复制会造成服务器数据库运行缓慢。
总之SQLServer2000或2005所带的定阅复制主要还是应用于数据快照服务,切莫用他来做双机热备中的数据同步。
C:硬盘数据拦截,目前国际国内,比较成熟的双机热备软件通常会使用硬盘数据拦截的技术,通常称为镜像软件即Mirror软件,这种技术当前已非常成熟,拦截的方式也不尽相同。
(1)分区拦截技术,以Pluswell热备份产品为例,他采用的是一种分区硬盘扇区拦截的技术,通过驱动级的拦截方式,将数据写往硬盘的数据提取,并着先写到备用服务器,以保证备用服务器的数据最新,然后再将数据回写到主机硬盘。这种方式将绝对保证,主备机数据库的数据完全一致,无论发生哪种切换,都能保证数据库的完整性与连续性。由于采用分区拦截技术,所以用户可以根据需要在一块硬盘上划分适合大小的分区来完成数据同步工作。
(2)硬盘拦截技术,以Symantec的Co-Standby为例,也是一种有效的硬盘拦截软件,他的拦截主要基于一整块硬盘,往往在硬盘初始化时需要消耗大量的时间。
双机热备中需要指出的几个概念:
1、双机热备的工作原理即:故障隔离,简单的讲,高可用(热备)就是一种利用故障点转移的方式来保障业务连续性。其业务的恢复不是在原服务器,而是在备用服务器。热备不具有修复故障服务器的功能,而只是将故障隔离。
2、Active-Active方式指的是业务方式而不是服务器状态,如果是同一种应用是不能完成Active-Active方式的。例如热备的两台服务器都是sqlserver数据库,那也是指的不同的数据库实例。相同的数据库实例是不可能在热备这一级实现Active-Active方式。简单的讲Active-Active方式就是两个Active-Standby方式分别运行于两台服务器上的。
3、故障检测:故障检测是双机热备的任务,不同的双机检测点的多少决定了双机热备软件在功能和性能上的优劣,并不是所有的软件都具有相同的检测功能,以PlusWell双机热备软件为例,其提供的是一种全系统检测能力,即检测分为系统级、应用级、网络级三个方面。系统级检测主要通过双机热备软件之间的心跳提供系统的检测功能,应用级提供用户应用程序、数据库等的检测功能,网络级的检测提供对网卡的检测及可选的对网络路径的检测功能,因此称为全故障检测能力。
4、服务器资源,双机热备的资源指某种业务运行过程中所依赖的最小的关联服务,不同的双机软件所提供的资源多少也不相同,当然提供的可切换资源越多,软件应用的范围也越广,在双机热备中提到的服务器资源主要包括,可切换的网络IP资源、计算机名、磁盘卷资源、服务器进程等。
5、双机热备的切换,双机热备的切换一般分为手动切换和故障切换,即计划性切换(即人为切换)和非计划性切换(即故障切换)。需要大家注意的是并不是所有资源都具有可切换性,以PlusWell热备份软件为例他提供了:(1)本地资源监控,即不可切换的资源,(2)普通资源,即可以在主备机切换的资源。(3)快速资源,指的是快速切换的资源,
一般情况下的双机切换时间为1-5分钟,而快速切换的时间为3-5秒种。用户应根据自己的需求及业务特点来选择相关的切换服务,从价格成本上来说,切换的时间越短费用也越高。
6、热备份与备份的概念区别,热备份指的是:high available即高可用,而备份指的是Backup,即数据备份的一种,这是两种不同的概念,应对的产品也是两种功能上完全不同的产品。热备份主要保障业务的连续性,实现的方法是故障点的转移,而备份,主要目的是为了防止数据丢失,而做的一份考贝,所以备份强调的是数据恢复而不是应用的故障转移。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10233227.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存