March 24, 2020

Maven依赖问题

在pom.xml文件的目录下使用mvn dependency:tree命令可以查看jar包的传递依赖。

使用-Dverbose 参数可以列出更详细的信息。 咋着某项依赖关系

mvn -Dverbose dependency:tree |grep 'netty' -C 5

注意在修改了pom文件后,限制性mvn clean package 再执行mvn dependency.不然你要么得到老的结果,要么没有结果.

March 19, 2020

分布式事务-初识

两阶段提交

https://cloud.tencent.com/developer/article/1334942

https://segmentfault.com/a/1190000012534071#item-2

seata框架介绍

git demo

设计原理

https://juejin.im/post/5d2616256fb9a07eef6a3619

三种模式分别介绍

https://juejin.im/post/5d54effe6fb9a06aeb10b646

seata-ta模式

https://juejin.im/post/5da4a231e51d......

December 20, 2019

Java集合之LinkedHashMap实现LRU,LFU,FIFO算法

LinkedHashMap=双向链表+HashMap,存储相比HashMap会多了一个前节点,后节点.

LinkedHashMap简介

LinkedHashMap主要是通过HashMap+双向链表来实现的,主要作用目前就个人使用来看,可以主要有插入排序,访问排序.有了这两个排序就可以很简单的实现LRU,FIFO缓存算法.至于怎么用,就看个人的改造能力了.下面将会分析源码,以及用它来实现各种缓存算法.

LinkedHashMap源码分析

在jdk1.8的HashMap中多了三个方法里面什么都没做,为的就是留给LinkedHashMap去实现

void afterNodeAcces......

December 05, 2019

kafka管理命令

启动服务

1.kafka依赖于zookeeper,所以先启动zookeeper 进入到kafka目录

bin/zookeeper-server-start.sh config/zookeeper.properties

2.启动kafka

bin/kafka-server-start.sh config/server.properties

分区命令

创建topic

创建

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 2 --topic m......

December 05, 2019

Kafka分区(五)

主题和分区是Kafka的两个核心概念,生产者消费者都是在主题和分区层面做的操作.主题做为消息的归类,可以再细分为一个或多个分区,分区可以看作对消息的二次归类.

从Kafka 的底层实现来说,主题和分区都是逻辑上的概念,分区可以有一至多个副本,每个副本对应一个日志文件,每个日志文件对应一至多个日志分段(LogSegment),每个日志分段还可以细分为索引文件、日志存储文件和快照文件等。下面将从创建分区开始

Broker分区的管理

在......

December 04, 2019

Kafka零拷贝(四)

Kafka-零拷贝(四)

Kafka依赖于文件系统(磁盘)来存储和缓存信息.对于Kafka的零拷贝,我们先来了解下磁盘存储.

磁盘存储

上图可以看出各种存储介质的存取速度.

操作系统为了减少磁盘的读写速度与主存的差距,做了很多优化,比如:预读:提前讲一个比较大的磁盘块读入内存;后写:将很多小的逻辑写操作合并起来组成一个大的物理写操作技术.顺序写磁盘的速度不仅比随机写盘的速度快,而且比随机写内存的速度快.

December 03, 2019

Kafka消息的可靠性(三)

Kafka多副本之间的数据一致性?一致性协议是什么?Kafka数据的可靠性?可靠性和可用性关系?等等都是需要我们去理解的。

消息可靠性就是确保系统在各种不同的环境下能够发生一致的行为.

ACID指的就是原子性,一致性,隔离性和持久性.

Kafka做了哪些来保证这些呢?

Kafka可以保证分区消息的顺序,如果使用同一个生产者往同一个分区写入消息.那么消息是有顺序的.ABCD这样写入的,读取的时候也是ABCD读取.

只有当消息被写入分区的所有同步副本时(......

December 01, 2019

kafka深入理解及存储(二)

深入Kafka

前面介绍了Kafka的安装以及使用,现在来聊点关于Kafka的存储.

Kafka如何进行复制

Kafka如何处理生产者和消费者请求;

Kafka的存储细节,文件及格式;

集群成员

Kafka使用zookeeper来维护集群成员的信息.每个broker都有一个唯一标识符,这个标识符可以在配置文件里指定,也可以自动生成.

broker在启动的时候,通过创建临时借点把自己的id注册到zookeeper的/brokers/ids路径下,broker加入或者退出集群,都会收到通知.

如果broker的id相同,则只有一个能注册成功,另外一个注册失败,将启动报错.

bro......

December 01, 2019

Kafka生产者与消费者由浅入深(一)

Kafka是一款高效的MQ,以及流处理服务

Kafka介绍

消息: Kafka的数据单元被称为消息,可以把消息看成数据库里面的一条或一行数据.消息有字节数组成,所以对于Kafka来说,消息里面的数据没有特别格式或含义.

序列化: Kafka一般来说使用Apache Avro来序列化数据,这种序列化格式,将模式与消息体分开,当模式发生变化时,不需要重新生成代码,它还支持强类型和模式进化,以及向其前兼容也向后兼容.

主题和分区: Kafka的消息是通过主题进行分类的,一个主题就是一个队列(好比数据库的表一样),主题可以被分为若干个分区,一个分区就是一个提交日志文件.消息以追加的方式写入......

November 11, 2019

MySQL命令集

常用SQL

SQL分类:

DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)

DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)

DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)

DDL

1、 创建数据库

CREATE DATABASE database-name

2、 删除数据库

drop database dbname

3、 备份sql server

创建备份数据

USE master

EXEC sp_addumpdevice 'disk', 'testBack', 'c:ms......