自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (5)
  • 收藏
  • 关注

原创 mysql到es的同步

mysql到es的同步  Elasticsearch(es)使用场景,正如es一直强调的“一切为了搜索”,作为一款分布式的搜索引擎,使用场景较为宽泛,可以任意查询条件组合完成数据的检索。这正是mysql等关系型数据库的痛点所在。但对于每家公司的核心系统(toB公司)来说,它的核心业务数据都是需要各种组合查询才能完成业务需求。而为了数据的完整性和强一致性等目的,都采用被验证多年的关系型数据库来存储数据,互联网公司一般是mysql。那么这就是一个矛盾,使用了mysql就不能完成灵活的检查,且数据量一大查询就会

2021-02-19 17:53:39 3449

原创 springboot项目利用duckula3监听binlog

  duckula3可以与springboot完成结合,见示例:https://gitee.com/rjzjh/duckula3-dev-demo 的duckula3-dev-demo-springboot子项目,引入两个包, <dependency> <groupId>net.wicp.tams</groupId> <artifactId>common-spring-autoconfig</artifactId>

2021-02-14 17:02:18 748 4

原创 duckula3使用手册

监听任务主界面字段说明按钮说明:  duckula最核心也是最复杂的地方就是binlog监听任务了,在duckula3中,要完成一次binlog任务监听的配置,需要把“配置管理”模块所有的管理配置都配一遍才行,但不用担心,那些配置是可重用的,那些配置也可以避免你的任务配置出现差错导致监听失败,而且 为了配置者(dba与运维人员)与使用者(业务人员)分离,这也是有必要的。 从这点看把“配置管理”模块都配置一遍是值得的,特别是你的数据库实例是分库分表情况下。  binlog监听任务不但可以快速地配置监听任

2021-02-14 10:45:02 921

原创 Cassandra介绍

Cassandra在2008年7月被Facebook开源。Cassandra最初的版本主要是由亚马逊(Amazon)和微软(Microsoft)的一名前雇员编写的。它深受亚马逊首创的分布式key/value数据库Dynamo的影响。Cassandra实现了一个没有单点故障的动态复制模型,但是添加了一个更强大的列家族数据模型。下面我基于对它的理解说说它的一些概念。

2019-10-23 23:07:25 4142

原创 通过代码自由操作kubernetes

在kubernetes成为容器服务编排方案“标准”的今天,谈自动化运维就不能离开k8s,现在操作k8s有多种方式,集群外面k8s client通过kubeconfig配置文件连接k8s集群,通过k8s 暴露的apiserver服务操作k8s。通过暴露helm的服务service/tiller-deploy来操作k8s 等。k8s client和helm Client对于手工部署确实方便,但当应用程序量大的时候,通过手工来部署显然不够。通过apiserver的restfull形式的api来部署我们的应用确实可

2019-09-17 21:51:31 576 11

原创 flink用的binlog监听source

Flink可以用来做到批量处理与实时流式分析,在实时流式分析这块,常规的做法是业务主动发kafka消息,然后flink监听kafka来完成的。但这种方式却要借助中间件来完成监听发送kafka任务,现在要介绍的方案就是直连mysql,使binlog数据直接到Flink。

2019-09-15 21:00:34 3316 10

原创 轻量级的binlog监听方案

互联网体系架构具有可控性差、 数据量大、 架构复杂等特点,错综复杂的各业务模块需要解耦,各异构数据需要同步,双活/多活的容灾方案需要高实时性 等,在各种场合都需要一套可靠的数据实时推送方案。mysql已成为互联网项目存储的主力,围绕着它的各外围模块急需实时地获取它的数据,binlog监听是解决此实时同步问题的不二之选。

2019-09-15 20:51:56 6952 4

原创 亿级订单同步

“你最近一段时间把我们的***页面查询优化一下”,刚入职的我接到领导这了这个任务,做为IT老鸟,这应该是So easy的,心想,该我表现的时候了,百分百没建索引,或是建了不合理的索引导致没有用上索引,这东西应该不要“一段”时间吧?当我信心满满地找熟悉这块的开发人员了解情况时,顿时当头暴击啊,我们用的是mysql数据库,先select count(id) 来一下,苦苦等等了近5分钟,给我...

2020-01-15 22:09:23 359

原创 duckula之三(duckula对es的join类型的支持)

前言  互联网体系架构具有可控性差、 数据量大、 架构复杂等特点,错综复杂的各业务模块需要解耦,各异构数据需要同步,双活/多活的容灾方案需要高实时性 等,在各种场合都需要一套可靠的数据实时推送方案。mysql已成为互联网项目存储的主力,围绕着它的各外围模块急需实时地获取它的数据,binlog监听是解决此实时同步问题的不二之选。使用场景  duckula可以做到mysql到ES的增量和全量的同...

2019-12-29 19:42:43 554

原创 duckula之二(Ops-Server模式安装)

介绍  分布式binlog监听中间件duckula能像吸血鬼一样从各mysql实例中得到变化的数据,又能自动复活(HA).支持插件化数据接收者和序列化.非常灵 活.,可在自定义接收者,项目内置了kafka和redis接收者,也可以自定义序列化格式,项目也内置了protobuf2/protobuf3序列化.通过插件的形式嵌入到 duckula. 具有丰富的界面操作,可以通过页面操作进行任务的创建,...

2019-12-29 19:34:04 549

原创 duckula之一(k8s版本安装)

介绍  分布式binlog监听中间件duckula能像吸血鬼一样从各mysql实例中得到变化的数据,又能自动复活(HA).支持插件化数据接收者和序列化.非常灵 活.,可在自定义接收者,项目内置了kafka和redis接收者,也可以自定义序列化格式,项目也内置了protobuf2/protobuf3序列化.通过插件的形式嵌入到 duckula. 具有丰富的界面操作,可以通过页面操作进行任务的创建,...

2019-12-29 18:31:43 590

原创 自定义classload与热加载

场景  Classload是java语言较为底层的技术,对于自定义框架,中间件开发等都有广泛的应用场景,可以利用它设置出较为灵活的应用。像duckula就是使用它完成插件机制,为扩展duckula提供了可能。还有插件平台,也是使用它来实现ES业务插件的热加载等功能。双亲委派模型  类加载这个概念应该算是Java语言的一种创新,目的是为了将类的加载过程与虚拟机解耦,达到”通过类的全限定名来获取...

2019-11-04 15:37:04 416

原创 es插件平台

ES插件应用到ES很多地方,如:报警、分词、安全。。。。 但这些插件都是在技术层面的,业务层面肯定是缺失的,需要我们来补充1、跟据某个业务字段或是业务规则来打分,打分高的排前面2、跟据数据库字段来生成索引的mapping3、异构数据的同步索引,跟据规则处理异构数据4、跟据某些业务规则来触发告警5、更多。。。。。。。。。因此,我们很想自已来开发ES插件来满足业务需求,但ES插件在开发上确实不方便,如:权限严格、不支持热加载需要重启、对初学者不友好、版本升级(特别是大版本)后不向下兼容 等。所以我

2019-11-03 12:26:59 764

原创 业务与框架分离利器

现在互联网框架层出不穷,知识也是一个更新的过程,从传统行业的SSH,dubbo,grpc,springcloud,满足不同场景的业务需求,应该说框架技术没有好坏之分。但由于历史原因,我们经常性的有系统改造需求,如果是功能性的重新划分,连数据模型都推倒重来,那要考虑的问题倒少了,但如果修修补补,甚至只是切换一下底下的实现方式,把http改为rpc的,把原来的那种单体的改为微服务体系架构,如果之前没有把业务与框架做分离,那改起来也是一个较头疼的任务,单一个接口的输入输出就够喝一壶的。如果我们实现一个与业务无关的

2019-11-03 12:14:40 369

原创 httpclient的扩展

在java世界里,后端通过http协议来调用服务是非常常见的情形,犹其是现在微服务盛行,java一般是通过httpclient工具来做http调用的,但由于其功能较为强大,使用上倍感复杂,今天写的代码,过几天都快看不懂的事经常发生,common-http模块就是试图降低httpclient的复杂性,希望通过简单的的api,传几个我们一看就明白的参数来解决我们的问题。common-http模块也对httpclient做了一些扩展,如大文件的多线程下载、异步调用等。这些个场景都是在开发中经常碰到的。

2019-10-30 16:26:59 335

原创 jdbc连接池

连接一个数据库很容易,直接引入依赖包,组装好jdbc地址,加载驱动类,如果想用连接池又得引入连接池的依赖包,一连串的动作简单而乏味,一般的做法是自己存一个工具类,要的时候复制,改改相应的链接了事。common-jdbc依赖包也就是把这些乏味的事做到一个api中,到要的时候只要修改配置文件的配置项,直接调用api就可以了。

2019-10-30 16:16:10 243

原创 duckula介绍

分布式binlog监听中间件duckula能像吸血鬼一样从各mysql实例中得到变化的数据,又能自动复活(HA).支持插件化数据接收者和序列化.非常灵 活.,可在自定义接收者,项目内置了kafka和redis接收者,也可以自定义序列化格式,项目也内置了protobuf2/protobuf3序列化.通过插件的形式嵌入到 duckula. 具有丰富的界面操作,可以通过页面操作进行任务的创建,任务的启动与停止.合适的调度策略,当某个task由于某种原因"自杀"后,系统会自动 选择其它占用资源较少的服务器来运行此t

2019-10-23 22:58:17 1811

原创 jedis的扩展

jedis是redis的一款java客户端,对redis连接进行了池化,把短连接改为长连接,减小了网络连接的消耗,在项目中使用也比较多。但jedis也存在一些使用不方便的地方.- 需要手动关闭jedis连接,如果代码中存在异常跳过了jedis连接关闭的代码,那就存在连接泄漏的问题- redis的独立模式 与 哨兵模式、集群模式使用时使用的池都不样,一般来说我们开发、测试环境使用redis独立模式而生产环境使用哨兵模式或集群模式。这时我们的代码就不能做到统一。- jedis提供的api都是较为原

2019-10-23 20:57:21 741

原创 让你的代码借助spring起飞

经常性的存在这种场景,我们写好了一些工具类,这些工具类即可以在非spring项目里使用,也可以在spring项目里使用 ,为了做的更灵活些,这些工具类需要各种配置项,一般来说,我们会把它们放到内存的某个变量 中,这样在所有的java项目里就可以直接使用,这在非spring项目中感觉没什么,但在spring项目中,spring有自己的一套属性管理方案,且可以通过 @value等许多的annotation工具直接在项目代码中注入,在使用上更加的便捷和自然。在内存在的配置项是不被spring所管理的,也就是说我们

2019-09-15 22:05:03 229

原创 内存配置中心

一提到配置中心,大家想得最多的是configserver,阿波罗,consule等微服务系统较为典型的配置中心,集中存放项目的配置信息,起到权限管理、发布审核、操作审计、灰度发布等重要作用。但这些都是依赖第三方中间件来达到配置集中管理的目的,怎么选都是较重的一种方案,但有些场景需要配置中心但又不想有太重的依赖,只想把这些配置存放到内存就够用了。如:- 工具jar包,特别是连接一些中间件的配置项。

2019-09-15 21:54:34 363

原创 tapestry对Selenium测试的支持

首先,安装插件testNg - http://beust.com/eclipse然后新建文件:src\test\resources\test\conf\testng.xml内容为: 其中指明测试类所在的包,也就是它所

2011-09-26 15:54:25 387

网页制作常见问答

网页制作常见问答,包含两个chm文件。记录web开发常经常遇见的问题及解决方案。

2011-12-28

样式表滤镜中文手册

样式表滤镜中文手册,与《样式表中文手册》配合使用。前端开发必不可少的工具书.

2011-12-28

样式表中文手册

样式表中文手册,是JS等前台开发必不可以的CSS工具查询文档。

2011-12-28

tapestry学习资料

包括tapestry3、4、5三个版本的学习资料

2010-02-24

Better builds with Maven2

Better builds with Maven2 附源码

2010-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除