自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Clickhouse中的预聚合引擎

作者: LemonNan原文地址: https://mp.weixin.qq.com/s/qXlmGTr4C1NjodXeM4V9pA注: 转载需注明作者及原文地址介绍本文将介绍 Clickhouse 中的 SummingMergeTree 以及 AggregatingMergeTree 预聚合引擎,它们均继承自 MergeTree ,属于 MergeTree 引擎家族,关于 MergeTree 还没有看过的朋友可以先看一下之前的文章:[MergeTree 索引原理],这里就只讨论这两个引擎的使.

2022-03-16 12:32:18 1557

原创 Clickhouse 监控之 Prometheus + Grafana

介绍监控原理:clickhouse 监控的原理为 Clickhouse 本身的一些系统指标会存入它自己的 system.events 和 system.metrics 表中,所以在做监控的时候,只需要把这两个表的数据通过接口暴露出去即可。本文将基于此介绍如何 轻松搭建 Clickhouse + Prometheus + Grafana 的监控友情提醒:本篇组件均使用 docker 进行部署先来几张效果图:操作流程修改 Clickhouse 配置将 clickhouse 本身的配置从容器内

2022-03-11 13:02:34 2442

原创 Clickhouse 与 Kafka 的数据同步

如何将 Kafka 数据同步至 Clickhouse

2022-03-08 22:21:50 2960 2

原创 Clickhouse MergeTree索引原理

Clickhouse MergeTree 索引结构,读写原理

2022-02-26 20:38:45 640

原创 Clickhouse 入门实战

介绍ClickHouse 是俄罗斯的 Yandex 于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP)。下面简单介绍行式存储和列式存储的区别:行式数据库列式数据库列式数据库由于相同指标会存到一起, 所以可以很方便的针对 多条数据的相同指标 进行统计、分析, 而行式数据库由于基于行的存储, 需要将该行的数据都取出 ,再取出所需要的指标, 就会导致多取了很多不必要的指标, 可见行式存储的分析性能没有列式存储高.安装本文都..

2022-02-19 18:53:20 1495

原创 Netty源码分析-服务端启动流程

作者: LemonNan原文地址: https://juejin.im/post/6890768117803253768/前言距离上一次写 Netty 源码解析已经过去了一年多时间了, 最近这段时间回顾 Netty 的源码,目前看的版本是 4.1.31, 跟最开始看的版本不太一样, 没记错应该是4.1.16(吧), 不过这并不妨碍我们阅读源码, 小版本的源码在主流程上的差别不会太大. 这次分析的源码是用 Netty 启动一个服务端的过程.流程说明从 Netty 官方给的 demo 中入手, 下.

2020-11-03 13:45:19 339

原创 初探JVM字节码

作者: LemonNan原文地址: https://juejin.im/post/6885658003811827725代码地址: https://github.com/LemonLmNan/ByteCode字节码概述本篇要介绍的是能 "一次编译,到处运行的 JVM 字节码"为什么能到处运行?是因为在 任意平台下所编译出来的 class文件都遵循相同的字节码规范, 运行期间 不同平台的 JVM 解析相同的 class文件 能解析出特定于该平台的机器码以供使用.本文大致介绍1.字节码文.

2020-10-20 19:24:18 213

原创 Kubernetes系列(五) Ingress

作者: LemonNan原文地址: https://juejin.im/post/6878269825639317517Kubernetes 系列Kubernetes系列(一) PodKubernetes系列(二) ServiceKubernetes系列(三) DeploymentKubernetes系列(四) StatefulSetIngress在 Service 篇介绍的是基于4层网络进行的负载均衡, 四层网络转发不够灵活, 无法根据接口路径相关的信息进行路由转发, so, 今.

2020-09-30 21:33:49 1337

原创 Kubernetes系列(四)StatefulSet

作者: LemonNan原文地址: https://juejin.im/post/6870071267438329869StatefulSet前言前几篇讲解的都是关于无状态的应用, 今天这篇介绍 Kubernetes 中的另一种应用, 有状态应用, 而 有状态的应用是由 StatefulSet 来进行管理部署 , **StatefulSet 也是 kubernetes 中的一种资源类型, 作用类似于无状态应用的 Deployment **.操作的基础最近的文章都是基于 minikube 进行.

2020-09-08 19:07:42 1436 1

原创 Netty使用及事件传递

本文地址: https://juejin.im/post/6844903985720229902Netty 使用首先到官网看一下Netty Server 和 Client的demo, https://netty.io/wiki/user-guide-for-4.x.html, 我用的是4.1.xx,一般来说不是大版本变更, 变化不会很大.下面是 Netty Server 的demo,跟官网的是一样的.public class Main { // 下面是一个接收线程, 3个worker线程.

2020-09-03 23:01:24 900

原创 Netty异步Future源码解读

作者: LemonNan本文地址: https://juejin.im/post/6844904021887565831说在前面本文的 Netty源码使用的是 4.1.31.Final 版本,不同版本会有一些差异.JDK Future在说Netty的异步Future之前,先简单介绍一下JDK自带的Future机制.首先先上一段代码public class JDKFuture { static ExecutorService executors = new ThreadPoolEx.

2020-09-03 22:58:03 491

原创 Netty ByteBuf源码解析

作者: LemonNan原文链接: https://juejin.im/post/6844903983530655751Netty 的 ByteBuf 类型Pooled(池化)、Unpooled(非池化)Direct(直接缓冲区/堆外)、Heap(jvm堆内)unsafe(unsafe 调用的本地方法)、safe(一般也不会这么说, 这是相对于 unsafe, 指的jvm 堆内的操作)Netty 默认都会优先使用 unsafe 的实现池化/非池化(Pooled/Unpo.

2020-08-31 00:22:20 1453

原创 Kubernetes系列(三) Deployment

作者: LemonNan原文地址: https://juejin.im/post/6865672466939150349/Deployment上一篇我们说到如果只是单单的创建 Pod 和 Service 并且将它们关联, 是无法做到宕机自动重新部署, 没错, 这就是这篇要介绍的 Deployment, 不仅能实现 自动维持可用 Pod 数量, 还能实现 水平扩容、灰度发布、不停服更新 等许多重要的线上功能.操作的基础最近的文章都是基于 minikube 进行的操作, 所以时不时的需要进入到 .

2020-08-27 22:38:28 1130

原创 Kubernetes系列(二) Service

ServiceKubernetes 的 Service 可以为一组具有相同功能的容器应用(Pod)提供一个统一的入口地址, 然后将请求负载的分发到后端的各个容器组(Pod)上, 本篇将对 Kubernetes 的 Service 的使用做个简单介绍.操作的基础最近的文章都是基于 minikube 进行的操作, 所以时不时的需要进入到 minikube 里面进行一些操作的验证, 所以把进入 minikube 的操作记录在这.# minikube 默认用户名:docker 密码:tcuser , 我的地

2020-08-22 15:29:01 415

原创 Kubernetes 系列(一)Pod

简单介绍Pod 在 kubernetes 中是一个非常重要的基本概念, 别名容器组, 它是 Kubernetes 调度的最小单位.每个Pod 都有一个被称为 “根容器” 的 Pause 容器, Pause 容器对应的镜像属于 Kubernetes 平台的一部分, 除了这个 Pause 容器, Pod 中还有一个或者或多个用户的业务容器.Pod 是一个逻辑概念, 使用 Pod 有以下好处:Pod 整体状态: Pause 容器的状态作为整体的 Pod 的状态, Pause 容器跟业务无关并且不易死亡

2020-08-20 00:43:46 481

原创 select、poll、信号驱动、epoll 学习笔记

select、poll、信号驱动、epoll 学习笔记select函数&结构int select(int maxfdpl, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);参数说明maxfdpl : 最大文件描述符号+1, 他的值必须设为比 三个文件描述符集中 所包含的 最大文件描述符大1. 实际上是要检查的文件描述符数量, 数组下标从0开始. 有了这个值, 就不用检查所有的描

2020-08-18 08:37:05 674

原创 Zookeeper 分布式锁

基于Zookeeper的分布式锁(干干干货)原文地址: https://juejin.im/post/5df883d96fb9a0163514d97f介绍为什么使用锁锁的出现是为了解决资源争用问题,在单进程环境下的资源争夺可以使用 JDK里的锁实现.为什么使用分布式锁?顾名思义,分布式锁是为了分布式环境下的资源争用问题.Zookeeper是如何实现分布式锁的?基于Zookeeper的分布式锁都是依赖于zk节点路径唯一的机制来实现的.什么意思呢?就是在zk中,在分布式锁的场景下 对于

2020-08-18 08:31:27 114

原创 磁盘I/O那点事

作者: LemonNan原文地址: https://juejin.im/post/5ed992f7f265da76bb013e72介绍磁盘是用于保存大量数据的存储设备, 虽然存储的数据量是 RAM 的很多倍, 但是从磁盘读取信息的延迟为毫秒级, 比DRAM(一般是主存) 的读慢了十万倍, 比从 SRAM(CPU高速缓存存储器) 读慢了100万倍. 本文将对磁盘做一个简单的介绍.主要结构下面是机械硬盘的一个大致的结构图主轴、盘片、传动臂、读写头、磁道/扇区每个磁盘中间都有一根 以固定速率旋.

2020-08-18 08:25:08 727

空空如也

空空如也

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

TA关注的人

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