table-Oceanus配置说明

作用:

   描述具体的表规则

属性:

name – 声明 table 名字,当命中 sql 中的 table name 时,就会按照配置的逻辑进行路由

differ-name – sql中的表名是否与DB中的一致,是否需要重写

shard-type –分库分表类型。BY-DATABASE 表示按数据库进行划分。BY-TABLE 表示按表划分。 BY-DATABASE-TABLE 表示按库和表划分。NO-SHARD 表示不分库分表

threadpool – 为该table指定使用哪个线程池进行异步操作


子节点:

columns – 内部填充column列表

   子节点:column,是定用于sharding 逻辑的字段。

namenodes – 内部填充namenode列表,

function – 指定该table的shading函数,要求excute方法返回namenode列表的下标,从0开始


示例:

<table name="t_userdynamic" differ-name="false" shard-type="BY_DATABASE_TABLE"
threadpool="default">
    <columns>
        <column name="uid"/>
    </columns>
<namenodes>
    <namenode ref="safe_source1" tablename="t_userdynamic"/>
    <namenode ref="safe_source2" tablename="t_userdynamic"/>
</namenodes>
<function ref="userShardFunc" />
<trackers>
    <tracker type="EXECUTE_SQL" threshold="10"
    class="com.bj58.oceanus.demo.trackers.TableExecuteSqlTracker" />
</trackers>
</table>


本文来源:58同城Oceanus使用文档


2019-03-10 13:14

开源项目

知识点

相关教程

更多

function-Oceanus配置说明

作用: 作为 table 的子节点,用于声明路由规则 属性: ref – Function 类型的 bean id 示例: <function ref="userShardFunc" /> 本文来源:58同城Oceanus使用文档

include-Oceanus配置说明

作用: 配置文件支持引用功能,file 属性为被引用文件的相对路径名称 示例: <include file="configurations_demo_tables.xml"/> 本文来源:58同城Oceanus使用文档

threadpool-Oceanus配置说明

configurations.xml 该配置文件说明了 Oceanus 初始化内容,文件名称不固定。root 节点为  ,下面介绍配置节点: 2.1 threadpool 作用: Oceanus 内部执行器 Ø 属性: id – 唯一标识 size – 线程池大小。根据DB操作并发量和服务器硬件

tracker-Oceanus配置说明

作用: 关键功能的监控埋点,当指定位置的执行时间过长时,调用这里配置的类方法,可用于监控报警。Tracker可以作为configurations的子节点表示全局有效,也可以作为table的子节点表示只对匹配的表有效 属性: type – 埋点类型,目前有以下几种固定值:GET_CONNECTION(从连接池中获取连接)、ONNECTION_CONTEXT(一个 connection 的生命周期)、

bean-Oceanus配置说明

作用:   类的声明,通过这里进行实例化 属性:   id – 唯一标识   class – 实现类 示例:   <bean id="userShardFunc" class="com.bj58.oceanus.demo.shard.UserDynamicShardFunction" /> 本文来源:58同城Oceanus使用文档

namenode-Oceanus配置说明

作用: 同一类型数据源的簇,可配置多个datanode,便于扩展读写分离等功能 属性: id – 唯一标识 loadbalance – 负载方式,可选值:POLL 表示轮询,POLL-WEIGHT 表示有权重的轮询,RANDOM 表示随机,RANDOM-WEIGHT 表示有权重的随机,HA-RANDOM 表示支持高可用的随机,HA-RANDOM-WEIGHT 表示支持高可用的有权重随机。默认是 H

datanode-Oceanus配置说明

作用:   配置数据源,有多少数据库实例就配置多少datanode 属性: id – 唯一标识 parent – datanode 可继承,该属性标识该 datanode 继承自哪个 datanode slaves – HA功能,当有主从关系且该数据源为主时,在这里声明从库id alarm – 报警功能,当该数据源不可用和恢复正常时会调用其实现类的报警方法 子节点: url –连接数据库的 URL

Oceanus连接池的相关配置

Oceanus 底层的连接池使用 DBCP,例举几个重要的相关配置如下,原文参见: http://commons.apache.org/proper/commons-dbcp/configuration.html 本文来源:58同城Oceanus使用文档

Oceanus对mybatis的支持

Oceanus对mybatis的支持 1. POM 依赖: <groupId>com.bj58</groupId> <artifactId>oceanus-plugins-mybatis</artifactId> <version>0.0.2-SNAPSHOT</version> 2. 事务管理器需要配置为 JDBC,如:&l

报警-Oceanus编码调用

报警扫描周期是 Oceanus 内置的参数,不对外提供。两种方式实现: 1 实现 com.bj58.oceanus.core.alarm.Alarm 接口 将实现类名配置在 datanode 节点属性 alarm 中,实现其中的void excute(AlarmType type,String dataNodeId)方法,每当需要报警时就会调用excute方法 (注:这种报警调用会很频繁,根据各自

初始化-Oceanus编码调用

首先调用 Oceanus 初始化方法,加载配置进行各项的初始化: Oceanus.init("d:/configurations_demo.xml"); 本文来源:58同城Oceanus使用文档

Oceanus对hibernate的支持

Oceanus对hibernate的支持 1. POM 依赖: <groupId>com.bj58</groupId> <artifactId>oceanus-plugins-hibernate</artifactId> <version>0.0.2-SNAPSHOT</version> 2. 链接生产者为 com.bj58.

求教一个 table的css

想要实现这个一个Table,table的padding和下面的黑线一直实现不了,求各位大牛指点。     问题补充:<div class="quote_title">black.angel 写道</div><div class="quote_div">首先把 table style="border:5px sol

自定义路由逻辑函数-Oceanus编码调用

实现接口: com.bj58.oceanus.core.shard.Function 实现方法: public int execute(int size, Map<String, Object> parameters) 参数说明: size:表示该table中配置的datanode数量 parameters:key为字段名,大写开头,value为字段在sql中的值 返回值: namen

自定义埋点函数-Oceanus编码调用

Ø 实现接口: com.bj58.oceanus.core.timetracker.Tracker Ø 实现方法: public void doTrack(TrackResult trackResult) Ø 参数说明: trackResult:当对应埋点执行时间超过配置时间,Oceanus 会调用该方法 trackResult.getTableName(

最新教程

更多

java线程状态详解(6种)

java线程类为:java.lang.Thread,其实现java.lang.Runnable接口。 线程在运行过程中有6种状态,分别如下: NEW:初始状态,线程被构建,但是还没有调用start()方法 RUNNABLE:运行状态,Java线程将操作系统中的就绪和运行两种状态统称为“运行状态” BLOCK:阻塞状态,表示线程阻塞

redis从库只读设置-redis集群管理

默认情况下redis数据库充当slave角色时是只读的不能进行写操作,如果写入,会提示以下错误:READONLY You can't write against a read only slave.  127.0.0.1:6382> set k3 111  (error) READONLY You can't write against a read only slave. 如果你要开启从库

Netty环境配置

netty是一个java事件驱动的网络通信框架,也就是一个jar包,只要在项目里引用即可。

Netty基于流的传输处理

​在TCP/IP的基于流的传输中,接收的数据被存储到套接字接收缓冲器中。不幸的是,基于流的传输的缓冲器不是分组的队列,而是字节的队列。 这意味着,即使将两个消息作为两个独立的数据包发送,操作系统也不会将它们视为两个消息,而只是一组字节(有点悲剧)。 因此,不能保证读的是您在远程定入的行数据

Netty入门实例-使用POJO代替ByteBuf

使用TIME协议的客户端和服务器示例,让它们使用POJO来代替原来的ByteBuf。

Netty入门实例-时间服务器

Netty中服务器和客户端之间最大的和唯一的区别是使用了不同的Bootstrap和Channel实现

Netty入门实例-编写服务器端程序

channelRead()处理程序方法实现如下

Netty开发环境配置

最新版本的Netty 4.x和JDK 1.6及更高版本

电商平台数据库设计

电商平台数据库表设计:商品分类表、商品信息表、品牌表、商品属性表、商品属性扩展表、规格表、规格扩展表

HttpClient 上传文件

我们使用MultipartEntityBuilder创建一个HttpEntity。 当创建构建器时,添加一个二进制体 - 包含将要上传的文件以及一个文本正文。 接下来,使用RequestBuilder创建一个HTTP请求,并分配先前创建的HttpEntity。

MongoDB常用命令

查看当前使用的数据库    > db    test  切换数据库   > use foobar    switched to db foobar  插入文档    > post={"title":"领悟书生","content":"这是一个分享教程的网站","date":new

快速了解MongoDB【基本概念与体系结构】

什么是MongoDB MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

windows系统安装MongoDB

安装 下载MongoDB的安装包:mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi,按照提示步骤安装即可。 安装完成后,软件会安装在C:\Program Files\MongoDB 目录中 我们要启动的服务程序就是C:\Program Files\MongoDB\Server\3.2\bin目录下的mongod.exe,为了方便我们每次启动,我

Spring boot整合MyBatis-Plus 之二:增删改查

基于上一篇springboot整合MyBatis-Plus之后,实现简单的增删改查 创建实体类 添加表注解TableName和主键注解TableId import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baom

分布式ID生成器【snowflake雪花算法】

基于snowflake雪花算法分布式ID生成器 snowflake雪花算法分布式ID生成器几大特点: 41bit的时间戳可以支持该算法使用到2082年 10bit的工作机器id可以支持1024台机器 序列号支持1毫秒产生4096个自增序列id 整体上按照时间自增排序 整个分布式系统内不会产生ID碰撞 每秒能够产生26万ID左右 Twitter的 Snowflake分布式ID生成器的JAVA实现方案