opensource
文章平均质量分 92
iteye_7245
这个作者很懒,什么都没留下…
展开
-
我也造了个轮子:BeanMapping(属性拷贝)
背景 最近公司在大力推进服务化平台,我在中间主要做一个orm框架,解决model和数据源之间的映射问题。这里不选择已有的hibrenate,主要考虑自己公司的一些特殊场景:比如多数据源(数据库,搜索引擎,memcached,nosql等),同时可以 做一些特殊优化,比如多数据源加载时采用并行加载(我之间做的一个工具包 (业务层)异步并行加载技术分析和设计) 也不多罗嗦,我...2011-06-10 18:22:45 · 496 阅读 · 0 评论 -
BeanMapping发布1.0.2版本
背景 BeanMapping是什么? 请查看我之前的一篇文章: 我也造了个轮子:BeanMapping(属性拷贝) 版本变更内容 convetor包名重构,拼写错误 ScriptExecutor接口重构,加上ScriptContext操作 FiledSetExecutor去除对args的强制匹配依赖 mapping支持name定义 mapping支持嵌套...2012-04-06 16:10:41 · 206 阅读 · 0 评论 -
异步并行加载使用说明(asyncload)
背景 最近资讯asyncload使用的同学越来越多,会有些一些经常性的问题,这里我做一下整理和answer,同时介绍一下asyncload的UserGuide 和一些限制等。 关于asyncload,又名异步并行加载 ,可参见我之前的文章: (业务层)异步并行加载技术分析和设计UserGuide篇几个基本概念:线程池 (定义异步处理的线程池模型,包括线程数,队列大小等)...2012-04-28 16:43:29 · 1005 阅读 · 0 评论 -
阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房)
项目背景 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。 otter第一版本可追溯到04~05年,此次外部开源的版本为第4版,开发时间从2011年7月份一直持续到现在,目前阿里巴巴B2B内部的本地/异地机房的同步需求...2013-08-22 16:48:06 · 769 阅读 · 0 评论 -
阿里巴巴开源项目: 阿里巴巴去Oracle数据迁移同步工具
背景 08年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,Cobar/TDDL(目前为阿里云DRDS产品),解决了单机Oracle无法满足的扩展性问题,当时也掀起一股去IOE项目的浪潮,愚公这项目因此而诞生,其要解决的目标就是帮助用户完成从Oracle数据迁移到MySQL上,完成去IOE的第一步. 项目介绍名称: yugon...原创 2016-03-05 18:29:59 · 697 阅读 · 0 评论 -
Canal BinlogChange(mariadb5/10)
背景先前开源了一个开源项目: 【阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费】 本文主要是介绍一下canal支持mariadb协议上的变化. 协议变化mariadb5.5mariadb5.5主要是基于mysql5.5的原型,类型定义基本没啥变化,大体上都保持兼容主要的变化:1. QueryLogEvent增加了status变量....原创 2014-01-20 17:25:27 · 479 阅读 · 0 评论 -
Canal QuickStart
Canal介绍 基于mysql数据库binlog的增量订阅&消费 QuickStart几点说明:(mysql初始化)a. canal的原理是基于mysql binlog技术,所以这里一定需要开启mysql的binlog写入功能,并且配置binlog模式为row. [mysqld]log-bin=mysql-bin #添加这一行就okbin...原创 2013-02-06 00:28:47 · 178 阅读 · 0 评论 -
Canal ClientExample
Canal介绍 基于mysql数据库binlog的增量订阅&消费 ClientExample依赖配置:(目前暂未正式发布到mvn仓库,所以需要各位下载canal源码后手工执行下mvn clean install -Dmaven.test.skip)<dependency> <groupId>com.alibaba.otte...原创 2013-02-06 00:29:09 · 547 阅读 · 0 评论 -
阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费
背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元。ps. 目前内部使用的同步,已经支持mysql5.x和oracle部分...2013-02-06 00:36:23 · 1515 阅读 · 0 评论 -
github上基于milestone自动生成releaseNotes
背景 最近在做一个项目,代码都已经托管到github上,准备走开源路线。 项目: 一个重大轮子: 基于mysql数据库binlog的增量订阅&消费 使用了github的issue tracker代码,本文记录一下如何使用github管理release notes,希望能给大家玩github的有所帮助。 过程步骤1 (准备issue/milestone素材) ...2013-02-19 18:19:19 · 1333 阅读 · 0 评论 -
Canal AdminGuide
背景 先前开源了一个开源项目: 【阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费】 本文主要是介绍一下如何部署&使用 环境要求1. 操作系统 a. 纯java开发,windows/linux均可支持 b. jdk建议使用1.6.25以上的版本,稳定可靠,目前阿里巴巴使用基本为此版本. 2. ...原创 2013-03-19 19:43:52 · 749 阅读 · 0 评论 -
canal DevGuide
背景 先前开源了一个开源项目: 【阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费】 本文主要是介绍一下如何给canal贡献代码,介绍其设计思路和扩展方式 设计 说明:server代表一个canal运行实例,对应于一个jvminstance对应于一个数据队列 (1个server对应1..n个instance)instan...2013-04-01 23:33:18 · 183 阅读 · 0 评论 -
zookeeper学习&使用系列文章
近段时间,因项目需要接触了下zookeeper,通过阅读源码以及项目中的使用总结,慢慢的积累了zookeeper的一系列的学习总结。希望对大家使用zookeeper有所帮助,同时如有描述欠佳的地方尽情拍砖。zookeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名...2011-12-05 19:33:06 · 131 阅读 · 0 评论 -
zookeeper学习记录三(session,watcher,persit机制)
背景继续前面的zookeeper学习的专题,这次主要是结合项目中遇到的一些问题,进一步学习了下zookeeper的一些内部机制。 针对以下几个问题:1. zk是否可以保证watcher事件不丢失?2. zk的EPHEMERAL节点的自动过期时间? 3. zk的如何保证节点数据不丢失? 如果你已经非常清楚这以上的几个问题,看官们可以不用往下看了。 persit机制...2011-12-05 19:02:53 · 240 阅读 · 0 评论 -
BeanMapping新的功能点(6月22号)
What is BeanMapping ?可以提前看一下原先的帖子: 我也造了个轮子:BeanMapping(属性拷贝) 新增功能(亮点): 1. Convertor转化处理支持(int,long,short,byte,char,boolean,float,double)8种原型和其对应的基本类型 + (BigInteger , BigDecimal) +...2011-06-22 19:49:17 · 209 阅读 · 0 评论 -
googlecode deploy to mvn repo
背景 前段时间在整的BeanMapping,功能开发和单元测试已经基本完善,准备release一个新版本。花了点时间找了下,如何deploy到maven central(http://repo1.maven.org/maven2/),方别客户端使用。 在测试过程中,我先找了googlecode自己的svn做为mvn repo进行测试。后续迁移到mvn central repo也只是u...2011-07-05 19:01:31 · 249 阅读 · 0 评论 -
googlecode deploy to mvn repo(续)
背景继上一篇,已经成功尝试了deploy到google svn上,接下来尝试deploy到maven central repo过程参考资料:http://maven.apache.org/guides/mini/guide-central-repository-upload.html 我这里选择的是Sonatype Oss Responitory做为目标仓库,由sonatyp...2011-07-08 18:55:54 · 183 阅读 · 0 评论 -
neo4j简单学习
背景最近在一些论坛或者新闻里看到了neo4j,一种擅长处理图形的数据库。 据说非常适合做一些join关系型的查询,所以抽空也看了下相关文档,给自己做个技术储备。 过程深入学习之前,先在网上找了一下别人的一个学习文档总结,踩在别人的肩膀上总是最快,最有效的学习。 http://blog.csdn.net/gtuu0123/article/details/6384375h...2011-07-20 20:43:04 · 305 阅读 · 0 评论 -
(业务层)异步并行加载技术分析和设计
背景 前段时间在做应用的性能优化时,分析了下整体请求,profile看到90%的时间更多的是一些外部服务的I/O等待,cpu利用率其实不高,在10%以下。 单次请求的响应时间在50ms左右,所以tps也不会太高,测试环境压力测试过程,受限于环境因素撑死只能到200tps,20并发下。 I/O目前一般的I/O的访问速度: L1 > L2 > memory ->...2011-02-22 23:54:58 · 248 阅读 · 0 评论 -
基于AQS实现互斥信号(BooleanMutex)
背景 最近一个月都在做项目,我主要负责分布式任务的调度的功能,需要实现一个分布式的授权控制。 具体的需求: 1. 首先管理员启动整个任务,并设置执行权限 2. 工作节点收到消息后就会创建对应的线程,并开始执行任务(任务都是由一个管理员进行分配) 3. 运行过程中管理员需要临时中断某个任务,需要设置一个互斥信号,此时对应的工作节点都需要被阻塞,注意不是完全销毁...2011-09-30 15:02:37 · 274 阅读 · 0 评论 -
zookeeper项目使用几点小结
背景 前段时间学习了zookeeper后,在新的项目中刚好派上了用场,我在项目中主要负责分布式任务调度模块的开发,对我自己来说是个不小的挑战。 分布式的任务调度,技术上我们选择了zookeeper,具体的整个分布式任务调度的架构选择会另起一篇文章进行介绍。 本文主要是介绍自己在项目中zookeeper的一些扩展使用,希望可以对大家有所帮助。 项目中使用的zookeep...2011-09-30 15:55:21 · 399 阅读 · 0 评论 -
基于zookeeper的分布式lock实现
背景 继续上一篇文章:http://agapple.iteye.com/blog/1183972 ,项目中需要对分布式任务进行调度,那对应的分布式lock实现在所难免。 这一周,在基于BooleanMutex的基础上,实现了zookeeper的分布式锁,用于控制多进程+多线程的lock控制 算法可以预先看一下zookeeper的官方文档: http://zoo...2011-09-30 17:00:15 · 322 阅读 · 0 评论 -
(业务层)异步并行加载ChangeLog
继上一篇: (业务层)异步并行加载技术分析和设计 目前已经在google code上新建了一个project,也在逐步的完善和加强并行加载的功能,这里记录一下ChangeLog。 相关代码: https://github.com/agapple/asyncload , 有兴趣的同学可以一起参与,目前正在公司的应用中打算实施,逐步的在完善功能和解决一些兼容性的问题。 ...2011-04-05 22:27:02 · 147 阅读 · 0 评论 -
并行加载实施中遇到的问题
背景 最近着手在一个已有的应用中实施并行加载技术,整理记录一下过程中遇到的问题,方便以后查阅。 关于并行加载可以访问: (业务层)异步并行加载技术分析和设计 姊妹篇: (业务层)异步并行加载ChangeLog 问题集1. ThreadLocal不支持 原理分析: 因为并行加载,导致原先的代码快使用了新的独立的线程进行加载。导致原先代码中使用了ThreadLo...2011-04-05 23:42:50 · 296 阅读 · 0 评论 -
BeanMapping发布1.0.1版本
背景 BeanMapping是什么? 请查看我之前的一篇文章: 我也造了个轮子:BeanMapping(属性拷贝) 现状 目前代码经过在一个实际项目中进行试用,该项目为公司的核心业务逻辑(产品页面数据),目前表现良好。 在原先的1.0.0版本基础上修复了几个bug,目前推荐使用1.0.1。 下载url : https://github.com/agapple...2012-01-31 14:48:06 · 140 阅读 · 0 评论 -
Canal BinlogChange(mysql5.6)
背景先前开源了一个开源项目: 【阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费】 本文主要是介绍一下canal1.0.3支持mysql5.6协议上的变化. 协议变化1. binlog checksum mysql5.6之后,支持在binlog对象中增加checksum信息,比如CRC32协议. 其原理主要是在原先bin...2013-04-09 00:26:32 · 280 阅读 · 0 评论