乘月网
专注于移动互联网

对DDS中间件的理解与操作

1.DDS的定义:

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

2.DDS处理过程:

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

3.DDS模块

子系统 模块 职责
DDS Client JDBC 提供JDBC驱动访问DDS Server。
DDS Client ODBC 提供ODBC驱动访问DDS Server。
DDS Client CLI DDS客户端SDK,可以被ODBC/JDBC及各种工具调用。
DDS Tools Console Tool 类似SQLPlus的命令行工具。
DDS Tools GUI Tool 类似PL/SQL的Windows界面工具。
DDS Server Session Management 提供DDS会话管理功能,支持过负荷控制。
DDS Server Distributed SQL Engine 分布式SQL引擎,支持SQL解析、执行计划分解、SQL优化、SQL执行等能力,SQL优化支持优化模式库,后续可根据特定场景扩展对应优化模式。
DDS Server Cache Storage Engine CACHE存储引擎,支持缓存RDBMS中的热点数据到内存中来,分布式SQL引擎优先使用CACHE中数据进行执行,提高性能。
DDS Server Policy Management 提供各种策略管理能力,包括数据分布策略、读写分离策略、冷热数据分离的时效策略、多租户策略及安全策略。
DDS Server Infrastructure 提供基础设施模块,包括跨操作系统封装、异构数据库适配、数据字典、全局数据区、会话私有数据区、OM等能力。其中通信模块支持RDMA和IB硬件加速能力。
外围进程 Monitor 进程统一看门狗。
外围进程 Node Management 节点管理进程,负责节点状态、节点间通信等能力。
外围进程 Node Agent 节点网管代理代理,负责和UOA通信。
外围进程 Redo Replay REDO日志重演进程,负责把主机发过来的日志进行重演。
外围进程 RedoLog2PDB REDO日志复制进程,负责把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; 59张表时表示成功
    >select * from systables;
    成功后退出dds

    步骤 9启动订购服务
    >$HOME/test_container/bin/./start.sh

赞(1) 打赏
未经允许不得转载:乘月网 » 对DDS中间件的理解与操作

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专注于移动互联网

CSDNGithub

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏