2018年11月1日

SPI学习

摘要: SPI机制简介 SPI的全名为Service Provider Interface.java spi机制的思想: 系统里抽象的各个模块,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,如果需 阅读全文

posted @ 2018-11-01 11:21 西界-X 阅读(239) 评论(0) 推荐(0) 编辑

2018年6月4日

RocketMQ 源码分析(三) —— 高可用

摘要: 1. 概述 本文主要解析 Namesrv、Broker 如何实现高可用,Producer、Consumer 怎么与它们通信保证高可用。 2. Namesrv 高可用 启动多个 Namesrv 实现高可用。 相较于 Zookeeper、Consul、Etcd 等,Namesrv 是一个超轻量级的注册中 阅读全文

posted @ 2018-06-04 23:25 西界-X 阅读(1035) 评论(0) 推荐(0) 编辑

RocketMQ 源码分析(二) —— Message 存储

摘要: CommitLog 结构 CommitLog、MappedFileQueue、MappedFile 的关系如下: CommitLog : MappedFileQueue : MappedFile = 1 : 1 : N。 反应到系统文件如下: ··· Yunai MacdeMacBook Pro 2 阅读全文

posted @ 2018-06-04 23:19 西界-X 阅读(1575) 评论(0) 推荐(1) 编辑

RocketMQ源码(一)Message 发送与接收

摘要: 1、概述 Producer 发送消息。主要是同步发送消息源码,涉及到 异步/Oneway发送消息,事务消息会跳过。 Broker 接收消息。 2、Producer 发送消息 21.DefaultMQProducerImpl sendDefaultImpl() 说明 :发送消息。步骤:获取消息路由信息 阅读全文

posted @ 2018-06-04 23:05 西界-X 阅读(3919) 评论(0) 推荐(0) 编辑

2018年1月6日

动态可扩展查询MYSQL5.7JSON+虚拟列+Mybatis

摘要: 背景:现有业务扩展字段,都存在feature字段,存在语义不清晰以及,难以利用索引查询问题 Mysql 5.7后推出利器,JSON+虚拟列,即实现了业务语义统一,也支持索引查询加速 一、简单描述 MySQL 5.7.7 labs版本开始InnoDB存储引擎已经原生支持JSON格式,该格式不是简单的B 阅读全文

posted @ 2018-01-06 14:21 西界-X 阅读(5154) 评论(0) 推荐(0) 编辑

2018年1月4日

maven jar包冲突3种解决方式

摘要: 初次启动应用,一直报如下错误,起初怀疑引入pandora boot 版本冲突。 方式一:通过mvn tree查看 mvn dependency:tree 方式二:通过在启动过程中查看类文件位置 查看Health 具体类路径 查看到具体类路径,辅助分析实际运行路径 或者 Health.class.ge 阅读全文

posted @ 2018-01-04 20:27 西界-X 阅读(22566) 评论(0) 推荐(1) 编辑

2017年12月27日

JAVA本地环境启动OOM问题排查

摘要: 1.问题描述 每次启动信息报错如下: 2.排查过程 2.1 将本地队内存调整由 Xms512M, Xmx1024M,改成与测试环境相同1536M,还是失败 如上图报错中有notify问题,怀疑notify启动占用线程数过多,增加如下线程限制: 后进行重启测试,发现还是启动报错,排除notify问题 阅读全文

posted @ 2017-12-27 10:11 西界-X 阅读(1715) 评论(0) 推荐(0) 编辑

2017年12月25日

Disruptor并发框架 (二)核心概念场景分析

摘要: 核心术语 RingBuffer(容器): 被看作Disruptor最主要的组件,然而从3.0开始RingBuffer仅仅负责存储和更新在Disruptor中流通的数据。对一些特殊的使用场景能够被用户(使用其他数据结构)完全替代。 Sequence(槽位置): Disruptor使用Sequence来 阅读全文

posted @ 2017-12-25 22:17 西界-X 阅读(1474) 评论(0) 推荐(0) 编辑

Disruptor并发框架(一)简介&上手demo

摘要: 框架简介 Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在 中,使`用 方式 阅读全文

posted @ 2017-12-25 21:24 西界-X 阅读(8673) 评论(0) 推荐(0) 编辑

shell日志删除(超容量&自动)

摘要: 背景:避免双十一磁盘被打爆,本想通过crontab执行,但是删除需要密码,所以用作当机器磁盘高于摸个阈值,进行无关性日志强删 !/bin/sh use sh clean.sh wmporder_prehost 38(说明:磁盘超过38%,则进行删除日志) pgm A 'df h' alldf.log 阅读全文

posted @ 2017-12-25 14:58 西界-X 阅读(538) 评论(0) 推荐(0) 编辑

导航