实时主备集群标准化部署+切换测试

1主备集群(2节点)规划

1.1服务器IP规划

类别实例名服务器地址心跳IP
主库ZB1192.168.11.12810.10.1.128
备库ZB2192.168.11.12910.10.1.129

1.2端口规划

名称端口
PORT_NUM5236
MAL_PORT7336
MAL_DW_PORT7536
MAL_INST_DW_PORT7436
MAL_INST_PORT5236

注意:上述IP地址对应的服务器端口要求双向互通,监视器心跳IP要求和主备服务器心跳IP在同一网段。

1.3目录规划

目录路径
安装目录/home/dmdba/dmdbms
数据文件目录/home/dmdba/dbdata/dmdata
备份目录/home/dmdba/dbbak/dmbak
归档目录/home/dmdba/dbarch/dmarch

2.集群部署

2.1.数据库软件安装

可参考我之前的博文:DM数据库安装及启动教程(Linux超详细版)

注意:两台服务器都需要安装

2.2初始化实例

2个节点都有实例初始化,执行以下命令:
主机ZB1:

[dmdba@LH01 ~]$ cd /home/dmdba/dmdbms/bin
[dmdba@LH01 bin]$./dminit path=/home/dmdba/dbdata/dmdata page_size=32 log_size=1024 instance_name=ZB1

开启服务

[dmdba@ZB1 bin]$ cp service_template/DmService dmserverd
[dmdba@ZB1 bin]$ vim dmserverd
INI_PATH=/home/dmdba/dbdata/dmdata/DAMENG/dm.ini
[dmdba@ZB1 bin]$ dmserverd start

开机自启配置

[root@ZB1 ~]# cd /home/dmdba/dmdbms/bin
[root@ZB1 bin]# cp dmserverd /etc/init.d/
[root@ZB1 bin]# chkconfig --add dmserverd
[root@ZB1 bin]# chkconfig --list

备机ZB2:

[dmdba@ZB2 ~]$ cd /home/dmdba/dmdbms/bin
[dmdba@ZB2 bin]$ ./dminit path=/home/dmdba/dbdata/dmdata page_size=32 log_size=1024 instance_name=ZB2

开启服务

[dmdba@ZB2 bin]$ cp service_template/DmService dmserverd
[dmdba@ZB2 bin]$ vim dmserverd
INI_PATH=/home/dmdba/dbdata/dmdata/DAMENG/dm.ini
[dmdba@ZB2 bin]$ dmserverd start

开机自启配置

[root@ZB2 ~]# cd /home/dmdba/dmdbms/bin
[root@ZB2 bin]# cp dmserverd /etc/init.d/
[root@ZB2 bin]# chkconfig --add dmserverd
[root@ZB2 bin]# chkconfig --list

2.3数据库参数优化

主备机前台启动实例,出现system is ready后即为启动完成

[dmdba@ZB1 bin]$ ./dmserver /home/dmdba/dbdata/dmdata/DAMENG/dm.ini
[dmdba@ZB2 bin]$ ./dmserver /home/dmdba/dbdata/dmdata/DAMENG/dm.ini

登录数据库执行以下脚本


脚本文件百度网盘自取:
链接:https://pan.baidu.com/s/1WttHVgBR8DABQYI1oWf8xg?pwd=taux
提取码:taux


[dmdba@ZB1 bin]$ ./disql SYSDBA/SYSDBA@192.168.11.128:5236
SQL> start /home/dmdba/dm.sql

[dmdba@ZB2 bin]$ ./disql SYSDBA/SYSDBA@192.168.11.129:5236
SQL> start /home/dmdba/dm.sql

2.4脱机备份主机数据库

在主机ZB1上执行以下命令,确认主库dmap服务已启动:

ps -ef|grep dmap

若未启动,则先启动 DMAP 服务,使用dmdba用户切换到安装目录的 bin 下执行以下命令:

./DmAPService start

若已启动,则执行以下命令进行脱机备份

[dmdba@ZB1 bin]$ ./dmserverd stop
[dmdba@ZB1 bin]$ ./dmrman use_ap=2
[dmdba@ZB1 bin]$backup database '/home/dmdba/dbdata/dmdata/DAMENG/dm.ini' backupset '/home/dmdba/dbbak/dmbak/bakfull';

2.5脱机还原备机数据库

将备份的文件/home/dmdba/dbbak/dmbak/bakfull拷贝到备库服务器上。

[dmdba@ZB1 dmbak]# scp -r bakfull/ dmdba@192.168.11.129:/home/dmdba/dbbak/dmbak

在备机ZB2上,使用 dmrman 工具还原备库,dmdba 用户执行:

[dmdba@ZB2 dmbak]$ cd /home/dmdba/dmdbms/bin
[dmdba@ZB2 bin]$ ./dmserverd stop
[dmdba@ZB2 bin]$ ./dmrman
##执行restore
RMAN> restore database '/home/dmdba/dbdata/dmdata/DAMENG/dm.ini' from backupset '/home/dmdba/dbbak/dmbak/bakfull';
##执行recover
RMAN> recover database '/home/dmdba/dbdata/dmdata/DAMENG/dm.ini' from backupset '/home/dmdba/dbbak/dmbak/bakfull';
##执行recover update db_magic
RMAN> recover database '/home/dmdba/dbdata/dmdata/DAMENG/dm.ini' update db_magic;

2.6配置文件修改

2.6.1修改dm.ini参数

在ZB1和ZB2上分别修改dm.ini参数值:

vi /dmdata/DAMENG/dm.ini
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
2.6.2配置归档配置文件 dmarch.ini

在ZB1和ZB2上分别修改dmarch.ini参数值:

[dmdba@ZB1 DAMENG]$ vi /home/dmdba/dbdata/dmdata/DAMENG/dmarch.ini
[dmdba@ZB2 DAMENG]$ vi /home/dmdba/dbdata/dmdata/DAMENG/dmarch.ini

##注意:如果没有dmarch.ini需要新建
主机ZB1上添加以下内容:

[ARCHIVE_REALTIME]
ARCH_TYPE     = REALTIME  #实时归档类型
aRCH_DEST     = ZB2   #实时归档目标实例名(主库侧填写备库实例名)
[ARCHIVE_LOCAL1]
ARCH_TYPE     = LOCAL #本地归档类型
ARCH_DEST     = /home/dmdba/dbarch/dmarch #本地归档文件存放路径
ARCH_FILE_SIZE    = 128 #单位 MB,本地单个归档文件最大值
ARCH_SPACE_LIMIT  = 10240    #单位 MB,0 表示无限制,范围 1024~4294967294 MB

备机ZB2上添加以下内容:

[ARCHIVE_REALTIME]
ARCH_TYPE     = REALTIME  #实时归档类型
aRCH_DEST     = ZB1   #实时归档目标实例名(主库侧填写备库实例名)
[ARCHIVE_LOCAL1]
ARCH_TYPE     = LOCAL #本地归档类型
ARCH_DEST     = /home/dmdba/dbarch/dmarch #本地归档文件存放路径
ARCH_FILE_SIZE    = 128 #单位 MB,本地单个归档文件最大值
ARCH_SPACE_LIMIT  = 10240    #单位 MB,0 表示无限制,范围 1024~4294967294 MB  
2.6.3配置MAL系统配置文件 dmmal.ini

在实例目录下新建文件 dmmal.ini,执行以下命令。

[dmdba@ZB1 DAMENG]$ vi /home/dmdba/dbdata/dmdata/DAMENG/dmmal.ini

##注意:主备库2个节点文件内容要相同,内容如下:

MAL_CHECK_INTERVAL   = 5
MAL_CONN_FAIL_INTERVAL  = 15
[MAL_INST1]
  MAL_INST_NAME = ZB1
  MAL_HOST     = 10.10.1.128
  MAL_PORT     = 7336
  MAL_INST_HOST   = 192.168.11.128
  MAL_INST_PORT   = 5236
  MAL_DW_PORT   = 7536
  MAL_INST_DW_PORT = 7436
[MAL_INST2]
  MAL_INST_NAME = ZB2
  MAL_HOST      = 10.10.1.129
  MAL_PORT          = 7336
  MAL_INST_HOST         = 192.168.11.129
  MAL_INST_PORT         = 5236
  MAL_DW_PORT  = 7536
  MAL_INST_DW_PORT = 7436
2.6.4配置守护进程配置文件 dmwatcher.ini

在实例目录下新建文件 dmwatcher.ini,执行以下命令:

vi /home/dmdba/dbdata/dmdata/DAMENG/dmwatcher.ini

##注意:主备库2个节点文件内容相同(由于实例路径的原因),内容如下:

[GRP_DW]
DW_TYPE    = GLOBAL  #全局守护类型
DW_MODE    = AUTO  #自动切换模式
DW_ERROR_TIME     = 10  #远程守护进程故障认定时间
INST_RECOVER_TIME  = 60  #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME   = 10  #本地实例故障认定时间
INST_OGUID         = 453331  #守护系统唯一 OGUID 值
INST_INI           = /home/dmdba/dbdata/dmdata/DAMENG/dm.ini  # dm.ini 配置文件>路径
INST_AUTO_RESTART  = 1   #打开实例的自动启动功能
INST_STARTUP_CMD   = /home/dmdba/dmdbms/bin/dmserverd  #命令行方式启动
2.6.5修改主备库状态和oguid

修改主库oguid和数据库状态,在ZB1上执行以下命令
(1)主库mount方式后台启动
在ZB1上目录/dmdbms/bin/service_template拷贝DmService文件到/ dmdbms/bin目录下改名为dmserverd,然后修改dmserverd中INI_PATH为主库dm.ini路径(/dmdata/DAMENG/dm.ini),修改START_MODE为mount,保存修改后,执行命令:

./dmserverd start  #启动主库数据库后台服务

(2)使用disql工具连接主库

[dmdba@ZB1 bin]$ ./disql SYSDBA/SYSDBA@192.168.11.128:5236

(3)修改oguid

SQL> sp_set_oguid(453331);

(4)修改数据库模式为primary

SQL> alter database primary;

修改备库oguid和数据库状态,在ZB2上执行以下命令
(1)备库mount方式后台启动
在ZB2上目录/dmdbms/bin/service_template拷贝DmService文件到/ dmdbms/bin目录下改名为dmserverd,然后修改dmserverd中INI_PATH为主库dm.ini路径(/dmdata/DAMENG/dm.ini),修改START_MODE为mount,保存修改后,执行命令:

./dmserverd start  #启动主库数据库后台服务

(2)使用disql工具连接备库

[dmdba@ZB2 bin]$ ./disql SYSDBA/SYSDBA@192.168.11.129:5236

(3)修改oguid

sp_set_oguid(453331);

(4)修改数据库模式为standby

alter database standby;

如果不慎配成了primary,解决办法如下:

SQL> sp_set_para_value(1,'ALTER_MODE_STATUS',1);
SQL> alter database standby;

就可以了

2.6.6修改后台启动脚本

(1)守护进程后台启动脚本
在ZB1和ZB2上的目录/dmdbms/bin/service_template拷贝DmWatcherService文件到/ dmdbms/bin目录下,然后修改DmWatcherService中 INI_PATH为ZB1和ZB2指定守护进程配置文件dmwatcher.ini的路径(比如/ dmdata/DAMENG/dmwatcher.ini)。

[root@ZB1 dmdbms]# cp ./bin/service_template/DmWatcherService ./bin/DmWatcherService
[root@ZB1 bin]# vi DmWatcherService
INI_PATH=/home/dmdba/dbdata/dmdata/DAMENG/dmwatcher.ini

(2)监视器进程后台脚本
在要部署的监视服务器ZB2上的/dmdbms/bin/service_template拷贝DmMonitorService到/dmdbms/bin目录下,然后修改DmMonitorService中INI_PATH为监视器配置文件dmmonitor.ini路径(比如/ dmdata/DAMENG/dmmonitor.ini).

[dmdba@ZB2 DAMENG]$ cd /home/dmdba/dmdbms/bin
[dmdba@ZB2 bin]$ cp ./service_template/DmMonitorService DmMonitorService
[dmdba@ZB2 bin]$ vi DmMonitorService
INI_PATH=/home/dmdba/dbdata/dmdata/DAMENG/dmmonitor.ini

[dmdba@ZB2 bin]$ cd /home/dmdba/dbdata/dmdata/DAMENG/
[dmdba@ZB2 DAMENG]$ vi dmmonitor.ini
MON_DW_CONFIRM    = 1 #确认监视器模式
MON_LOG_PATH    = /home/dmdba/dbdata/dmdata/log  #监视器日志文件存放路径
MON_LOG_INTERVAL  = 60 #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 200 #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT  = 1024  #不限定日志文件总占用空间
[GRP_DW]
MON_INST_OGUID    = 453331 #组 GRP_DW 的唯一 OGUID 值
#以下配置为监视器到组 GRP_DW 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP     = 10.10.1.128:7536
MON_DW_IP     = 10.10.1.129:7536
2.6.7配置sql日志

ZB1和ZB2切换到/dmdata/DAMENG/目录下,执行vi sqllog.ini(记录1.5s以上sql),修改内容如下:

[dmdba@ZB1 bin]$ cd /home/dmdba/dbdata/dmdata/DAMENG/
[dmdba@ZB1 DAMENG]$ vi sqllog.ini
BUF_TOTAL_SIZE = 10240
BUF_SIZE = 1024
BUF_KEEP_CNT = 6
[SLOG_ALL]
FILE_PATH = /sqllog
PART_STOR = 1
SWITCH_MODE = 2
SWITCH_LIMIT = 512
ASYNC_FLUSH = 1
FILE_NUM = 10
ITEMS = 0
SQL_TRACE_MASK = 7:14:15:22:24:25:26:27:28
MIN_EXEC_TIME = 0
USER_MODE = 0
USERS = 

备注:SQL_TRACE_MASK请按实际需求配置。如果在服务器启动过程中,修改了sqllog.ini文件。修改之后的文件,只要调用过SQL> SP_REFRESH_SVR_LOG_CONFIG();就会生效。

2.7启动集群

(1)启动守护进程
dmdba 用户切换到数据库安装目录的 bin 下执行以下命令(主备库都执行):

[dmdba@ZB1 bin]$ ./DmWatcherService start
[dmdba@ZB2 bin]$ ./DmWatcherService start

守护进程启动后,会将 Mount 的实例 Open。

(2)启动监视器进程
建议配置在第三台独立的服务器上(需安装和主备相同 版本的DM 数据库软件(不必初始化实例),且与主备心跳网络端口开放),守护进程配置为自动切换时,必须配置确认监视器。
使用执行以下命令,启动监视器。

[dmdba@ZB2 bin]$ ./DmMonitorService start

启动后到 /dmdbms/log查找监视器日志,其中守护进程状态 WSTATUS 为 OPEN,实例状态 ISTATUS 为 OPEN,归档类型 RTYPE 为 TIMELY,归档状态 RSTAT 为VALID。
注意:数据库日常运行情况下,监视器保持后台运行,一旦数据库有异常,可打印出监视器日志,帮助工程师分析。如果需要实时监测,可以临时关掉后台进程,改成前台启动或者重新配置一个监视器前台启动(总共可以配置8个非确认监视器):
用dmdba用户执行以下命令,前台启动监视器:

[dmdba@ZB2 bin]$ ./dmmonitor /home/dmdba/dbdata/dmdata/DAMENG/dmmonitor.ini

输入 show 命令查看集群状态:
其中守护进程状态 WSTATUS 为 OPEN,实例状态 ISTATUS 为 OPEN,归档类型 RTYPE 为 TIMELY,归档状态 RSTAT 为VALID。

(3)disql 客户端验证
使用 disql 客户端登录主库,创建测试表,插入数据,执行以下命令:

[dmdba@ZB1 bin]$./disql SYSDBA/SYSDBA@192.168.11.128:5236
SQL 提示符下执行以下命令:
SQL> create table t1(id int);
操作已执行
已用时间: 160.022(毫秒). 执行号:600.
SQL> insert into t1 values(1);
影响行数 1

已用时间: 37.799(毫秒). 执行号:601.
SQL> commit;
操作已执行

使用 disql 客户端登录备库,查询测试表验证,执行以下命令:

[dmdba@ZB1 bin]$./disql SYSDBA/SYSDBA@192.168.11.129:5236
SQL 提示符下执行以下命令:
SQL>select * from t1;

查看数据是否正常同步。

2.8制定备份策略

备份与单机相同(主库上备份)。

SP_INIT_JOB_SYS(1);
---全备:
call SP_CREATE_JOB('dbbak',1,0,'',0,0,'',0,'bak');

call SP_JOB_CONFIG_START('dbbak');

call SP_ADD_JOB_STEP('dbbak', 'full_bak', 6, '01040000/dbbak/dmbak', 3, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_STEP('dbbak', 'delbak', 0, 'call SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dbbak/dmbak'');
call SF_BAKSET_REMOVE_BATCH(''DISK'',NOW()-7,NULL,NULL);', 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('dbbak', 'bak_time', 1, 2, 1, 64, 0, '00:30:00', NULL, '2022-03-28 11:02:45', NULL, '');

call SP_JOB_CONFIG_COMMIT('dbbak');


---增备:
call SP_CREATE_JOB('increbak',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('increbak');

call SP_ADD_JOB_STEP('increbak', 'incre_bak', 6, '11040000/dbbak/dmbak|/dbbak/dmbak', 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('increbak', 'incre_time', 1, 2, 1, 63, 0, '00:30:00', NULL, '2022-03-10 11:34:42', NULL, '');

call SP_JOB_CONFIG_COMMIT('increbak');

2.9问题:

2.9.1 code=-6010, oguid or group_name mismatch

[monitor] 2022-10-10 09:25:43: dmmonitor(mid:1665365142) create link to dmwatcher(10.10.1.129:7536) error, code=-9402, please check configuration!!!
[monitor] 2022-10-10 09:25:43: dmmonitor(mid:1665365142) create link to dmwatcher(10.10.1.129:7536) error, code=-6010, oguid or group_name mismatch, please check configuration!!!

分析:配置文件dmwatcher.ini与dmmonitor.ini配置文件中的组名[GRP_DW]不一致造成的。

2.9.2集群状态中主库状态是挂起

在这里插入图片描述
解决办法:修改监控配置文件

[dmdba@ZB2 bin]$ vi /home/dmdba/dbdata/dmdata/DAMENG/dmmonitor.ini

将MON_DW_CONFIRM =1 #修改为确认监视器模式(0为普通,1为确认)

3.切换测试

3.1确认数据库守护和监控状态

(1)主库

[dmdba@ZB1 ~]$ ps -ef | grep dms
[dmdba@ZB1 ~]$ ps -ef | grep dmw

在这里插入图片描述
(2)备库

[dmdba@ZB2 ~]$ ps -ef | grep dms
[dmdba@ZB2 ~]$ ps -ef | grep dmw
[dmdba@ZB2 bin]$  ps -ef | grep dmm

在这里插入图片描述

3.2手动切换主备库

查询监视情况
在这里插入图片描述
ZB1为集群主库,ZB2为集群备库,主备集群状态正常。
不用exit退出监视器,直接输入以下命令登录监视器进行切换

login
用户名:SYSDBA
密码:
[monitor]         2022-10-10 19:25:08: 登录监视器成功!
switchover GRP_DW.ZB2

在这里插入图片描述
切换之后show可以看见ZB2备库的状态变为了PRIMARY,而主库ZB1则变为了STANDBY。切换成功!
在这里插入图片描述

3.3主备集群故障切换测试

3.3.1主库停守护
[dmdba@ZB1 bin]$ ./DmWatcherService stop
Stopping DmWatcherService:                                 [ OK ]

在这里插入图片描述
监视器监控到主库ZB1异常,并将ZB2备库切换为主库。

主库ZB1重启守护之后,监视器显示ZB1重新成为主库,ZB2成为备库

在这里插入图片描述

3.3.2主库停数据库服务
[dmdba@ZB1 bin]$ ./dmserverd stop
Stopping dmserverd:                                        [ OK ]

在这里插入图片描述
停掉主库ZB1数据库服务后,ZB2仍然是备库,但监视器显示主库ZB1已经SHUTDOWN关机。

重启主库服务后,ZB1为主库,ZB2为备库
在这里插入图片描述

3.3.3备库停守护

当数据库守护停止时,监视器监控不到备库信息
在这里插入图片描述
备库重启守护之后,备库重新加入集群

3.3.4备库停服务

监视器监控到备库异常
在这里插入图片描述
在这里插入图片描述

重启备库服务,监视器收到备库信息,备库重新加入到集群当中。

在这里插入图片描述


达梦在线服务平台: https://eco.dameng.com


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JTopCMS基于JavaEE标准自研发,是用于管理站群内容的开源内容管理软件(CMS),能高效便捷的进行内容采编,审核,模板制作,用户交互管理以及文件,业务文档等资源的维护。性能优秀,稳定,安全,易扩展,适合建设政府,教育部门以及企事业单位的站群系统。 JTopCms 站群内容管理系统 v3.0 更新日志 新增功能: 1)支持集群化部署和按业务分布式部署 2)文件发布点增加 OSS COS 七牛云存储支持 3)部门级权限支持留言和表单分级管理 4)高级搜索功能支持扩展字段模糊搜索 5)管理员维护内容支持按照部门管理 6)高级搜索支持搜索所有扩展文本字段 7)高级搜索支持按内容权重排序 8)推荐位内容增加扩展字段支持 9)增加万能静态化分页功能,支持用户扩展模块分页 10)优化敏感词自动匹配性能,支持批量导入词汇 11)敏感词匹配支持自定义字段文本检查 12)采集功能支持采集附件 13)增加会员唯一登录限制功能 14)增加管理员登录时间区间限制 15)支持编辑器资源路径一键切换为云地址 16)单站点模板多渠道移动端发布,支持一个站点同时发布多种模板类型。 17)关联栏目自动同步内容,可实现只维护一个站内容,就可自动同步更新到其他站点关联栏目。 18)采集支持扩展自定义字段,采集规则加强,不再局限于新闻类型,支持对自定义模型字段建立采集规则。 19)采集支持按发布时间进行排序,与目标采集系统已发步的内容实现无缝连接。 20)高级搜索支持按照时间范围搜索以及排序功能。 21) 系统操作日志加强,记录完整参数 。 22)内容编辑功能追加可编辑添加时间。 23)站群节点追加可排序功能。 改进 1)替换编辑器为UEditor 2)支持站点资源相对路径模式 3) 数据展示图更换为echarts 4)提升广告模块在广告拦截软件下的表现 5) 优化模型内容维护页面交互 6)修复若干BUG JTopCMS特点 1.支持集群管理 系统支持集群化部署,可任意增加和较少CMS服务节点,根据业务需要独立部署服务节点,加强系统容错性 并发能力及扩展能力。 2.站点支持静态化发布 内容静态化发布,不但支持生成html,更可通过生成shtml方式,精确控制页面局部静态化,最大限度提高站点并发访问性能以及可维护性。 3.内容模型自定义支持 支持自定义模型功能,内置完善的字段类型,所定义字段还可参与联合查询,高级搜索,使您的站点具高度扩展能力,方便应对各种业务需要。 4.强大可扩展权限系统 支持等级化的按部门划分的子站点管理,下级无法越权,明确权限职责。支持粗(菜单级)、细(业务数据)粒度权限控制,可按照组织、角色、用户进行授权,有效划分权限范围,收放自如,职责清晰。并支持二次开发功能整合 5.安全防护能力 系统能自动拦截并记录分析各种非法访问,及时通知站点管理员进行处理,对于恶意访问者,以黑名单制度自动进行阻止,为您的站点安全保驾护航。 6.高级搜索支持 支持类似百度的高级搜索功能,支持大数据下的快速搜索,具有可配置性,结合自定义模型功能,可快速打造符合你需求的信息模型搜索。 7.网站群架构支持 一套CMS产品可支持部署多个站点,由JTopcms统一管理,但各站点彼此数据和逻辑性完全独立,且又可相互进行数据共享交流,为用户提供最大价值 8.实施网站开发简单 JTopcms提供了完善的标签体系,只需要使用者具html和美工知识储,在CMS标签的帮助下,即可高效的制作出可管理的动态站点。 9.灵活的数据组织方式 支持基本栏目和专题分类,TAG标签分类,更支持页面区块化碎片管理,自定义推荐位,数据组合方式灵活强大,满足各种数据组织需求。 10.二次开发高效 JTopcms基于J2EE核心模式自研发,立项之初即考虑二次开发支持,扩展新模块只需具Java web开发基础以及SQL能力,就可快速上手,高效无侵入方式开发功能。 11.支持资源发布点 支持自动将图片 视频 文件 以及静态发布html发布到各资源服务器,动静分离,静态前端访问和动态后端访问独立处理,提升性能和安全性。 JTopCMS截图 相关阅读 同类推荐:站长常用源码
前台门户网站架构 设计方案 北京宽连十方数字技术有限公司 2010-7 目 录 1 设计思路 3 2 系统结构 3 3 网络规划及性能计算 3 3.1 网络架构 3 3.2 网络架构说明 4 3.2.1 采用双防火墙双交换机做网络冗余,保障平台服务 4 3.2.2 采用硬件设负载均衡器,实现网络流量的负载均衡 4 3.3 系统测算 4 3.3.1 系统处理能力要求 4 3.3.2 业务处理能力要求 4 3.3.3 系统话务模型 4 3.4 配置核算 5 3.4.1 数据库服务器性能核算 5 3.4.2 WEB服务器集群性能核算 5 3.4.3 WEB服务器集群内存性能核算 5 3.4.4 网络带宽 5 4 性能模拟测试及性能推算 6 4.1 测试环境 6 4.2 测试结果 8 4.2.1 1个客户端模拟不同线和并发请求结果 8 4.2.2 10个客户端请求 8 4.3 结果分析 9 4.4 根据测试结果推算 9 4.5 设清单 11 4.5.1 硬件设配置清单 11 4.5.2 设技术规格 12 4.6 平台扩容的建议 12 网站的性能瓶颈分析 网站的性能影响因素很多,下面要从如下4个方面进行分析说明: 1) 网络负载 a) 公网负载 b) 内网负载 2) WEB应用服务器性能 a) CPU b) 存储,I/O访问 c) 内存 d) 并发TCP/IP连接数 3) 数据库服务器性能 a) 数据库参数配置 b) 服务器性能(CPU、内存、存储) c) 数据结构的合理性 4) 不同WEB应用的处理方式而对不同的性能瓶颈 a) 对于静态的网站: 静态的HTML页面严格地由标准的HTML标示语言构成,并不需要服务器端即时运 算生成。这意味着,对一个静态HTML文档发出访问请求后,服务器端只是简单地 将该文档传输到客户端。从服务器运行的那个时间片来看,这个传输过程仅仅占 用了很小的CPU资源。对于静态HTML的访问瓶颈为:网络带宽、磁盘I/O以及cach e(高速缓冲存储器)。 b) 对于动态页面 因为服务器解析动态页面必须在其传输到客户端前就通过服务器来进行解释, 这样就会给应用服务器添加额外的性能消耗,如果进一步要访问数据库,则会增 加数据库服务器的性能消耗,则动态页面还有额外的瓶颈:应用服务器的性能, 数据库服务器的性能。 系统架构设计 2.1 总体思路 为提高网站的高并发性能,提高开发效率及运营效率,要按如下几个思路进行规划设 计: 2.1.1 负载均衡 1) 四层交换负载均衡: 采用负载均衡器来实现硬件级的四层交换负载均衡,或采用LVS来实现软件的 四层交换负载均衡。 2) 通过第三方软件来实现负载均衡,同时实现页面请求的缓存。 通过Nginx实现反向代理服务器集群,同时搭建squid集群以作为静态页面和 图片的缓存。 3) 通过web服务器的配置来实现负载均衡 即通过apache或是Nginx 将客户请求均衡的分给tomcat1,tomcat2....去处理。 2.1.2 WEB应用开发架构思路 1) 应用开发实现MVC架构三层架构进行web应用开发 2) 页面尽可能静态化以减少动态数据访问,如果是资讯类的网站可以考虑采用第三 方开源的CMS系统来生成静态的内容页面。 3) 采用Oscache实现页面缓存,采用Memcached实现数据缓存 4) 采用独立的图片服务器集群来实现图片资源的存储及WEB请求 2.1.3 数据存储的设计思路 1) 数据库拆分,把生产数据库和查询数据库分离,对生产数据库采用RAC实现数据库 的集群。 2) 采用高效的网络文件共享策略,采用图片服务器来实现页面的图片存储。 2.1.4 不同网络用户访问考虑 1) 通过引入CDN来解决不同网络服务商的接入速度问题,一般只能解决静态页面的 访问问题。 2) 在不同运营商机房部署服务器,通过镜像技术来实现不同网络服务商的接入速度 问题。 2.2 总体架构 2.2.1 网站的系统分层架构 2.2.2 网站的物理架构 2.2.3 网站的开发架构 2.2.4 网络拓扑结构 注: 1) 采用双防火墙双交换机做网络冗余,保障平台服务 采用双防火墙通知接通2线路互联网接入,设之间采用VRRP协议,在任何 一个防火墙、互联网发生故障后均可自动将流量切换到另一端,保证网站的正运 行,设或网络恢复后,自动恢复。 采用双千兆交换机分别接在2台防火墙上,当某台设或者网络链路发生故 障后,好设自动接管已坏设的工作,不影响网站的整体运行,根据业务及真 实服务器的数量,交换机可以随时增加。 2) 采用硬件设负载均衡器,实现网络流量的负载均衡 使用硬件设负载均衡器,将网络流量均衡的分担到WEB服务器集群各节点 服务器,保障平台服务器资源均衡的使用。 3) 采用代
项目需求 一、项目背景: 用于全市社区网格管理信息系统及数据系统应用服务器及存储。 二、货物清单: "序号 "采购计划编号 "货物名称 "数量 "单位 " "一 "服务器A "请见详细招标参数 "6 "台 " "二 "服务器B "请见详细招标参数 "4 "台 " "三 "配套应用性能管理软件 "请见详细招标参数 "随机器安装配"套 " " " " "置 " " 三、具体技术要求: 说明:投标人须如实填写《技术规格偏离表》,并按招标文件的要求提供相关证明资料, 包括产品原厂说明书或产品彩页等。提供的证明资料与投标响应情况不相符的,视为《技 术规格偏离表》填写不实。 (一)服务器A(6台) "项目 "技术指标和要求 " "规格 "采用2 U标准机架型设 " "处理器配置 "配置不低于2* E5-2650 V4 " "内存配置 "配置不低于256G ECC DDR4 " "存储配置 "配置12*SATA/SAS盘位,本次单台设至少满足128G系统盘,2*240G" " "SSD缓存盘,6个1.8T-SAS数据盘 " "网卡配置 "配置至少6个GE接口,2个万兆光口 " "其他接口配置 "配置至少1个COM口、4个USB口、1个VGA口 " "电源 "冗余电源 " " "按服务器物理CPU数量方式进行软件授权:本次提供12个计算虚拟化" " "授权和12个存储虚拟化授权。 " " " " " " " " " " " " " " " " " " " " " " " " " " " " "架构要求 " " " "采用裸金属架构,无需绑定操作系统即可搭建虚拟化平台 " " "虚拟化内核基于KVM底层开发 " " "虚拟化架构平台下的计算虚拟化、存储虚拟化、网络虚拟化、网络 " " "功能虚拟化、虚拟应用防火墙、虚拟应用负载均衡等功能组件均为 " " "同一厂商品牌提供,保障平台的扩展性和兼容性(需提供产品功能 " " "截图,并加盖厂商公章) " " "计算、存储、网络资源能够在同一管理平台下实现集中式的管理和 " " "运维,无需在多个管理平台软件之间切换即可实现虚拟机、虚拟存 " " "储、虚拟网络等资源等分配、回收、利用率监控,简化运维管理 " " "不需要外置SAN存储,存储系统为分布式Server " " "SAN架构,同一节点内计算存储融合,可配置2副本或3副本,满足不" " "同可靠性要求的业务场景。 " " "支持分布式的管理平台,管理平台不依赖于某一个虚拟机或物理机 " " "部署,采用分布式自动部署于每一个虚拟机更可靠 " " "兼容现有市场上流的存储阵列产品和存储协议,平台提供FC-SAN " " "、iSCSI存储对接功能,便于对原有旧存储设投资保护,不浪费以" " "往IT投资 " " "虚拟机可以实现物理机的全部功能,如具有自己的资源(内存、CPU" " "、网卡、存储),可以指定单独的MAC地址等 " " " " " " " " " " "计算虚拟化要求" " " "支持并配置动态资源扩展功能,系统将自动评估虚拟机的性能,当 " " "虚拟机性能不足时自动为虚拟机添加CPU和内存资源,确保业务持续" " "高效运行 " " "每个虚拟机都可以安装独立的操作系统,操作系统支持需要包括Win" " "dows、 " " "Linux,并且支持国产操作系统包括:红旗linux、中标麒麟、中标 " " "普华等,便于方便部署减少运维工作量 " " "支持虚拟机的HA功能。当物理服务器发生故障时,该物理服务器上 " " "的所有虚拟机,可以实现在集群之内的其它物理服务器上重新启动 " " ",保障业务连续性。 " " "支持无代理跨物理机的虚拟机USB映射,需要使用USB KEY时,无 " " "需再虚拟机上安装客户端插件,且虚拟机迁移到其它物理机后, " " "仍能正常使用迁移前所在物理机上的USB资源,对于业务的自适应" " "能力、使用便捷性更佳 " " "本次配置持续数据CDP模块,单台配置1个虚拟机数据保护授权。并 " " "满足以下技术要求: " " "1.持续数据保护CDP软件模块需采用无代理的方案,避免对虚拟机的" "持续数据保护模"稳定性和性能产生影响。 " "块 "2.支持快速浏览指定CDP份内的文件,可快速的从CDP份中找回" " "数据文件,查看虚拟机文件目录的操作可做安全审计 " " "支持存储虚拟化功能,无需安装额外的软件,在一个统一的管理平 " " "台上使用License激活的方式即可开通使用,存储虚拟化与计算虚拟" " "化为紧耦合架构,减少底层开销,提升性能 " " " " "存储虚拟化要求" " " "采用分布式架构设计,由多台物理服务器组成分布式存储集群,通 "
项目需求 一、项目背景: 用于全市社区网格管理信息系统及数据系统应用服务器及存储。 二、货物清单: "序号 "采购计划编号 "货物名称 "数量 "单位 " "一 "服务器A "请见详细招标参数 "6 "台 " "二 "服务器B "请见详细招标参数 "4 "台 " "三 "配套应用性能管理软件 "请见详细招标参数 "随机器安装配"套 " " " " "置 " " 三、具体技术要求: 说明:投标人须如实填写《技术规格偏离表》,并按招标文件的要求提供相关证明资料, 包括产品原厂说明书或产品彩页等。提供的证明资料与投标响应情况不相符的,视为《技 术规格偏离表》填写不实。 (一)服务器A(6台) "项目 "技术指标和要求 " "规格 "采用2 U标准机架型设 " "处理器配置 "配置不低于2* E5-2650 V4 " "内存配置 "配置不低于256G ECC DDR4 " "存储配置 "配置12*SATA/SAS盘位,本次单台设至少满足128G系统盘,2*240G" " "SSD缓存盘,6个1.8T-SAS数据盘 " "网卡配置 "配置至少6个GE接口,2个万兆光口 " "其他接口配置 "配置至少1个COM口、4个USB口、1个VGA口 " "电源 "冗余电源 " " "按服务器物理CPU数量方式进行软件授权:本次提供12个计算虚拟化" " "授权和12个存储虚拟化授权。 " " " " " " " " " " " " " " " " " " " " " " " " " " " " "架构要求 " " " "采用裸金属架构,无需绑定操作系统即可搭建虚拟化平台 " " "虚拟化内核基于KVM底层开发 " " "虚拟化架构平台下的计算虚拟化、存储虚拟化、网络虚拟化、网络 " " "功能虚拟化、虚拟应用防火墙、虚拟应用负载均衡等功能组件均为 " " "同一厂商品牌提供,保障平台的扩展性和兼容性(需提供产品功能 " " "截图,并加盖厂商公章) " " "计算、存储、网络资源能够在同一管理平台下实现集中式的管理和 " " "运维,无需在多个管理平台软件之间切换即可实现虚拟机、虚拟存 " " "储、虚拟网络等资源等分配、回收、利用率监控,简化运维管理 " " "不需要外置SAN存储,存储系统为分布式Server " " "SAN架构,同一节点内计算存储融合,可配置2副本或3副本,满足不" " "同可靠性要求的业务场景。 " " "支持分布式的管理平台,管理平台不依赖于某一个虚拟机或物理机 " " "部署,采用分布式自动部署于每一个虚拟机更可靠 " " "兼容现有市场上流的存储阵列产品和存储协议,平台提供FC-SAN " " "、iSCSI存储对接功能,便于对原有旧存储设投资保护,不浪费以" " "往IT投资 " " "虚拟机可以实现物理机的全部功能,如具有自己的资源(内存、CPU" " "、网卡、存储),可以指定单独的MAC地址等 " " " " " " " " " " "计算虚拟化要求" " " "支持并配置动态资源扩展功能,系统将自动评估虚拟机的性能,当 " " "虚拟机性能不足时自动为虚拟机添加CPU和内存资源,确保业务持续" " "高效运行 " " "每个虚拟机都可以安装独立的操作系统,操作系统支持需要包括Win" " "dows、 " " "Linux,并且支持国产操作系统包括:红旗linux、中标麒麟、中标 " " "普华等,便于方便部署减少运维工作量 " " "支持虚拟机的HA功能。当物理服务器发生故障时,该物理服务器上 " " "的所有虚拟机,可以实现在集群之内的其它物理服务器上重新启动 " " ",保障业务连续性。 " " "支持无代理跨物理机的虚拟机USB映射,需要使用USB KEY时,无 " " "需再虚拟机上安装客户端插件,且虚拟机迁移到其它物理机后, " " "仍能正常使用迁移前所在物理机上的USB资源,对于业务的自适应" " "能力、使用便捷性更佳 " " "本次配置持续数据CDP模块,单台配置1个虚拟机数据保护授权。并 " " "满足以下技术要求: " " "1.持续数据保护CDP软件模块需采用无代理的方案,避免对虚拟机的" "持续数据保护模"稳定性和性能产生影响。 " "块 "2.支持快速浏览指定CDP份内的文件,可快速的从CDP份中找回" " "数据文件,查看虚拟机文件目录的操作可做安全审计 " " "支持存储虚拟化功能,无需安装额外的软件,在一个统一的管理平 " " "台上使用License激活的方式即可开通使用,存储虚拟化与计算虚拟" " "化为紧耦合架构,减少底层开销,提升性能 " " " " "存储虚拟化要求" " " "采用分布式架构设计,由多台物理服务器组成分布式存储集群,通 "

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值