做2台数据库 1个应用 +集群 需要哪些硬件 现在选的是IBM3850

做2台数据库 1个应用 +集群 需要哪些硬件 现在选的是IBM3850,第1张

2台X3850+1台DS系列存储阵列,配合网络设备等,组成数据库集群;两台主机可以组成数据库的并发像Oracle的RAC;也可以是双机热备模式,一台运行数据库一台运行应用,并互作热备。

磁盘阵列作为主机数据共享应用。

现在比较大型点的系统基本上是AP+DB的架构: AP指应用程序,DB指数据库端

AP放在一个服务器上,DB放在另一个服务器上

当一个系统比较大,访问的用户数量比较多的时候,比如QQ,上亿用户

这时一个服务器就吃不消了,这样就想到多个服务器跑同一个AP应用

DB端也一样

linux集群 指的就是多个服务器跑同一个AP应用,系统管理员的工作

数据库集群 指的就是多个服务器跑同一个DB数据库数据库管理员的工作

linux集群基础就要熟悉linux系统

数据库集群基础就要熟悉具体的数据库如oracle,db2,sysbasemysql等

0基础可以学,只是要花时间0基础想搞到集群估计得花3个月时间这还是要有环境的,有人指导才行

本文描述了远程消息传递和远程支持集群环境的搭建配置过程。这个集群环境由三个集群组成,具体的拓扑结构是:

应用程序集群,不但为应用程序提供工作负载管理以及URL和EJB 请求故障转移功能,而且还部署了BPC和HTM 容器,提供了对长业务流程和人工业务流程的应用程序的支持。

远程消息集群,运行WPS默认提供的四个总线(SCA应用,SCA系统,BPC和CEI)提供独立的高效的消息引擎。

远程支持集群,部署通用事件体系结构和业务规则管理等其他应用程序,提供异步的事件查询。

这三个集群配置在两台机器的不同的节点上,即三个集群的成员水平部署在两台机器上。在一个集群中的两个成员是该集群中完全相同的副本。消息传递引擎、业务支持和业务流程应用程序分别位于不同的集群上,所以可以根据实际业务负载和硬件环境,灵活调配所需的资源。这种模式,也称为黄金拓扑,是 WPS 中最复杂的拓扑结构,是大多数企业集成应用用户的首选,具有如下优点:

可靠性。将所有的应用、消息引擎和通用事件部署在三个集群上面,方便管理和使用。

可扩展性。因为系统中的消息引擎处于的关键地位,可能存在之后的访问需求增长等扩展需要,单独创建消息引擎集群可以很方便实行这一点。

对于系统运行时可能遇到的处理量非常大和可伸缩性等问题,通过将通用事件基础架构(CEI)和应用程序分离,可以确保这两个组件不会争用相同的资源(内存和CPU)。此拓扑还能帮助创建集中的事件服务器以处理来自多个源的事件。

所有的应用服务器由 Deployment Manager 统一管理,降低了系统管理的复杂度。

安装前的注意事项

在集群环境的安装过程中,需要同步两台主机的信息,确保它们之间能够良好的通信。主要同步的信息包括两台主机的系统时间、时区设置,并确保两台机器的时间差在5分钟之内,如果时间差超过5分钟,联合 *** 作将失败。

更新两台主机的hosts 文件(默认目录为/etc/hosts ),确保每台机器均包含对方的host name 和对应的IP 地址,以便主机间的相互访问。

在使用向导安装和配置概要时,请按照从上到下的顺序输入配置参数,对于WPS V612 ,输入顺序的改变有可能导致未知错误。

集群环境的搭建步骤

Informix 数据库规划

WPS的集群环境需要后台数据库的支持。为了提高集群在实际运行中的效率,建议根据功能的不同,创建不同的数据库。数据库的详细信息如下表所示:

数据库名称 说明

WPRCSDB 公共数据库

EVENT 通用事件体系结构数据库

CEIDB 通用事件体系结构消息传递引擎数据库

SCASYSDB 服务组件系统消息传递引擎数据库

SCAAPPDB 服务组件应用程序消息传递引擎数据库

BPCDB 业务流程编排器数据库

BPCME 业务流程编排器消息传递引擎数据库

OBSVRDB 业务流程编排器事件收集器数据库

注意:本文选择英文语言的数据库安装。如果要安装中文语言的数据库,请参考本文的:在数据源定制属性中添加数据库语言。

安装WPS的步骤

首先使用图形化安装向导在两台主机上分别安装WPS v612 产品,。在安装产品和搭建集群过程中,步骤如下:

1选择“Typical installation”安装类型。典型安装也称为完全安装,提供了环境的初始化定义,包括通过概要管理工具创建特定了类型的概要文件。

图2 选择安装类型

2在选择概要类型界面提供了四种可选择的概要类型(图3)。我们选择“None”,即不创建任何类型的概要,以便在以后的步骤中手动创建概要。

使用Profile Management Tool(PMT) 创建Deployment Manager 概要

Deployment Manager(DM)是管理控制节点,它对集群环境下的所有节点提供了图形化的管理功能。一个集群环境中一般只需要一个管理概要。下面我们将向您讲述创建DM 概要的主要步骤:

1 在<WPS_HOME>/bin/ProfileManagement/ 下执行命令pmtsh ,d出安装界面。在各种类型的环境选项中选择 WPS,进入下一步。

2 在概要类型中提供了三种典型的概要类型,选择 Deployment manager profile,搭建DM 概要。

3 在创建方式界面中,默认选项为创建典型的概要文件,在此需要选择 Advanced profile creation,以便我们在后续步骤中通过管理控制台手动进行集群配置,以满足特定环境的需求。

4 填写要创建的Deployment manager profile的名称和安装目录。

5 填写概要的Node Name和Cell name ,指定 Host Name。

6 在管理安全选项中,如果选中 Enable administrative security 选项,请记住 WPS v 612

用户名称和密码。这里建议取消 Enable administrative security 选项,不设置安全管理。在后续步骤中可以根据需要手动启动安全管理选项,设定用户名密码。

7 配置服务器的端口。

8 进行数据库的配置。首先从 Choose a database product 选择 Informix Dynamic Server 作为公共数据库类型,并选择 Use an existing database。另外,需要指定 Database name,本例中使用先前创建的数据库 WPRCSDB。不选择“Deplay execution of database scripts for new or existing database”选项,因为概要文件的安装过程中会自动创建数据库 WPRCSDB 中的表。注意:如果创建的数据库为中文字符集,则需要选择 “Deplay execution of database scripts for new or existing database“选项,在概要创建完成后,手动执行创建数据库表(请参考本节内容中的步骤 11)。

9 在数据库配置的第2步,需要对 Common DB 参数进行配置。如果是远程数据库,则在填写 Database server host name时,要确保远程数据库的host name 已经添加到本地主机(参考本文的第三部分内容“安装前的注意事项”);也可以直接在该项填写远程数据库的IP 地址。换句话说,在点击下一步之前,请确认数据库的参数信息,否则将在点击下一步后,会收到不能连接数据库的错误提示。

10 完成以上步骤后,系统会显示概要的创建信息。如果发现参数需要调整可以后退向导重新进行输入。DM 创建成功后,可取消选择 Launch the First steps console和Create another profile,点击完成。至此,Deployment Manager 创建完成。如果创建DM 失败,请查看 <WPS_HOME>/logs/manageprofile 目录下的日志文件进行分析。

11 另外,如果需要手工创建Common DB(WPRCSDB) 相关的表,可执行DM 概要创建生成的数据库脚本,默认目录为:

<WPS_HOME>/profiles/Dmgr01/dbscripts/CommonDB/Informix/WPRCSDB 。

请将这些脚本复制到 Informix 数据库所在机器,并设置如下环境变量:

INFORMIXSERVER=<IFX_INSTANCENAME>

INFORMIXDIR=<IFX_INSTALL_HOME>

之后执行如下命令:

dbaccess – createDatabase_CommonDBsql

如果WPRCSDB已经创建,可以忽略。

dbaccess WPRCSDB createTable_AppSchedulersql

dbaccess WPRCSDB createTable_CommonDBsql

dbaccess WPRCSDB createTable_customizationsql

dbaccess WPRCSDB createTable_lockmanagersql

dbaccess WPRCSDB createTable_mediationsql

dbaccess WPRCSDB createTable_Recoverysql

dbaccess WPRCSDB createTable_RelationshipMetadataTablesql

dbaccess WPRCSDB createTable_EsbLoggerMediationsql

dbaccess WPRCSDB insertTable_CommonDBsql

使用PMT 创建自定义概要

接下来,我们手动进行自定义概要的创建。这样,能够在创建概要过程中,根据客户特定的使用需求和环境特点,选择适合于自己的数据库,并进行端口、用户名、密码等信息的设置。

在创建自定义概要(Custom profile)之前启动 DeploymentManager(DM)概要,在目录<WPS_HOME>/profiles/Dmgr01/bin 下,运行startManagersh 命令。节点概要的创建与 DM 概要的创建类似,在目录<WPS_HOME>/bin/ProfileManagment 下执行命令pmtsh,随即获得安装界面,主要步骤如下。

1.选择 Create 即创建一个新的概要文件。

2.在环境选项中,选择 WPS,进入下一步。

3.在创建概要的类型中,选择 Custom Profile,创建一个自定义节点概要。

4.在安装类型选项中,选择 Advanced profile creation,以便在后续步骤中通过手动配置相关参数,定制特定的节点概要。

5.输入节点所对应的DM 概要的主机名称和端口,默认端口为8879。如果在创建DM时启动了管理安全性,则需要输入用户名和密码。Federate this node later 选项的选择取决于是否要在创建节点的同时将其联合到指定的DM 概要中。这里,我们不选择该选项,节点会自动与 DM 概要联合,需要注意的是,要确保 DM 概要此时为启动状态。

若选择创建节点之后手动联合到 DM 概要中,则需要在创建节点完成后使用<WPS_HOME>/Custom01/bin 目录下的addNodesh 命令进行节点与 DM的手动联合,具体命令如下:

addNodesh dmgr_hostname <–username username –password password>

6.输入DM的信息后,进入端口设置页面,可以自行修改端口号。

7.在数据库选项中选择 Informix Dynamic Server 作为数据库类型,并为Informix JDBC driver 指定正确的路径。该路径指向节点所在的本地机器上 ifxjdbcjar和ifxjdbcxjar的存储位置。

8.浏览汇总信息无误后,点击 Create 开始创建自定义概要。

9.创建成功后,重复以上步骤为另一台机器创建自定义概要。

命令行方式创建Deployment Manager 实例和托管节点实例

创建DM profile 和Custom profile时,除了使用pmtsh 命令外,还可以选择命令行方式,即执行<WPS_HOME> /bin/manageprofilessh 命令创建概要。创建Deployment manager 概要的命令和脚本如下:

/manageprofilessh –create -dbServerPort 8002

–templatePath <WPS_HOME>/profileTemplates/dmgrwbiserver

–profileName Dmgr01

-dbDelayConfig true –dbCommonForME false

–dbType INFORMIX –dbHostName aix235cnibmcom

–dbInstance IFXTest –hostName aix235cnibmcom

–enableAdminSecurity false –dbName wprcsdb

–dbPassword informix –ndtopology false

-cellName aix235Cell01 –nodeName aix235CellManager01

–dbJDBCClasspath /opt/jdbc/lib –dbUserId Informix

–dbCreateNew false –profilePath <WPS_HOME>/profiles/Dmgr01

创建自定义节点的命令和脚本如下:

/manageprofilessh –create –dmgrHost 9186111234

–profileName Custom01 –templatePath <WPS_HOME>/profileTemplates/managedwbiserver

–dbType INFORMIX –ndtopology false

–cellName aix234Node01Cell –hostName aix234cnibmcom

–nodeName aix234Node01 –dbJDBCClasspath /home/jdbc/lib

–dmgrPort 8879 –profilePath <WPS_HOME>/profiles/Custom01

java中的封装就是对某些逻辑进行再次重写。达到重用的状态,提高开发速度和能力。我们也可以从下面几个方面进行学。

第一:先学习Java的核心库(JavaSE)

JavaSE的内容包括:环境搭建、基础语法、面向对象、数组、集合、常用类、IO流、反射机制、网络编程……

第二:MySQL数据库

搞定一门数据库相关的课程,例如:MySQL、Oracle,搞定一个就可以了,目前互联网公司,例如:京东、阿里等,他们都在使用MySQL,所以建议大家学习MySQL数据库,小巧轻盈,免费。

由于互联网公司的项目访问量比较大,所以一般会搭建数据库的集群,可以一个数据库不够,所以需要搭建数据库集群,为了应付高并发。(搭建的比较多的时候,免费就很重要了。)

第三:WEB前端

以后从事Java开发,从事JavaEE开发,主要开发的系统结构是B/S结构的,B指的是Browser,S指的是Server。要开发这种系统,B端要会,S端也要精通。WEB前端的学习就是学习B端技术。

包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底层对JS进行了封装)…

第四:JavaWEB

WEB后端其实可以是很多种不同的编程语言,例如:PHP、C、C++、Java,他们都可以进行WEB后端的开发,我们既然选择了比较火爆的Java,那么我们学习的后端一定是基于Java语言实现的。

包括:Servlet、Filter、Jsp、EL、JSTL、MVC架构模式、数据库连接池(阿里巴巴的Druid连接池)、代理模式(动态代理)。另外后端学习了之后,还要学习一个异步编程技术AJAX。(完成网页的局部刷新,AJAX其实不属于后端,是前端浏览器上的程序。)

学习到这里为止,表示Java基本/基础的技术已经学完了。但是这些最基层的技术在实际的开发中不会使用的,一般为了开发效率,都会使用大量的提前封装好的框架。

第五:最好能够停留下来,做一个项目。

这个项目最好能将之前所学全部串起来。(对以前的知识点进行巩固。)

这个项目最好是基于:Servlet + Jsp+AJAX+jQuery+MySQL…

在这个项目的开发过程中:大家一定要记住,目前比较好的项目自动构建工具:Maven是一定要精通的。还有一个就是团队协作开发:Git/SVN是一定要会用的。(目前使用Git比较多一些。)

第六:学习高级框架

Spring、SpringMVC、MyBatis(持久层框架,这个框架互联网公司使用比较多,因为互联网项目需要进行SQL优化,MyBatis的SQL优化很方便,所以大部分都是使用MyBatis)

Struts2(很少使用了,使用这个的肯定是很老的项目)、Hibernate(传统企业,还有政府等可能会使用Hibernate。)

SpringBoot(新项目大部分使用的都是boot了。所以在项目中遇到还在使用SSM的一般都是遗留项目。)

当你走到这里之后,基本上你可以出山了。(去找工作应该问题不大,但前提是你学得好。学习的深度够了,广度够了。)

第七:最好能有一个大型项目是使用框架来完成的。

SpringBoot做一个项目。

Spring SpringMVC MyBatis做一个项目。

这个项目最好是找几个人搭伙做一下。体验一下团队协作。(尤其是使用一些协作的工具。怎么沟通,怎么写日报,怎么开会,怎么使用Git,等等…)

第八:如果你的薪资想达到15K的话,你可能需要还要学习一些分布式相关的一些技术。

能够应付高并发的一些技术,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…

最后在啰嗦一下,一定要形成自己的编程思想。

编程思想的形成很难。需要大量代码的堆积才可以。怎么形成编程思想呢?

千万别死抄代码。不要像行尸走肉般的抄代码,没有用。只能提高指法速度,无法形成编程思路。

1、打好基础是重中之重

基础部分可能很枯燥,但是一定要耐心坚持下去。因为打基础好比是在造轮子造汽车,没有打好基础在后面的学习就好比走路,可以说后面遇到的百分之七八十的问题都是基础没学好造成的。

2、多看官方文档多读源码

一定要看JDK相关类库、常用框架各种功能的源码,去了解其底层实现的原理。总的来说这个也是在打基础的部分,Java基础非常扎实才能看懂,在我们学习一个类的源码时,肯定会衍生出其他各种各样的问题,供我们来了解和学习,这也就是我们下一步学习的目标和方向。慢慢的,我们就会学习更多的知识,并积累更多的经验。

3、系统性学习,循序渐进

不要急于求成,每个知识点都要看,并且每个知识点都要勤加练习。有的同学在学习过程中觉得这个知识点简单,就跳着学习,其实这是个很大的问题,知识点细节必须要了解。我们学习Java需要循序渐进,一步一步来,不能 *** 之过急。

4、遇到问题

遇到不会做的问题,当然不能置之不理。先在网上查,目前网络上针对很多问题都有完美的解决方案,如果网上没有类似的问题,那可能是你犯了什么小错误。也不要在这个问题上花费太多时间,这需要一定的学习技巧。Java中的知识有很强的相关性,有不懂的地方,可以用其他周边相关知识再回过头来理解,这样既不会耽误学习进度,又能理解自己不懂的地方

1)jvm有很多种,其实jvm是一个标准,sun做的那个叫hotspot,作者就是后来v8的作者lars bak,其他公司也做过jvm,其中做得比较好的有bea的jrockit,其他的包括ibm的r9,apple的jvm等在内,都做得不行,所以jvm主要是整合淘汰掉这些做得不好的jvm(s),整合成一个统一的openjdk。

2)java是典型的oop语言,其执行效率的优化,最早就是lars bak等人从smalltalk等长期优化的经验中总结出来并apply到hotspot上去滴,而smalltalk在早期apple机上搞出了那种拖拖拽拽就开发出app的做法,后来vc,delphi之类的其实都是抄袭或者说借鉴apple的smalltalk的做法,jobs说微软从头到尾都在抄袭apple是空穴来风,这里空穴来风跟王垠使用的空穴来风是一个意思,有趣的是,java的gui并没有继承这种搞法,反而对这种拖拖拽拽就作出app的做法批判有加,到今天,其实java的gui都还不能真正做到拖拖拽拽就作出来,问题很多,个人建议对于纯java的gui开发,还是以写代码为主。

3)jee也是一个或者说是一堆标准,知乎上有些人把maven,jenkins都算做jee是不对滴,jee的标准核心是ejb,其实就是一个xml配置化的java文件,这个标准在4的时候,达到了顶峰状态,几乎所有的挨踢大厂都主动支持该标准,之后开始走下坡路,支持的厂越来越少。

4)java和javascript的关系比很多人认为的要密切,javascript里面的java这四个字母可不是白叫的,比如js的版权和商标都控制在oracle手里,oracle对于js的支持甚至超过其对java的支持,并且喜欢捆绑销售,比如jvm里面就有一个js引擎。

5)jvm里面除了js engine以外还有一个浏览器排版引擎webkit,就是apple safari和google chrome用的那个那个。

6)java支持绝大多数脚本语言,你能叫得上名字的脚本语言,几乎都可以在jvm上执行,比如常见的js,ruby,python,甚至php,lua,只不过除了js以外你需要找到相关的脚本引擎。

7)spring的版权被控制在vmware手里,其实spring的那一大堆东西,本质上是一个非标准的jee实现,比如在jee里面用的inject,在spring里面就是autowire,当然spring曾经深刻滴影响了jee,所以有些东西比如di标准,是spring影响下制定出来的,所以spring的做法会比较特例一点。

8)maven上的jars数量前两天突破800万,其他语言的类库,排名第二的是npm,大概数量是maven的十分之一,也就是几十万,不知道现在突破100万没有,然后是gem,也就是ruby那个,大概是十几万,下来是python的module,大概数量级是几万,没突破十万。

9)java的标准是由一个叫做jcp的组织制定的,所有标准需要经过jcp的执行委员会通过方可执行,jcp几乎包括了你所知道的绝大多数知名挨踢公司和组织,比如google,apple,ibm,intel,arm,red hat,twitter等,还有一些教育机构,比如我国的北京大学,阿里最近一次申请jcp执行委员会成员资格,似乎投票不通过,最近一次执行委员会新增两个成员是arm和jetbrains。

10)微软也曾经是jcp甚至是java的主要贡献者,但是利益驱使下,想扩展java,从而破坏java跨平台的特性,所以跟sun闹翻,其本质原因就是想让客户写的java代码跟windows绑定,sun坚决不同意,闹翻,今天回头看这个结果,只能说:双输,sun挂了,微软的ria也离挂不太远了,silverlight已经放弃了,比起当年ie自带有jvm的支持来说,那完全就是两回事。

11)除了微软以外,jcp还缺少一个重要组织apache,因为apache跟oracle也闹翻了,oracle似乎并不在乎开源组织,而更在意商业公司的支持。

12)java曾经有一个内置的数据库,9之后被剥离。

13)j2me是j2se的子集。

14)vertx作者tim fox最早在vmware做spring时候看到了nodejs,萌生出了制作支持多核的nodex的想法,并在离开vmware后加入red hat将其实现,vmware看到后开始耍无赖,claim nodex后来改叫vertx的版权,不惜跟red hat打官司,后来各方妥协,将其交给eclipse foundation。

15)oracle在收购bea之前,一开始的目标并不是bea和bea的weblogic,而是jboss,但是jboss表现出了极为有种的一面,在oracle收购成功之前,投入了red hat的怀抱,因为都是开源组织,从此jboss成了red hat的一个子部门,oracle收购jboss失败之后,转向bea,庄思浩气死了,但是没用,最后还是被恶意收购。

16)sun在玩不下去之前最早尝试接触的目标是ibm,ibm嫌太贵,放弃之后,被转手给了oracle。(Java学习交流QQ群:589809992 我们一起学Java!)

17)vertx的作者tim fox在离开red hat之前曾经发过twitter抱怨,外人比如我们,猜测是因为red hat内部已经有了一个jboss,所以跟vertx在应用上有了重叠,所以导致tim fox的出走,但是出走之后,red hat答应对vertx做持续性的战略投入,所以vertx core的几个developers,其实拿的是red hat的工资,但是vertx的版权并不在red hat手里,而在eclipse foundation手里。

18)vertx的几个核心开发人员都是google summer of code的导师,每年年初时候会招收在校大学生搞项目。

19)教育机构相关:scala的作者马丁是德国人,eth的博导,groovy的主要***是法国人,jruby背后是东京大学,jboss的作者是法国大学校x的校友,x就是伽罗瓦考不进去的那所大学,伽罗瓦进不了x,所以改读巴黎高师,tim fox毕业于帝国理工,主席去的那个,netty作者trustin lee是acm银牌,现在line工作,毕业于sky里面的延世大学,kotlin是毛子公司jetbrains的作品,看linkedin,很多人毕业自圣彼得堡大学,spring作者rod johnson是悉尼大学的音乐博士,hibernate作者gavin king是澳洲莫那什大学的数学本科毕业生,james gosling这种cmu和calgory的估计烂大街了,sun是斯坦福大学网络的意思,夹带两个私货,aspectj有一个维护小组在mcgill,hbase跟waterloo关系密切。

20)java早期被人认为慢,跟java坚持不用硬件加速渲染有关,死活就是不肯接入directx和opengl,7之后总算开窍,搞了一个图形引擎接入了directx/opengl。

21)casssandra是facebook做失败的项目,被贡献给了apache之后老树开花。

22)groovy被贡献给了apache,现在叫做apache groovy,ceylon被贡献给了eclipse,现在叫做eclipse ceylon。

23)netflix现在是java shop,之前是用net的。

先想到这么多,有空再写。

我MSSQL数据库表里 有个 start_time

我打开看到的里面被写入的格式是 2006-1-5 15:10 这样的格式,在我主页上看到的调用代码是(DataBinderEval(ContainerDataItem,"start_time"))

显示出来的效果:2006年1月5号15点10分

如何修改让调用后显示出来的时间是下面的格式? 2006年/1月/5号/15点/10分

感谢高手帮助!

由二台或更多物理上独立的服务器共同组成的“虚拟”服务器称之为集群服务器。一项称做MicroSoft集群服务(MSCS)的微软服务可对集群服务器进行管理。一个SQL Server集群是由二台或更多运行SQL Server的服务器(节点)组成的虚拟服务器。如果集群中的一个节点发生故障,集群中的另一个节点就承担这个故障节点的责任。

认为一个SQL Server集群能够给集群中的两个节点带来负载平衡,这是一种常见的误解。虽然这似乎很有用,但却是不正确的。这也意味着集束SQL Server不能真正提高性能。集束SQL Server只能提供故障转移功能。故障转移就是当系统中的一台机器发生故障失去其功能时,另一台机器将接手运行它的SQL Server实例。这种功能失效可能是由于硬件故障、服务故障、人工故障或各种其它原因。

为何要集束SQL Server环境?

在实用性方面,集群SQL Server环境令人满意。在进行故障转移时,将数据库实例由一台服务器转移到另一台服务器的时间非常短暂,一般只需要3至7秒钟。虽然需要重建连接,但对数据库的终端用户而言,故障转移处理通常是透明的。低廉的故障转移成本还可帮助你对集群中的节点进行维护,而不会造成服务器完全无法访问。

SQL Server集群类型

一共有两种类型的SQL Server集群:主动/被动集群和主动/主动集群。下面分别对它们进行说明(说明以两个节点的SQL Server集群为基础)。

主动/被动集群

在这种类型的集群中,一次只有一个节点控制SQL Server资源。另一个节点一直处于备用模式,等待故障发生。进行故障转移时,备用的节点即取得SQL Server资源的控制权。

优点:由于服务器上只有一个实例在运行,所以在进行故障转移时,不需要另外的服务器来接管两个SQL Server实例,性能也不会因此降低。

缺点:由于虚拟服务器上只有一个SQL Server实例在运行,另一台服务器总是处理备用模式与空闲状态。这意味着你并没有充分利用你购买的硬件。

主动/主动集群

在这种类型的集群中,集群中的每个节点运行一个独立且主动的SQL Server实例。发生节点故障时,另一个节点能够控制发生故障节点的SQL Server实例。然后这个正常的节点将运行两个SQL Server实例——它自己的实例和发生故障的实例。

优点:通过这种配置,你能够充分利用你的硬件。在这样的系统中,两个服务器都在运行,而不是只有一台服务器运行,而另一台处于等待故障发生的备用模式,因此你能够充分利用你购买的机器。

缺点:如果进行故障转移,一台服务器运行两个SQL Server实例,性能就会受到不利影响。然而,性能降低总比虚拟服务器完全失灵要强得多。这种配置的另一故障在于它要求购买的许可要比主动/被动集群多一些。因为集群在运行两个主动SQL Server实例,这要求你购买两个单独的服务器许可。在某些情况下,这也可能对你形成阻碍。

集群考虑

在高实用性方面,集群SQL Server环境有一定的优势。然而,高实用性也确实伴随某种折衷。

首先,建立一个集群SQL Server环境非常昂贵。这是因为集群中的节点必须遵照集群节点的兼容性列表。而且,还需要建立一个复杂的网络,机器的配置必须几乎相同,同时需要实现数据库文件磁盘子系统共享。存储区网络(SAN)是建立这种子系统的不错选择,但SAN并非必要,而且十分昂贵。另外,如果你正在运行一个主动/主动集群,你需要为集群中运行SQL Server实例的每台机器的处理器购买一个许可。

因为当地集群主要局限于同一地理区域,自然灾难可能会使集群完全失灵。在那种情况下,你需要转移到灾难恢复站点进行继续 *** 作。你也可以建立地理分散的SQL Server集群,但这样的系统更加复杂与昂贵。

以上就是关于做2台数据库 1个应用 +集群 需要哪些硬件 现在选的是IBM3850全部的内容,包括:做2台数据库 1个应用 +集群 需要哪些硬件 现在选的是IBM3850、什么是数据库集群、如何正确配置基于 oracle 数据库的 wps v6.12 集群应用系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9294360.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存