RocketMQ是大家耳熟能详的消息队列,开源项目rocketmq-spring可以帮助开发者在SpringBoot项目中快速整合RocketMQ。这篇文章会介绍 SpringBoot项目使用rocketmq-springSDK实现消息收发的操作流程,同时笔者会从开发者的角度解读SDK的设计逻辑。一、SDK简介项目地址:https://github.com/apache/rocketmq-springrocketmq-spring的本质是一个SpringBootstarter 。SpringBoot基于“约定大于配置”(Conventionoverconfiguration)这一理念来
RocketMQ是大家耳熟能详的消息队列,开源项目rocketmq-spring可以帮助开发者在SpringBoot项目中快速整合RocketMQ。这篇文章会介绍 SpringBoot项目使用rocketmq-springSDK实现消息收发的操作流程,同时笔者会从开发者的角度解读SDK的设计逻辑。一、SDK简介项目地址:https://github.com/apache/rocketmq-springrocketmq-spring的本质是一个SpringBootstarter 。SpringBoot基于“约定大于配置”(Conventionoverconfiguration)这一理念来
RocketMQ是大家耳熟能详的消息队列,开源项目rocketmq-spring可以帮助开发者在SpringBoot项目中快速整合RocketMQ。这篇文章会介绍SpringBoot项目使用rocketmq-springSDK实现消息收发的操作流程,同时笔者会从开发者的角度解读SDK的设计逻辑。1SDK简介项目地址:https://github.com/apache/rocketmq-springrocketmq-spring的本质是一个SpringBootstarter。SpringBoot基于“约定大于配置”(Conventionoverconfiguration)这一理念来快速地开发、测
RocketMQ是大家耳熟能详的消息队列,开源项目rocketmq-spring可以帮助开发者在SpringBoot项目中快速整合RocketMQ。这篇文章会介绍SpringBoot项目使用rocketmq-springSDK实现消息收发的操作流程,同时笔者会从开发者的角度解读SDK的设计逻辑。1SDK简介项目地址:https://github.com/apache/rocketmq-springrocketmq-spring的本质是一个SpringBootstarter。SpringBoot基于“约定大于配置”(Conventionoverconfiguration)这一理念来快速地开发、测
最近一直畅游在RocketMQ的源码中,发现在RocketMQ中很多地方都使用到了CompletableFuture,所以今天就跟大家来聊一聊JDK1.8提供的异步神器CompletableFuture,并且最后会结合RocketMQ源码分析一下CompletableFuture的使用。Future接口以及它的局限性我们都知道,Java中创建线程的方式主要有两种方式,继承Thread或者实现Runnable接口。但是这两种都是有一个共同的缺点,那就是都无法获取到线程执行的结果,也就是没有返回值。于是在JDK1.5以后为了解决这种没有返回值的问题,提供了Callable和Future接口以及Fu
最近一直畅游在RocketMQ的源码中,发现在RocketMQ中很多地方都使用到了CompletableFuture,所以今天就跟大家来聊一聊JDK1.8提供的异步神器CompletableFuture,并且最后会结合RocketMQ源码分析一下CompletableFuture的使用。Future接口以及它的局限性我们都知道,Java中创建线程的方式主要有两种方式,继承Thread或者实现Runnable接口。但是这两种都是有一个共同的缺点,那就是都无法获取到线程执行的结果,也就是没有返回值。于是在JDK1.5以后为了解决这种没有返回值的问题,提供了Callable和Future接口以及Fu
1.前言本文将介绍希尔排序、归并排序、基数排序(桶排序)。在所有的排序算法中,冒泡、插入、选择属于相类似的排序算法,这类算法的共同点:通过不停地比较,再使用交换逻辑重新确定数据的位置。希尔、归并、快速排序算法也可归为同一类,它们的共同点都是建立在分治思想之上。把大问题分拆成小问题,解决所有小问题后,再合并每一个小问题的结果,最终得到对原始问题的解答。通俗而言:化整为零,各个击破。分治算法很有哲学蕴味:老祖宗所言合久必分,分久必合,分开地目的是为了更好的合并。分治算法的求解流程:分解问题:将一个需要解决的、看起很复杂原始问题分拆成很多独立的子问题,子问题与原始问题有相似性。如:一个数列的局部(小
1.前言本文将介绍希尔排序、归并排序、基数排序(桶排序)。在所有的排序算法中,冒泡、插入、选择属于相类似的排序算法,这类算法的共同点:通过不停地比较,再使用交换逻辑重新确定数据的位置。希尔、归并、快速排序算法也可归为同一类,它们的共同点都是建立在分治思想之上。把大问题分拆成小问题,解决所有小问题后,再合并每一个小问题的结果,最终得到对原始问题的解答。通俗而言:化整为零,各个击破。分治算法很有哲学蕴味:老祖宗所言合久必分,分久必合,分开地目的是为了更好的合并。分治算法的求解流程:分解问题:将一个需要解决的、看起很复杂原始问题分拆成很多独立的子问题,子问题与原始问题有相似性。如:一个数列的局部(小
文档大纲 一、数仓基本概念 1、数据仓库架构 我们在谈数仓之前,为了让大家有直观的认识,先来谈数仓架构,“架构”是什么?这个问题从来就没有一个准确的答案。这里我们引用一段话:在软件行业,一种被普遍接受的架构定义是指系统的一个或多个结构。结构中包括软件的构建(构建是指软件的设计与实现),构建的外部可以看到属性以及它们之间的相互关系。 这里参考此定义,把数据仓库架构理解成构成数据仓库的组件及其之间的关系,画出下面的数仓架构图: 数仓架构 上图中显示的整个数据仓库环境包括操作型系统和数据仓库系统两大部分。操作型系统的数据由各种形式的业务数据组成,这些数据经过抽取、转换和装载(ETL)过程进入数据
文档大纲 一、数仓基本概念 1、数据仓库架构 我们在谈数仓之前,为了让大家有直观的认识,先来谈数仓架构,“架构”是什么?这个问题从来就没有一个准确的答案。这里我们引用一段话:在软件行业,一种被普遍接受的架构定义是指系统的一个或多个结构。结构中包括软件的构建(构建是指软件的设计与实现),构建的外部可以看到属性以及它们之间的相互关系。 这里参考此定义,把数据仓库架构理解成构成数据仓库的组件及其之间的关系,画出下面的数仓架构图: 数仓架构 上图中显示的整个数据仓库环境包括操作型系统和数据仓库系统两大部分。操作型系统的数据由各种形式的业务数据组成,这些数据经过抽取、转换和装载(ETL)过程进入数据