Giter VIP home page Giter VIP logo

shark's People

Contributors

gaoxianglong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shark's Issues

维护呢?

当初写博客的时候鄙视谁谁谁?现在也不维护了?

shark下一个版本将会进行重构

1、降低与spring的整体依赖;
2、修复基于zookeeper、redis3cluster作为集中式配置中心的bug;
3、提升单元测试覆盖率;
4、大版本,直接升级为1.4.0

您这个分库分别路由算法的原理是什么?

您好,我看了您的书。其中分库分表中说了shark,然后看了下shark。

一直 有个疑问,
您这个分库分别路由算法的详细原理是什么?
为什么不能直接取模?
为什么dbRuleArray除以32而不是取模32?
这样做好处在哪里?

 <property name="dbRuleArray" value="#key1|key2# % 1024 / 32" />
 <property name="tbRuleArray" value="#key1|key2# % 1024 % 32" />
<!-- 多库多片模式 -->
<bean id="shardRule" class="com.sharksharding.core.shard.ShardRule"
    init-method="init">
    <property name="isShard" value="true" />
    <property name="wr_index" value="r32w0" />
    <property name="shardMode" value="true" />
    <property name="consistent" value="true" />
    <property name="dbRuleArray" value="#key1|key2# % 1024 / 32" />
    <property name="tbRuleArray" value="#key1|key2# % 1024 % 32" />
    <property name="tbSuffix" value="_0000" />
</bean>
上述程序示例中,主库一共是32个(1024个子表,每个库包含子表数为32个)

shark1.4.1新功能规划

a、基于velocity模板引擎渲染内容,支持动态拼接sql,类似mybatis的sql配置方式(与shark目前的properties方式
并存),支持表达式;
b、自动对spring mapper进行赋值映射操作;
c、调整基于zookeeper生成全局唯一的sequenceid算法;
d、解析sql语句时,开始支持数据库别名;
e、底层解析分库分表索引时将%运算替换为&运算;
f、将切换数据源动作的日志记录调整到SharkDatasourceGroup.
determineCurrentLookupKey()方法中;
g、修复PropertyPlaceholderConfigurer类中update语句占位符“?”替换的bug;
h、增加部分测试用例;
i、降低shark的pom.xml文件中与其它构件的依赖;
j、解析SQL语句WHERE条件后面是否带参数;
k、调整自动生成shark核心配置文件代码;

Shark2.0.0版本新功能

a、调整分库分表模式,目前分库分表模式由单库多表和多库多表构成;
b、废弃SharkJdbcTemplate,直接支持Spring的JdbcTemplate,实现业务零侵入;
c、调整com.sharksharding.core包下的目录结构;
d、修改com.sharksharding.util.xml包下自动生成shark配置文件代码;

shark1.4.2新功能规划

a、调整shark内置验证页面,优化视图效果,丰富功能后升级为shark moniter(功能包括sql落盘验证、sql执行状态记录、sql执行数统计、慢速sql统计等);
b、集成shark-benchmark;

shark新功能规划

新增功能:
1、基于zookeeper3.4.6、redis3.0.7等的配置中心;
2、基于zookeeper3.4.6实现全局id生成器(和目前的id生成策略并存);
3、逐步降低与spring的耦合;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.