GO
文章平均质量分 78
MatrixYg
暂无
展开
-
prometheus-简介
前言这是一个介绍prometheus系列的文章,主要的参考资料是prometheus的官方文档。本章首先介绍基本的概念。Prometheus 是什么?prometheus是一个开源的监控系统和报警工具集合(翻译自官方文档)。主要有以下特点:支持多维度的时序数据PromQL:一个灵活的查询语言不依赖分布式存储,单个节点也能工作一种pull 模型来收集metrics通过gateway来支持push模型收集metrics支持对目标的静态配置和服务发现支持多种可视化工具可能这些描述不是那么原创 2022-05-15 17:04:43 · 832 阅读 · 0 评论 -
Influxdb源码分析-TSM Engine WAL
TSM Engine WAL 部分原创 2022-05-03 19:23:42 · 1059 阅读 · 3 评论 -
Influxdb源码分析-Shard和TSM Engine Cache
Influxdb Shard结构和Shard Cache分析原创 2022-05-03 18:05:01 · 917 阅读 · 1 评论 -
Influxdb源码解析-Store
influxdb 存储查询的抽象:store结构简介原创 2022-05-03 16:08:29 · 808 阅读 · 0 评论 -
influxdb源码解析-tsi index
tsi index原创 2022-05-03 11:34:37 · 1022 阅读 · 2 评论 -
influxdb源码解析-Inmem Index
前言 这是一个分析inlfuxdb源码的系列。在上一章分析了series 模块。对于series,influxdb提供了series file来作为series 逻辑的统一封装。series 作为influxdb 里面的一个重要模块,被很多其他模块依赖。本章内容分析的是influxdb 的index模块。influxdb安装和使用influxdb概念详解1influxdb概念详解2influxdb源码编译influxdb启动分析influxdb源码分析-meta部分infludb源码分析原创 2022-04-30 23:39:13 · 1447 阅读 · 0 评论 -
influxdb源码解析-series
influxdb series 模块介绍原创 2022-04-23 23:44:21 · 1838 阅读 · 1 评论 -
influxdb源码解析-数据写入细节
前言 ~~ 这是一个分析inlfuxdb源码的系列。在此之前,已经分析了数据的基本模型,以及写入流程。在上一章数据写入部分,我们分析的是数据写入的基本流程,怎么从一个http的请求解析数据,然后计算shardgroup,shard等元数据信息,最后写入到具体的shard上。这一章分析数据写入的细节。influxdb安装和使用influxdb概念详解1influxdb概念详解2influxdb源码编译influxdb启动分析influxdb源码分析-原创 2022-04-23 15:35:18 · 1370 阅读 · 1 评论 -
influxdb源码解析-数据写入
influxdb 数据写入详解原创 2022-04-18 23:16:53 · 1042 阅读 · 0 评论 -
influxdb源码解析-meta部分
~~ 在前面几章,介绍了influxdb的基本概念,经常的用法,以及怎么编译源码,以及服务启动部分。influxdb概念详解1influxdb安装和使用influxdb概念详解2influxdb源码编译influxdb启动分析老规矩还是回顾一下influxdb的基本存储模型:可以看到meta,data,wal是几个比较重要的模块。在上一章我们看到了influxdb在启动的时候,装配server模型,然后启动server。其中依赖了metaCli原创 2022-04-17 16:31:23 · 878 阅读 · 0 评论 -
influxdb源码解析-服务启动
前言 ~~ 在前面几章,介绍了influxdb的基本概念,经常的用法,以及怎么编译源码。influxdb概念详解1influxdb安装和使用influxdb概念详解2influxdb源码编译本章就开始源码的分析。分析之前,还是回顾一下influxdb的基本结构,从存储的角度来看,可以这样分:rp代表retentionpolicy。服务启动在cmd/influxd/main.go中,main函数:func main() { rand.Se原创 2022-04-16 17:16:23 · 1556 阅读 · 1 评论 -
Go项目报错:xx not in GOROOt
执行go mod tidy 报错解决方案根本原因是sdk里面没有这个东西,升级一下就好了。可以直接升级到最新版:16.即可解决原创 2021-07-19 11:00:15 · 231 阅读 · 0 评论 -
Go语言基础教程-数据传递和指针
Go语言基础教程学习链接学习入口原创 2021-07-18 21:35:35 · 164 阅读 · 0 评论 -
什么2022了你还不会Go?快来学!
Go语言基础教程![学习链接面向零基础人群。来了包学会,后续会逐步更新到CSDN,目前在微信公众号上更新!速来学习:Go语言基础教程原创 2021-07-17 21:37:07 · 147 阅读 · 0 评论 -
InfluxDB-Influx安装和使用
时序数据库首先简单介绍一下时序数据库的概念,时序数据库就是按照时间顺序存储的数据的数据库。在这个数据库里,时间是一个主要维度,存储的数据大多都是按照时间变化而变化的数据。目前开源的有很多,本次先介绍一下InfluxDb。InfluxDB的安装其实InfluxDB更倾向于运行在Linux服务器上,这个东西很像一个比较比较简易的KV存储器。下载连接下载解压之后,直接双击Influx.exe 即可启动,启动成功以后可以看到:这是服务端日志页面。然后另外开一个窗口,作为客户端连接:执行influx.e原创 2021-03-25 17:48:44 · 2499 阅读 · 1 评论 -
Go-Gin参数绑定
Gin参数绑定在web层,对于前端传参后端如何解析是一个比较重要的问题。对于Http协议来讲,网络请求有很多方法:GET,POST,DELETE,PUT。。。那么参数绑定怎做呢?回忆杀首先回忆一下Java怎么解析参数古老的Servlet相信很多人都是写过Servlet的,其实Servlet使用的是最原始的也是最强有力的工具:Request对象。对于当前一次会话,都会有一个Request对象,这个对象有点类似于上下文:例如我们这样获取参数。spring MVC在Servlet的基础上,Sp原创 2021-03-25 13:43:38 · 1315 阅读 · 0 评论 -
Go-Gin安装
Gin 简介Gin是Go语言的一个Web框架,非常的简便灵活。Gin安装这里我们采用GMod的形式管理包,首先配置一下代理:这个两个环境变量,在Linux直接写道.bash_profile里面,在Windows直接找到环境变量里面写进去。然后在当前项目里面init配置:go mod initgo get github.com/gin-gonic/gin如果记得配置GoPath 很多人写了好久的代码都不知道GoPATH是干啥的,说一下我的理解。其实这个地方有点类似于Mvn Repository原创 2021-03-24 15:17:25 · 560 阅读 · 0 评论 -
Go的中间件
中间件中间件这个东西其实指的很多,比如消息队列。可以说但凡是在业务逻辑之前的,都可以被说是中间件。比如鉴权,日志这些。go语言里面对中间件的使用比较有意思。先看一个简单的逻辑:一个简单的http请求package mainimport ( "log" "net/http")func hello(wr http.ResponseWriter,r *http.Request){ ...原创 2020-05-02 01:26:32 · 2372 阅读 · 0 评论 -
【Redis 的持久化】
内存数据库Redis是内存数据库,所以当机器停了之后,在内存的数据就会消失。其实这对redis来说没有什么影响,因为它的主要作用就是做缓存,缓存的特点就是这样,开始启动是空的,断电之后还是空的。缓存预热:基于redis的这种特点,所以会有一些问题,首先就是启动问题,如果系统刚启动就有大量的查询到来,那么这个时候肯定是缓存穿透的,因为缓存没有数据。那么查询就打到了后台DB上,比如MySQL。这时...原创 2020-01-19 17:58:07 · 182 阅读 · 0 评论 -
【Redis配置文件】
Redis配置文件redis.conf 是redis的配置文件,首先需要注意的是,一般我们都会把这个文件做一份拷贝,然后定制化的修改这个copy文件来调整redis的参数。所以,一定保证你有一份原文件。(1)在第43-44行,有一个loadmodule参数,这个其实是redis新特性,redis4.0以后,允许自己定制化开发一些redis的module,来拓展redis的功能。这个最常用的...原创 2020-01-14 20:59:01 · 236 阅读 · 0 评论 -
【布隆过滤器的使用】
Bloomfilter布隆过滤器是一种快速检索当前词汇是不是在字典中的一种数据结构。其实就是一个二很长的的二进制向量图片来源:https://juejin.im/post/5cfd060ee51d4556f76e8067。用处一般是Redis的缓冲层,数据查询到来时,首先通过该过滤器过滤,用来最大程度的减轻Redis缓存穿透。使用Go语言实现先随便找个位置,建一个文件夹。进入该文件夹...原创 2020-01-14 20:27:10 · 238 阅读 · 0 评论