10 快乐崇拜234

尚未进行身份认证

开创光辉的程序员之路

等级
TA的排名 3k+

6. rocketmq事务消息

什么是事务消息事务消息用于解决分布式系统中的事务问题,不了解分布式事务的请自行Google。通常分布式事务可以使用两阶段,三阶段,TCC,XA,本地事务表等方式来实现强一致性或者最终一致性事务。这里rocketmq的事务消息就是采用的最终一致性解决的分布式事务。分布式事务的两个参与者,一方参与者通过事务消息保证本地事务执行结果与MQ中的消息一致,要么都成功,要么都失败回滚。另一个参与者则...

2020-01-21 17:26:32

5. rocketmq延迟消息队列

什么是延迟消息队列对于消息中间件来说,producer将消息发送到mq的服务器,但并不期望这条消息马上被消费,而是推迟到当前时间点之后的某个时间点后再投递到queue中让consumer进行消费。也可以认为是定时消息。延迟消息的使用场景很多,一种比较常见的场景就是在电商系统中,订单创建后,会有一个等待用户支付的时间窗口,一般为30分钟,30分钟后consumer收到这条订单消息,然后程序去订...

2020-01-21 16:43:11

4. RocketMQ顺序消息

什么事顺序消息消息顺序(Message Order)有两种:顺序消费(Orderly)和并行消费(Concurrently)。顺序消费表示消息消费的顺序同生产者为每个消息队列发送的顺序一致,所以如果正在处理全局顺序是强制性的场景,需要确保使用的主题只有一个消息队列。并行消费不再保证消息顺序,消费的最大并行数量受每个消费者客户端指定的线程池限制。要保证顺序消息,需满足以下三点:生产者写入有序...

2020-01-21 16:05:45

3. springboot集成rocketmq

引入依赖这里我们使用rocketmq-spring-boot-starter来访问rocketmq。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId><...

2020-01-21 11:56:06

2. RocketMQ安装部署

下载请到 rocketmq官方地址 下载最新的rocketmq。我这里下载的是 rocketmq-all-4.6.0-bin-release.zip 。其他装备:JDK 1.8+;64位centos系统。部署并启动服务将下载的rocketmq-all-4.6.0-bin-release.zip上传到Linux系统进行解压unzip rocketmq-all-4.6.0-bin-rel...

2020-01-21 11:20:14

hbase--walgroup源码分析

本文介绍hbase的walgroup原理及实现开启多wal默认情况下,一个regionserver只有一个wal文件。 在HBase-5699之后,可以配置多个wal,在hbase-site.xml中,添加以下配置,既可开启多wal(同一个RS服务中):<property> <name>hbase.wal.provider</name> &...

2020-01-20 14:29:00

jdk11源码--LongAdder源码分析原理分析

概述针对JDK中的原子类,想必大家都熟悉AtomicInteger,AtomicLong等类。他们都是采用CAS乐观锁方式来实现的。但是这种方式是否还有继续优化的空间呢?答案是肯定的。CAS乐观锁对临界区的数据(也就是atomicLong中的volatile long value属性)进行修改,这个属性是热点数据。并发量高的时候,会出现很多线程都轮询修改value属性的情况,CPU消耗比较高...

2020-01-10 16:07:34

Intellij idea 2019.3.1 代码提示忽略大小写

最近idea升级了版本。有的配置发生了变化。本文介绍最新的Intellij idea 2019.3.1版本如何修改配置,让代码提示忽略大小写。so easy:

2020-01-10 14:24:00

java自定义类加载器

网上java自定义类加载器很多容易找到,但是都是加载的单个类,如果被加载的类,有引用了其他类怎么办呢?接下来看一下如何来处理这种情况

2019-12-18 10:43:14

java类加载机制:到底能不能自己自定义java.lang.String类

文章目录概述网络上的错误(不准确)答案jdk11jdk8可否直接使用自定义的java.lang.String?自定义类加载器参考资料概述这个是一个经典的面试题:java类加载机制:到底能不能自己自定义java.lang.String类主要考察java的类加载机制。网络上的错误(不准确)答案一般来说不可以,即使定义了,也不会加载。依然会读取src包下的S的string类。但是,我们可以自...

2019-03-15 14:54:42

计算权重随机数

import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;/*** * java 权重随机数生成。 * 如抽奖,每个奖项获奖概率不同。 * * 假如 A 30%;B 20% ; C 50% 概率中奖 * * 方法一: 30...

2019-12-16 18:44:43

Java对象占用堆内存大小计算

概述最近在看hbase源码,里面有对象占用内存大小的计算。正好笔记记录一下。一般来说,int占4个字节,long占8个字节,等等。但是对象在队中的存储不止其包含的字段所占用的空间,还包括对象头,对齐填充等信息。接下来就结合hbase源码分析一下对象在堆中的存储情况。原生类型(primitive type)的内存占用类型占用空间boolean在数组中占1个字节,单独使用...

2019-11-27 17:57:40

hbase/hadoop异常:No lease on /hbase/archive/data/... File is not open for writing

问题描述我在进行hbase快照拷贝时报了以下错误:./hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot "MODEL.THIRD_PARTY_KV-11211752-snapshot" -copy-from hdfs://fromIP:9000/hbase -copy-to hdfs://toIP:9000/hbas...

2019-11-21 19:11:36

hbase 预分区Pre-splitting 解决热点问题

预分区在创建表时我们可以指定分区数量及规则等信息。最简单的方法是在创建表时指定分割点数组。 请注意,将字符串文字指定为拆分点时,它们将基于字符串的基础字节表示形式创建拆分点。 因此,当指定分割点“ 10”时,实际上是在指定字节分割点“ \ x31 \ 30”。分割点将定义n + 1个区域,其中n是分割点的数量。 第一个region包含从最小的可能rowkey到最大但不包括第一个分割点所有ro...

2019-11-05 19:31:49

hbase集群滚动重启Rolling Restart

概述在我们修改了regionserver的配置后,需要对某个或所有的regionserver进行重启。或者在集群升级到新的版本时进行滚动升级。以上都需要尽可能的不影响业务,集群保持存活可用。当然最简单的方法是停止整个集群,修改完后再重启,但是显然不适用。下面看看如何使用rolling-restart和graceful_stop来实现集群优雅滚动重启。Rolling Restart先看看...

2019-11-05 11:37:05

HBASE手动触发major_compact

定时执行脚本#!/bin/bashsource /etc/profilesh ./hbase shell <<EOFmajor_compact 'table_name'EOFmajor_compact 语法:#Compact all regions in a table:hbase> major_compact 't1' #Compact an entire...

2019-11-05 11:11:45

hbase扩容 缩容

初始化集群初始化集群:hadoop三个DataNode,HBASE集群只有一个regionserver。后面我们不停服的情况下,动态添加一个机器node4,在node4上启动Hregionserver服务。hbase动态扩容配置regionservers配置每台机器的regionservers,添加node4:[root@node1 conf]# cat regionservers...

2019-11-04 19:37:47

hbase 负载均衡

概述hbase 有多个regionserver,固需要负载均衡。本文讲述hbase的负载均衡如何使用。以下命令都是在hbase shell 控制台使用的。balance_switchhbase(main):001:0> help 'balance_switch'Enable/Disable balancer. Returns previous balancer state.Exa...

2019-11-04 19:26:54

hadoop 动态扩容 缩容

初始化集群初始化集群:hadoop三个DataNode,HBASE集群只有一个regionserver。后面我们不停服的情况下,动态添加一个机器node4,在node4上启动DataNode和Hregionserver服务。hadoop动态扩容准备工作准备工作与新搭建集群类似,这里参考笔者另一篇博客Hadoop 2.8.5 完全分布式HA高可用安装(一)–环境准备安装java配...

2019-11-04 17:47:40

hbase源码调试

为了调试源码,我们最好只启动一个regionserver。hbase集群配置为了避免在调试过程中由于请求超时而导致地调试中断,可以适当的延长请求的超时时间,修改hbase-site.xml文件中的zookeeper.session.timeout和hbase.zookeeper.property.tickTime的参数值,其中,timeout应该取2-20倍tickTime之间的值。生产环境上...

2019-10-31 19:41:15

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。