简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
1、top下对当前服务器内存有个大致了解top后 shift+M按照内存占用由大到小排序,RES是此进程实际占用内存,%MEM是占服务器总内存的49.8。2、利用ps命令查看服务pid[root@speedyao java]# ps -aux|grep java3、利用jstat查看虚拟机堆内存情况和gc情况jstat -gc:util<vmid> [&...
全局唯一的 ID 几乎是所有系统都会遇到的刚需。这个 id 在搜索, 存储数据, 加快检索速度 等等很多方面都有着重要的意义。工业上有多种策略来获取这个全局唯一的id,针对常见的几种场景,我在这里进行简单的总结和对比。多种ID生成方式1. UUID算法的核心思想是结合机器的网卡、当地时间、一个随记数来生成UUID。优点:本地生成,性能好,没有高可用风险;缺点:长度过长,且无序...
随着现在分布式架构越来越盛行,在很多场景下需要使用到分布式锁。分布式锁的实现有很多种,比如基于数据库、 zookeeper 等,本文主要介绍使用 Redis 做分布式锁的方式,并封装成spring boot starter,方便使用一. Redis 分布式锁的实现以及存在的问题锁是针对某个资源,保证其访问的互斥性,在实际使用当中,这个资源一般是一个字符串。使用 Redis 实现锁,主要是将...
kafka消费的耗时太久导致触发rebalance然后导致重复消费问题
一、写在前面本文基于比较常用的Curator这个开源框架,聊一下这个框架对ZooKeeper(以下简称zk)分布式锁的实现。一般除了大公司是自行封装分布式锁框架之外,建议大家用这些开源框架封装好的分布式锁实现,这是一个比较快捷省事儿的方式。二、ZooKeeper分布式锁机制接下来我们一起来看看,多客户端获取及释放zk分布式锁的整个流程及背后的原理。首先大家看看下面的图,如果现在...
git rebase相对来说是比较复杂的一个命令了,但只要掌握了使用方式,你会深深地喜欢上他,如果有时间我也许会细细地讲一下,现将git rebase的正确使用步骤总结如下:git rebase过程相比较git merge合并整合得到的结果没有任何区别,但是通过git rebase衍合能产生一个更为整洁的提交历史。Git 操作假设Git目前只有一个分支master。开发人员的工作流程是...
Sharding-JDBC简介Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框架,实现透明化数据库分库分表访问。Sharding-JDBC是继dubbox和elastic-job之后,ddframe系列开源的第3个项目。实现原理前文已介绍了Sharding-JDBC是实现了JDBC协议的jar文件。基于JDBC协议的实...
kafka的每个topic都可以创建多个partition,partition的数量无上限,并不会像replica一样受限于broker的数量,因此partition的数量可以随心所欲的设置。那确定partition的数量就需要思考一些权衡因素。越多的partition可以提供更高的吞吐量在kafka中,单个partition是kafka并行操作的最小单元。每个partition可以独立接收推送的