对DDS中间件的理解与操作

1.DDS的定义:

Data Distribution Service:是一款信息分发的中间件,支持分布式实时通信的服务

2.DDS处理过程:

dds作为中间件:是oracle的客户端(类似于plsql):用户将sql传递给dds处理,之后dds转交给oracle处理,oracle将处理结果反馈给dds,dds将结果反馈给用户

3.DDS模块

子系统模块职责
DDS ClientJDBC提供JDBC驱动访问DDS Server。
DDS ClientODBC提供ODBC驱动访问DDS Server。
DDS ClientCLIDDS客户端SDK,可以被ODBC/JDBC及各种工具调用。
DDS ToolsConsole Tool类似SQLPlus的命令行工具。
DDS ToolsGUI Tool类似PL/SQL的Windows界面工具。
DDS ServerSession Management提供DDS会话管理功能,支持过负荷控制。
DDS ServerDistributed SQL Engine分布式SQL引擎,支持SQL解析、执行计划分解、SQL优化、SQL执行等能力,SQL优化支持优化模式库,后续可根据特定场景扩展对应优化模式。
DDS ServerCache Storage EngineCACHE存储引擎,支持缓存RDBMS中的热点数据到内存中来,分布式SQL引擎优先使用CACHE中数据进行执行,提高性能。
DDS ServerPolicy Management提供各种策略管理能力,包括数据分布策略、读写分离策略、冷热数据分离的时效策略、多租户策略及安全策略。
DDS ServerInfrastructure提供基础设施模块,包括跨操作系统封装、异构数据库适配、数据字典、全局数据区、会话私有数据区、OM等能力。其中通信模块支持RDMA和IB硬件加速能力。
外围进程Monitor进程统一看门狗。
外围进程Node Management节点管理进程,负责节点状态、节点间通信等能力。
外围进程Node Agent节点网管代理代理,负责和UOA通信。
外围进程Redo ReplayREDO日志重演进程,负责把主机发过来的日志进行重演。
外围进程RedoLog2PDBREDO日志复制进程,负责把CACHE存储引擎中变更的数据写到PDB中去。
外围进程Log Server日志输出进程。

3.DDS的使用感言:

  1. dds在zk上注册:(zk的版本需要最新:否则:可能会出现dds集群所找的dds的节点和服务器上的节点不一致)

  2. 只要有表结构的改动或者新增表都需要在dds执行刷表操作(前提:在oracle中该表已存在)

  3. dds_datasource.sql:先创建dds数据源,并指定数据库维护的用户(test01,密码为密文:可用命令重新加密之后替换密码),虽然维护的数据库的用户一致,但是各个环境的连接oracle的tnsname.ora维护的环境是对应的环境

  4. 业务回滚报dds错误:重启dds,如果不行那么就重刷ddl脚本,再重启dds服务

  5. 如果dds服务器挂了,dds自身的monitor会自动拉起,这个会记录日志的,日志记录在log/run/monitor.log(这个是不需要开启日志的级别的)

  6. dds刷表:

    步骤 1登录test用户,停订购服务

    $HOME/test_container/bin/./stop.sh

    步骤 2登录test用户,停dds服务:

    $HOME/dds/bin/./stop_dds.sh

    步骤 3删除dds目录下date、redo文件夹

    cd $HOME/dds
    rm -rf data redo

    步骤 4删除dds/admin目录下txt文件(如果存在)

    rm $HOME/dds/admin/excuteDDSSQL.txt

    步骤 5单起dds服务(否则无法进入dds tools【类似于sqlplus】中)

    $HOME/dds/bin/./start_dds.sh`

    步骤 6admin目录下执行ddssql命令进入dds

    cd $HOME/dds/admin
    ddssql dds@172.168.20.21:5114(以实际地址为准)

    ddssql dds@ip:port。IP为test用户所在IP。port见$HOME/dds/config/dds.env.local.xml中配置项。例如<dds-server value="5114"/>
    密码一般为Dds@12345

    步骤 7执行dds刷库脚本

    @dds_datasource.sql;

    步骤 8检查是否成功刷表
    (执行时步骤9全部successful)

    ddssql里面执行select * from systables;57张表时表示成功
    select * from systables;
    成功后退出dds

    步骤 9启动订购服务

    $HOME/test_container/bin/./start.sh

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值