了解代码中的内存占用

7 月 14 日
阅读 10 分钟
96
如果并发量很高,临时对象创建的很多,总体的内存占用量瞬间就上去了。虽然每次请求完成后对象的引用关系解除了,对象内存会在Jvm的下一次GC中被释放掉。但如果一直并发度高,整体来看内存占用量不会因为GC而减少。

学会使用BitSet

6 月 23 日
阅读 12 分钟
421
java.util.BitSet 是一个高效的位数组,用于管理和操作二进制标志位。它不仅在空间上非常节省,而且在处理一系列布尔值时非常高效。下面详细介绍 BitSet 的实现原理和使用方法。

RocksDB介绍

6 月 16 日
阅读 10 分钟
526
1. 诞生RocksDB 是一个高性能的键值存储引擎,由 Facebook 开发并开源,起源于 Google 的 LevelDB。发展历程2012 年:Facebook 开始在 LevelDB 的基础上开发 RocksDB。2013 年:RocksDB 首次开源,成为 GitHub 上的一个项目。持续改进:自开源以来,RocksDB 得到了社区的广泛关注和贡献,Facebook 也持续改进和优化 Rock...

Etcd常用场景

6 月 10 日
阅读 14 分钟
450
Etcd 可以用来注册和发现分布式系统中的服务。服务实例在启动时将其信息注册到 Etcd 中,其他服务可以查询 Etcd 获取可用的服务实例列表。

Etcd基本使用

6 月 10 日
阅读 17 分钟
490
etcd 提供了强一致性(Strong Consistency)。所有写操作都必须通过当前的领导者节点(Leader),并在多数追随者节点(Followers)确认后才会被提交。

Etcd的诞生与设计

6 月 8 日
阅读 2 分钟
375
Etcd 是一个分布式的、高可用的键值存储系统,主要用作服务发现和配置共享。它是开源的,由 CoreOS 公司(现在已被 Red Hat 收购)开发,并且是 Kubernetes 等现代分布式系统的基石之一。

Redis pipeline使用

6 月 2 日
阅读 5 分钟
450
Redis Pipeline 是一种可以显著提高 Redis 操作性能的技术,特别在需要进行大量命令的情景下。它允许客户端在不等待服务器响应的情况下,连续发送多条命令,从而减少网络往返次数。

Raft协议及ZAB协议

5 月 5 日
阅读 5 分钟
184
Raft 协议是一个为分布式系统提供强一致性的一种共识算法,它是为了替代复杂难懂的 Paxos 算法而生的。使用 Raft 协议的 etcd,可以确保集群状态的强一致性。这对于分布式系统来说是至关重要的,例如在 Kubernetes 这样的系统中,etcd 被用作保存集群的状态,强一致性能确保所有节点看到的状态都是一致的。

Netty开发及粘包解决

2 月 15 日
阅读 18 分钟
702
1. Netty介绍Netty是一款开源的Java网络编程框架,广泛应用于很多高流量的服务器端应用程序:异步和事件驱动:Netty基于NIO(非阻塞I/O)构建,操作都是异步回调来触发事件,如连接建立、数据到达等。高性能:Netty的一大优点就是高性能。它的设计能够让你最大限度地利用现代的多核硬件。灵活的协议支持:Netty支持各种...

StarRocks Bitmap、HLL去重

2 月 15 日
阅读 5 分钟
882
作为OLAP数据库,StarRocks 诞生之初的核心使用场景就是统计报表,避免不了有统计去重的需求。以如来的业务需求举例,在统计命中某个标签的人数时,显然是需要基于用户ID去重的。 海量数据的去重,是不能使用传统的 count distinct 方式的,例如下图2个BE节点上的数据,就需要进行多次运算。StarRocks 提供两种高效的去...

StarRocks 介绍

2 月 15 日
阅读 4 分钟
1.1k
在使用 StarRocks 之前,短暂的先学习了解过 ClickHouse。ClickHouse 的起源和 StarRocks 有很多相似性。

StarRocks 建表与索引

1 月 1 日
阅读 13 分钟
1.1k
明细模型并不会对数据做任何处理,DUPLICATE KEY 只用于定义排序键,相同 DUPLICATE KEY 的记录会同时存在。 所以推荐用来存储原始的日志明细数据。