自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赶路人儿

改变世界的是这么一群人,他们寻找梦想中的乐园,当发现找不到时,就亲手创造了她...

  • 博客(11)
  • 资源 (57)
  • 收藏
  • 关注

转载 什么是幂等?分布式锁如何实现业务幂等?

1|0前言现如今很多系统都会基于分布式或微服务思想完成对系统的架构设计。那么在这一个系统中,就会存在若干个微服务,而且服务间也会产生相互通信调用。那么既然产生了服务调用,就必然会存在服务调用延迟或失败的问题。当出现这种问题,服务端会进行重试等操作或客户端有可能会进行多次点击提交。如果这样请求多次的话,那最终处理的数据结果就一定要保证统一,如支付场景。此时就需要通过保证业务幂等性方案来完成。2|0什么是幂等​ 幂等本身是一个数学概念。即 f(n) = 1^n ,无论n为多少,f(n)的值永远为1。

2021-10-23 21:07:51 1134

转载 fread,fwrite数据写入磁盘的流程

1、fwrite,fflushfread,fwrite>> CLib buffer内存缓冲(用户空间) -->fflush>>page cache内核缓冲--->fsync>>磁盘fflush:标准I/O函数(如:fread,fwrite)会在内存建立缓冲,该函数刷新内存缓冲,将内容写入内核缓冲,要想将其写入磁盘,还需要调用fsync。(先调用fflush后调用fsync,否则不起作用)。https://blog.csdn.net/lhb0709.

2021-10-23 19:49:11 1251

转载 SpringBoot 整合 Spring Kafka,消息重试和死信队列的应用

前言kafka是一个消息队列产品,基于Topic partitions的设计,能达到非常高的消息发送处理性能。Spring创建了一个项目Spring-kafka,封装了Apache 的Kafka-client,用于在Spring项目里快速集成kafka。除了简单的收发消息外,Spring-kafka还提供了很多高级功能,下面我们就来一一探秘这些用法。项目地址:https://github.com/spring-projects/spring-kafka简单集成引入依赖<depen

2021-10-23 19:03:12 6983 1

转载 Java多线程系列之wait

前言我们知道让线程阻塞除了可以调用sleep方法,join方法还有wait方法,前两个是属于Tread的方法,而wait是属于Object的方法,今天就来聊一聊wait的用法。先看一看wait的三个重载方法public final void wait() throws InterruptedException public final void wait(long timeout) throws InterruptedException public final void wait(long

2021-10-23 12:50:02 2661

转载 JavaScript 运行机制详解:再谈Event Loop

一年前,我写了一篇《什么是 Event Loop?》,谈了我对Event Loop的理解。上个月,我偶然看到了Philip Roberts的演讲《Help, I'm stuck in an event-loop》。这才尴尬地发现,自己的理解是错的。我决定重写这个题目,详细、完整、正确地描述JavaScript引擎的内部运行机制。下面就是我的重写。进入正文之前,插播一条消息。我的新书《ECMAScript 6入门》出版了(版权页,内页1,内页2),铜版纸全彩印刷,非常精美,还附有索引(当然价格也比同类

2021-10-18 10:39:20 167

原创 Kafka重复消费场景及解决方案

Kafka消费者以消费者组(Consumer Group)的形式消费一个topic,发布到topic中的每个记录将传递到每个订阅消费者者组中的一个消费者实例。Consumer Group 之间彼此独立,互不影响,它们能够订阅相同的一组主题而互不干涉。生产环境中消费者在消费消息的时候若不考虑消费者的相关特性可能会出现重复消费的问题。在讨论重复消费之前,首先来看一下kafka中跟消费者有关的几个重要配置参数。enable.auto.commit:默认值true,表示消费者会周期性自动提交消.

2021-10-11 22:19:47 2442

原创 mysql主从复制

1、默认主从复制Mysql的复制原理大致如下:主库记录binlog日志:在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志binlog中。主库上的sync_binlog参数控制binlog日志刷新到磁盘。 从库IO线程将主库的binlog日志复制到其本地的中继日志relay log中:从库会启动一个IO线程,IO线程会跟主库建立连接,然后主库会启动一个特殊的二进制转储线程(binlog dump),二进制转储线程会读取主库上binlog中的事件,它不会一直对事件进行轮询,当它追

2021-10-11 14:42:29 229

转载 分布式系统互斥性与幂等性问题的分析与解决

随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问、海量数据处理的场景也越来越多。如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。为了解决这一系列问题,系统架构也在不断演进。传统的集中式系统已经逐渐无法满足要求,分布式系统被使用在更多的场景中。分布式系统由独立的服务器通过网络松散耦合组成。在这个系统中每个服务器都是一台独立的主机,服务器之间通过内部网络连接。分布式系统有以下几个特点:可扩展性:可通过横向水平扩展提高系统的性能和吞吐量。 高可靠性

2021-10-10 19:10:05 211 1

原创 guava-retry介绍

guava-retrying是Google Guava库的一个扩展包,可以为任意函数调用创建可配置的重试机制。该扩展包比较简单,大约包含了10个方法和类,官网:GitHub - rholder/guava-retrying: This is a small extension to Google's Guava library to allow for the creation of configurable retrying strategies for an arbitrary function cal

2021-10-10 18:03:32 4193

转载 Linux 文件预读

Linux文件预读算法磁盘I/O性能的发展远远滞后于CPU和内存,因而成为现代计算机系统的一个主要瓶颈。预读可以有效的减少磁盘的寻道次数和应用程序的I/O等待时间,是改进磁盘读I/O性能的重要优化手段之一。本文作者是中国科学技术大学自动化系的博士生,他在1998年开始学习Linux,为了优化服务器的性能,他开始尝试改进Linux kernel,并最终重写了内核的文件预读部分,这些改进被收录到Linux Kernel 2.6.23及其后续版本中。从寄存器、L1/L2高速缓存、内存、闪存,到磁盘/光盘/磁带

2021-10-08 19:18:46 519

转载 Linux内核Page Cache和Buffer Cache关系及演化历史

在我们进行数据持久化,对文件内容进行落盘处理时,我们时常会使用fsync操作,该操作会将文件关联的脏页(dirty page)数据(实际文件内容及元数据信息)一同写回磁盘。这里提到的脏页(dirty page)即为页缓存(page cache)。块缓存(buffer cache),则是内核为了加速对底层存储介质的访问速度,而构建的一层缓存。他缓存部分磁盘数据,当有磁盘读取请求时,会首先查看块缓存中是否有对应的数据,如果有的话,则直接将对应数据返回,从而减少对磁盘的访问。两层缓存各有自己的缓存目标,我

2021-10-08 13:27:24 208

jdt.astview-1.4

eclipse的astview插件

2023-12-18

macOS eclipse Launcher

在windoes平台上,双击桌面eclipse的图标就可以启动多个eclipse示例,打开不同的workspace进行开发。在mac上,eclipse默认只能打开一个workspace,通过该插件支持在eclipse界面上打开多个workspace

2023-12-18

nmon analyser

nmon可以采集服务器 cpu 内存等指标,通过nmon analyser来分析采集指标,生成直观的直方图。

2022-01-26

parquet-tools-1.6.0rc3.zip

parquet-tools-1.6.0rc3-SNAPSHOT.jar是一个查看parquet数据文件schema的工具,github地址:https://github.com/apache/parquet-mr/tree/master/parquet-tools?spm=5176.doc52798.2.6.H3s2kL 下载后mvn编译。附件是编译好的文件。

2020-07-24

jQuery-Plugin-For-Easily-Readable-JSON-Data-Viewer.zip

一个格式化json的jquery插件。支持折叠、打开,而且在折叠后可以看到下面有多少个子节点。有源码、示例。

2019-12-31

yesmeck-jquery-jsonview-v1.2.3-14-g01b1eb8.zip

一款格式化json的jquery插件。该插件支持展开、折叠等操作api。唯一不足的是折叠后不显示元素个数。

2019-12-30

cmake-3.8.1.zip

linux上cmake工具库——用于构建各种c++代码的一个工具。

2019-08-24

gflags-2.2.0.zip

linux上C++的gflags库。gflags是google开发的命令行工具库。

2019-08-24

glog-0.3.5.zip

linux环境下C++的一个日志类库,出品自google。类似于java的log4j、slf4j

2019-08-24

protobuf-3.6.0.tar.gz

在linux上安装protobuf3的安装包,下载后解压、编译、安装即可。

2019-08-20

ModelGoon-4.4.1-site

ModelGoon是一款eclipse的uml作图插件,可以生成类图等。

2019-04-13

mermaid-demo

mermaid是一款开源的画流程图、时序图、甘特度的工具,提供了命令行和html两种使用方法。本例是在html中使用mermaid画出各种图的例子。

2018-10-30

graphite-soft

压缩包中包含了在linux上安装graphite软件需要的一些依赖包。

2018-09-18

btrace1.3.11

btrace1.3.11,用来动态跟踪线上java代码的隐藏bug、OOM、GC等问题。

2018-05-03

linux解析json工具——jq

linux下解析json数据的一个工具包。是一个可执行文件,下载后放到某个目录中就可直接使用。详见:https://www.ibm.com/developerworks/cn/linux/1612_chengg_jq/index.html

2017-09-16

gcviewer-1.35-SNAPSHOT

gcviewer是一款不错的可视化gc查看工具,但官网上现在的只支持jdk1.4版本,这个是版本是支持1.4以上的。

2017-05-31

GCLogViewer-0.3-win64.zip

GCLogViewer是一款可视化的gc查看工具,官网下载无法运行在64位的jdk上。这个版本是兼容jdk64的。

2017-05-31

node-zk-browser-master

一个基于nodejs的zookeeper可视化软件包。内部已经安装好了nodejs所需要的各种依赖,直接解压就可以使用。

2017-01-23

perfMon插件

jmeter的插件管理,perfMon插件相关的jar包(server agent、collection)

2016-10-12

zookeeper ui

使用java语言开发了一个本地ui(swing),可以对zookeeper集群上的节点做增、删、改、查操作。

2016-06-20

CodeFolding

CodeFolding,eclipse的一个插件,支持代码折叠

2016-04-05

maven2eclipse 图形pom编辑插件

maven2eclipsec图形pom编辑插件

2016-03-28

js表格拖拽

使用纯js完成了table(表格)列的拖拽;同时支持列位置的调整。

2015-12-31

tomcat7+jedis+common_pool

tomcat7下,将session保存到redis中,需要用到的jar包。

2015-12-11

Quartz1.7 动态添加、修改和删除定时任务(非spring集成版)

Quartz1.7 动态添加、修改和删除定时任务(非spring集成版)

2015-06-21

dbforge studio

dbforge studio

2015-04-21

jquery定时界面

大家都知道linux的conrtab,在web开发中,我们有时候也要实现类似的功能,该文件就是jQuery是实现的crontab。

2015-03-29

jquery 全屏显示插件

jquery 全屏显示插件,实现网页的全屏显示。适用各种不同的浏览器,包括FF 10, Chrome 和 Safari。它用于为用户提供了一个更容易阅读的网页版本,可缩放和元素。

2015-03-20

小图标素材

312个16×16的精美小图标素材,涵盖了大部分功能用到的小图标,非常不错。

2015-03-16

dbforgemysql

dbforgemysql是一款调试mysql 存储过程、函数的工具,使用它可以单步、断点调试mysql存储过程。

2015-03-11

jquery 下拉左右选择控件

基于jquery 实现的下拉框左右选择控件 支持多选 按住ctrl shit多选

2015-02-27

自定义树表格

基于jquery开发的可以分页的输表格。参照网址http://blog.sina.com.cn/s/blog_3efe6ef10100fcv2.html

2015-02-11

eclipse插件-jad

eclipse的插件——jad.zip,可以通过简单的配置,实现反编译class,获得源码

2015-02-05

jquery.radio.js

jquery的easyUI框架,单选按钮插件封装

2015-01-20

easyUI后台demo

easyUI后台demo 是一个使用easyui框架搭建的一个后台管理系统的界面。

2015-01-19

easyUIdemo(疯狂的秀才)

easyUIdemo(疯狂的秀才)是一个使用easyui框架搭建的一个后台管理界面。

2015-01-19

easyUI-api文档

easyUI框架-api中文文档,包含easyUI框架包。

2015-01-04

SQLyog_Enterprise

连接mysql的客户端,SQLyog_Enterprise。带验证码

2014-11-17

eclipse-maven3-plugin

eclipse-maven3-plugin:eclipse的maven离线插件包

2014-10-23

apache-maven-3.2.3-bin

apache-maven-3.2.3-bin:eclipse中离线安装maven的工具包,把它直接拷贝到eclipse的安装路径下,配置好maven.link等信息后,就可以安装好了。

2014-10-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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