Anur IjuoKaruKas的博客

三流作家、魔法师学徒。

支持连表等复杂查询的PageHelper修改 —— 支持PageHelper5.1.4 Mybatis3.4.6

这是旧版本的做法以及一些当时遇到的问题《支持连表等复杂查询的PageHelper修改》 一、PageHelper中分页存在的问题: - 主表结构如下: provider_order表,订单主表。我们这里简化处理,它只有一个字段,即id。 VARCHAR  |  po_id   | ...

2018-06-11 13:49:44

阅读数 1386

评论数 1

分布式事务柔性事务解决方案:可靠消息最终一致性(异步确保型) —— 三、生产者实战

建议简单看看上一篇文章再往下阅读 接下来就到了我们的实战时刻~ 项目基于spring cloud编写,没有spring cloud基础看起来可能有一点点费力。 定义可靠消息接口 package com.anur.messageapi.api; import org.springfr...

2018-05-17 23:59:27

阅读数 755

评论数 0

Kafka源码剖析 —— 生产者消息发送流水线上的大体流程

一、唤醒Selector 上篇文章说到,消息是怎么被生产出来,简单来说,就是消息被追加到了RecordAccumulator中,以ByteBuffer的形式存了下来。 那么在消息添加到ByteBuffer中后,后续的步骤又是怎么样的呢? 首先上篇文章提到了Kafka追加消息时加锁的粒度,是一...

2018-09-12 20:56:55

阅读数 132

评论数 0

Kafka源码剖析 —— 生产者消息追加中的优秀设计与大体流程

Kafka生产者的消息发生大体需要经过以下这个流程。 其中消息的追加包含以下几个组件。我们在KafkaProducer中调用send方法发送一个消息,在消息追加步骤,最终是将消息添加到了ByteBuffer中。 一、KafkaProducer 1.1、拦截器的实现 我们发现在s...

2018-09-06 15:31:42

阅读数 140

评论数 0

仿照Kafka,实现一个简单的监听器 + 适配器吧!

前言 不同于Spring中复杂的实现,在Kafka中,对于Listener和对应的Adaptor,都十分的简单与简洁。下面我们就以Kafka的实现作为参考,简单说说如何去实现一个监听器与适配器。 一、监听器 1.1 从 Kafka RequestFuture&...

2018-09-03 18:25:16

阅读数 254

评论数 0

Kafka源码剖析 —— 网络I/O篇 —— 浅析KafkaChannel、NetworkReceive、Send

一、SocketChannel和KafkaChannel有什么区别? 上篇文章说道KafkaSelector在创建一个连接的时候和普通的nioSelector并没有什么不同,它是基于nioSelector的封装。我们知道创建连接的一系列操作都是由Channel去完成,而KafkaChannel实...

2018-08-07 10:29:23

阅读数 399

评论数 0

Kafka源码剖析 —— 网络I/O篇 —— 浅析KafkaSelector

NioSelector和KafkaSelector有什么区别? 先说结论,KafkaSelector(org.apache.kafka.common.network.selector)是对NioSelector(java.nio.channels.Selector)的进一步封装。回想一下NioS...

2018-07-20 18:21:36

阅读数 392

评论数 0

从 NIO SelectionKey 看按位运算符在权限设计中的运用

一、为什么要这样设计权限 /** * Operation-set bit for read operations. * * <p> Suppose that a selection key's interest set ...

2018-07-14 00:06:14

阅读数 197

评论数 0

细粒度的线程控制?使用Lock Condition~

这里举一个栗子,我们对一个资源进行加锁,可是又要进行细粒度的控制,该如何实现呢? 比如我们开了了个餐馆。餐馆有一个厨房,服务员可以通知厨房进行做菜,当前冰箱里有菜时,厨房就会开始做菜,冰箱里没菜则会等待。 /** * Created by Anur IjuoKaruKas on 6/28...

2018-06-28 14:45:03

阅读数 148

评论数 0

netty之——@Shareable注解

什么是@Shareable? @Inherited @Documented @Target(value=TYPE) @Retention(value=RUNTIME) public static @interface ChannelHandler.Sharable Indicates t...

2018-06-01 14:20:42

阅读数 1058

评论数 0

源码解读ExcutorService之ScheduledExecutorService

ScheduledExecutorService继承自ExcutorService,也就是它是一种线程池,它不仅能实现任务的跟踪与管理,还能定时、定频执行任务。 文档渣翻 An ExecutorService that can schedule commands to run after...

2018-05-23 11:06:21

阅读数 152

评论数 0

分布式事务柔性事务解决方案:可靠消息最终一致性(异步确保型) —— 二、生产者的设计

本方案分布式事务柔性事务解决方案:可靠消息最终一致性(异步确保型)实现自 本方案与龙果学院的方案思想基本一致,但本方案使用Spring Cloud实现 方案中用到的主要技术为: Spring Cloud、Spring Boot、MyBatis、JDK8、RabbitMQ 为什么要使用...

2018-05-14 17:52:46

阅读数 1834

评论数 1

分布式事务柔性事务解决方案:可靠消息最终一致性(异步确保型) —— 一、大白话理论

分布式事务简介 理论不多说,谈起事务,必然就绕不过ACID。然而传统的分布式事务在当下的分布式、微服务结构中中并不太合适,数据在传统的分布式事务中会被锁住,而且还要应对XA协议带来的开销(建立和关闭与资源管理器的连接、预提交、提交和回滚一个本地事务等等)。 与之相对的,是更符合当下业务需求的基...

2018-05-13 15:18:58

阅读数 502

评论数 0

Spring Boot / Spring Cloud 项目中获取本项目端口号

import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent; import org.springframework.context.ApplicationListener; im...

2018-05-08 11:11:44

阅读数 4545

评论数 2

RabbitMQ 在 Spring Boot 进阶之交换器 Topic Exchange

上文中说到,文件上传服务器有这么多的需求:给所有用户一点奖励,还要记录一条日志,甚至还要通知某某人去对上传的资料进行审核。 那如果我们不想这么做了,我们想要的是: 只有上传达到15m的才给奖励 某些类型的文件不需要进行审核 那怎么来设计我们的消息中间件呢? 这时候就需要我们的Topic...

2018-05-01 21:56:29

阅读数 140

评论数 0

RabbitMQ 在 Spring Boot 进阶之交换器 Fanout Exchange

最好阅读一下上篇文章《 RabbitMQ 在 Spring Boot 进阶之交换器 Direct Exchange》 还是这个业务,它负责资料的上传。 它之前的需求是,不同的用户上传后,后续的处理不同。 普通用户上传资料后,可以获得一定的积分。 内部人员上传资料后,不需要积分,但它会...

2018-04-28 13:56:23

阅读数 141

评论数 0

RabbitMQ 在 Spring Boot 进阶之交换器 Direct Exchange

上篇文章中我们只看到了的生产者的消息发送与消费者的消息消费,实际上它隐藏了rabbitMQ中一个重要的环节。 上篇文章中,我们在生产者中直接定义了消息送达队列的名字 @Component public class Sender { @Autowired private A...

2018-04-26 19:50:01

阅读数 880

评论数 0

RabbitMQ 入门 与 RabbitMQ 在 Spring Boot 中的使用

Message Broker与AMQP简介 Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景: 消息路由到一个或多个目的地 消息转化为其他的表现方式 执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返回给消息用户 调用...

2018-04-26 09:37:47

阅读数 73

评论数 0

java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present JAVA9

java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present at java.base/sun.reflect.generics.factory.CoreReflectionFactory.ma...

2018-04-10 11:00:34

阅读数 1259

评论数 0

Spring AOP概念Aspect、Advice、JoinPoint、JoinCut与Execution

基本知识 其实, 接触了这么久的 AOP, 我感觉, AOP 给人难以理解的一个关键点是它的概念比较多, 而且坑爹的是, 这些概念经过了中文翻译后, 变得面目全非, 相同的一个术语, 在不同的翻译下, 含义总有着各种莫名其妙的差别. 鉴于此, 我在本章的开头, 着重为为大家介绍一个 Spring...

2018-04-03 09:39:33

阅读数 2571

评论数 0

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