嗯。

嗯。

架构的一些考虑点

异地多活? 弹性扩容? 数据的备份 如消息队列 es 数据库等 容灾切换包含了“数据库切换”“缓存容灾切换”“多活规则切换”“中间件切换”“负载均衡切换”“域名解析切换”等多个环节 ...

2019-04-12 19:43:30

阅读数 36

评论数 0

一些sql题

给一个,一个表记录了某论坛会员的发贴情况,存储了会员id ,发贴时间和内容。找出连续发贴n次及以上的会员。 一个表存了用户ID,用户上线时间和下线时间,用户一天中可多次上线下线,求这一天中哪个时刻在线人数最多,sql如何实现? 每一行是1,2,3,4等数据。要求累计报表求和。结果为,1,3,6...

2019-04-09 20:00:22

阅读数 49

评论数 0

mybatis一级缓存和InnoDB一致性非锁定读

突然发现mybatis的一级缓存和InnoDB一致性非锁定读不谋而合啊 之前一直觉得 你开启事务的情况下 查询之后接下来如果继续查询 中间没有增删改,那你是查不到其他事务的修改的结果的。 现在发现InnoDB一致性非锁定也是这样啊 你开启事务查询会得到应该快照 所以mybatis的一级缓存不会...

2019-03-05 19:34:36

阅读数 156

评论数 0

NoSuchMethodError: org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.setMessag

25-Feb-2019 14:42:48.395 信息 [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer typ...

2019-02-25 17:37:05

阅读数 97

评论数 0

mysql死锁问题收集

2019-01-27 10:45:20 0x7f47600bd700 *** (1) TRANSACTION: TRANSACTION 1164073413, ACTIVE 0 sec inserting mysql tables in use 1, locked 1 LOCK WAIT 3 lo...

2019-02-11 17:37:16

阅读数 81

评论数 0

在线数据迁移的一点想法

方案: 上线代码中启动的时候获取表中最大的id,记为maxId,然后如果insert 插入新的库,查询删除修改判断id是否大于maxId,如果是走新库。对于小于等于maxId的数据走老库,同时监听binlog ,发到消息队列堆积,暂不消费,因为可能老数据还没有迁移,做数据纠正。然后注意一下如果插...

2019-01-16 17:36:19

阅读数 88

评论数 0

lucene 4.x 近实时搜索

请支持原创博客 http://blog.csdn.net/cl59452/article/details/38408741 lucene2.9 之后推出了nrtmanager  近实时搜索,但是很多人在lucene4.x 中找不到了,我通过查阅apache 的log 发现,lucene已经用Co...

2018-11-15 11:03:02

阅读数 77

评论数 0

xxl-job研究心得

最近2天 花了点时间研究xxl-job 项目还是比较小的 分布式调度中心 调度中心基于quartz的,job的信息还是持久化到mysql中的,调度的时候也是用数据库锁的方式避免重复获取统一任务,然后分发调执行器端,分发使用rpc 方式,本质使用了jetty 执行器作为客户端,执行器启动的时候回向...

2018-10-31 19:47:26

阅读数 610

评论数 0

org.eclipse.swt.SWTException: Invalid thread access

***WARNING: Display must be created on main thread due to Cocoa restrictions. Exception in thread "main" org.eclipse.swt.SWTExcepti...

2018-10-18 11:01:12

阅读数 129

评论数 0

MessageBodyWriter not found for media type=application/x-www-form-urlencoded

MessageBodyWriter not found for media type=application/x-www-form-urlencoded post的时候不要自定义类型,使用Form 不然要写对应的provider。否则就报找不到对应的MessageBodyWriter   ...

2018-10-17 18:01:48

阅读数 148

评论数 0

一些心得 不断更新

不要把一些业务逻辑写在controller层,当你需要提供rpc接口的时候,不得不把controller中的业务操作沉下来,所以业务操作就应该放在service层。 返回给前端或者其他微服务需要封装成一个对象 不要传数组或者一个id 这样以后返回值需要加字段客户端必须得做兼容性。 不同业务模块...

2018-09-19 17:07:59

阅读数 97

评论数 0

canal入门

MysqlEventParser的start方法启动了一个parseThread线程消费,里面分了并行和非并行2种操作,并行的情况看mysqlConnection#dump方法,获取buffer之后使用MultiStageCoprocessor发布,MultiStageCoprocessor本质上...

2018-08-02 14:40:40

阅读数 88

评论数 0

定时任务做etl清洗小记

etl清洗数据 2次定时任务取数据有重叠,做不到不漏也不多,做幂等性太繁琐,可考虑做一个统一的支持所有业务的封装的幂等中间件。 取数据也有问题,怎么取,取多了oom。 数据一致性,一个表依赖另外2个表,怎么保证下一次用到的时候没有其他表对其修改导致数据不一致。可能是当前定时任务,这种情况可以业...

2018-07-30 18:54:00

阅读数 215

评论数 0

disruptor学习

ringbuffer优点 数组,比链表快,因为是连续的,所以相邻的会被一起加载,缓存行 元素不删除,被覆改,没有垃圾回收,内存使用率低 指向队尾元素的指针是volatile变量,无锁 相对于阻塞队列,消费者每次加锁只能获取一次插入数据,而consumer开始移动时,会调用barrier的w...

2018-07-30 18:48:49

阅读数 71

评论数 0

quartz源码分析参考

http://royliu.me/2017/04/13/quartz2-x-code-analyse-startprocess/ https://www.cnblogs.com/liuroy/p/7517777.html http://www.icartype.com/?p=140 http...

2018-07-20 14:56:41

阅读数 238

评论数 0

Mysql 5.7 从节点配置多线程主从复制

Mysql 采用多线程进行复制是从 Mysql 5.6 开始支持的内容,但是 5.6 版本下有缺陷,虽然支持多线程,但是每个数据库只能一个线程,也就是说如果我们只有一个数据库,则主从复制时也只有一个线程在工作。相当于还是以前的单线程。 从 Mysql 5.7 开始支持同一数据库下并行主从复制。不过...

2018-07-02 17:21:04

阅读数 250

评论数 0

mac os 安装2个jdk版本报错

objc[916]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/bin/java and /Library/Java/J...

2018-06-29 18:11:18

阅读数 92

评论数 0

消息发送一致性

1 2 3步 先扔消息队列 4 如果发送成功 进行业务处理 否则退出业务 5 6 发送确认消息存在的问题2 第二步消息中间件存储成功或失败之后,消息中间件挂了 应用不知道消息入库的结果3 返回应用结果超时,应用不知道消息入库的结果,如果成功,但是结果没有给应用,导致不一致,或者应用挂了,没来得及处...

2018-06-19 14:19:53

阅读数 204

评论数 0

spring cloud ribbon

spring-cloud-commons包下有一个类LoadBalancerAutoConfiguration,创建了RestTemplateCustomizer和LoadBalancerInterceptor,前者将后者设置到restTemplate中,list.add(loadBalancer...

2018-05-30 14:55:31

阅读数 97

评论数 0

kafka延时队列相关操作

TimingWheel是kafka时间轮的实现,内部包含了一个TimerTaskList数组,每个数组包含了一些链表组成的TimerTaskEntry事件,每个TimerTaskList表示时间轮的某一格,这一格的时间跨度为tickMs,同一个TimerTaskList中的事件都是相差在一个tic...

2018-05-29 11:25:07

阅读数 5169

评论数 0

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