自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 clickhouse最佳实践(一):clickhouse千亿级日志系统单机到集群架构演进历程

使用ClickHouse自带的系统表如system.metrics,system.events,监控查询的资源占用情况。:避免长时间运行的查询拖垮性能,比如可以限制查询的max_execution_time。:合理设计分区键(如按时间或业务逻辑),可以有效减少扫描的数据量,提高查询效率。:定期清理旧分区(如按时间分区),以减少表数据量,避免无关数据对性能的影响。:在分区读取时,控制最大可读分区数,从而避免数据量大的查询引起卡顿或过载。:对于频繁查询的聚合结果,可以使用物化视图,减少查询时间。

2024-10-31 14:05:40 1899

原创 nginx常用负载均衡策略及使用场景

根据指定的Key(例如URL、请求参数)进行哈希计算,确保特定请求始终访问同一台服务器。:适合后端服务器性能较均衡,且业务请求较简单、时间较短的情况,比如静态资源服务等。:适合处理时间较长的业务场景,比如视频转码、文件处理等,能够避免服务器负载不均。:根据客户端IP的哈希值分配请求,同一IP的请求会始终分配到同一台服务器上。:适合服务器配置不均衡的情况,可以将更多请求分配到性能更好的服务器上。:为每台服务器设置不同的权重,权重高的服务器分配的请求更多。:将请求分配到当前连接数最少的服务器上。

2024-10-31 14:04:03 311

原创 clickhouse运维篇(二):多机器手动部署ck集群

例如,所以如果只有三台机器,想部署3分片每个分片2实例的集群就需要3*2=6个 实例【遵循上面1.a中 分片数

2024-10-30 16:38:59 1411

原创 clickhouse运维篇(三):生产环境一键生成配置并快速部署ck集群

【代码】clickhouse运维篇(二):生产环境一键生成配置并快速部署ck集群。

2024-10-30 16:06:53 831

原创 shell常用语法总结【常用的判断、变量定义及有用的str操作、重定向符使用】

参数扩展(Parameter Expansion)是 Shell 脚本中非常强大的功能,可以用来操作变量的值。是一个特殊变量,用于获取上一个命令的退出状态码。这些运算符可以帮助你在 Shell 脚本中进行数值比较,从而实现不同的逻辑判断。这些是参数扩展的一些常见用法,可以帮助你在 Shell 脚本中更灵活地操作变量。是条件判断语句,用于根据条件的真假来执行不同的代码块。这个代码片段是一个Shell脚本,用于检查并创建日志目录。也就是说,如果条件为真,这是最基本的参数扩展,用于获取变量的值。

2024-10-30 15:17:03 834

原创 clickhouse运维篇(一):docker-compose 快速部署clickhouse集群

在本教程中,我们将学习如何使用 Docker Compose 部署一个带有三节点的 ClickHouse 集群,并使用 ZooKeeper 作为分布式协调服务。

2024-09-30 11:03:19 2078

原创 GitLab CI/CD脚本核心参数配置

工作中第一次用到gitlab自带的cicd, 记录一下备忘GitLab CI/CD 配置文件 () 中有许多关键字,用于定义不同的行为和阶段。

2024-09-25 17:06:31 1584

原创 K8s开发人员也需要了解的相关知识

K8s开发人员也需要了解的相关知识

2023-10-29 21:42:45 471 1

原创 vim高阶比较好用操作记录

在 Vim 中,标记可以帮助您记住文本的位置。标记是在文本中设置的位置,可以使用单个字符作为名称进行标识。在使用标记时,您可以将其用于定位文件中的重要位置,例如跳转到特定的行、函数、段落等。标记在 Vim 中非常有用,可以使您更有效地浏览和编辑文本。其中,di( 表示“删除内部括号”,即删除圆括号内的所有文本。da( 表示“删除包括括号”,即删除圆括号内的所有文本。diw: d[操作]、i[范围]、w[操作对象][c\d\y都同理,动作]

2023-02-15 23:12:40 397

原创 wrk压测工具使用

其他的内置变量:https://www.cnblogs.com/paul8339/p/6283279.html。官方示例脚本:https://github.com/wg/wrk/tree/master/scripts。以30个连接 压测5s用10个线程 ,超时设置为2s,打印耗时分布。

2022-10-20 19:02:59 1198

原创 dockerfile 的 RUN、CMD、ENTRYPOINT指令区别

Docker CMD、ENTRYPOINT、RUN指令的使用

2022-09-01 17:28:53 501

转载 aws s3 预签名 方式 分块上传

使用预签名 URL 对大文件进行分段上传 - AW数据增长的速度之快令人震惊。现在可以以每秒超过一百万个请求的频率收集原始数据。存储更快更便宜。几乎永远存储数据是正常的,即使它很少被访问。Traindex的用户可以上传大数据文件来创建语义搜索索引。本文将解释我们如何实现允许 Traindex 用户上传大文件的分段上传功能。问题及其解决方案我们希望 Traindex 的用户能够在最短的时间内通过适当的访问控制将大文件(通常为 1-2 TB)上传到 Amazon S3。在本文中,我将讨论如何设置预签名

2022-05-27 01:58:49 2771

原创 AWS S3 对象存储协议

S3 Simple Storage Service 简单存储服务S3理论上是一个全球存储区域网络 (SAN),它表现为一个超大的硬盘,您可以在其中存储和检索数字资产。但是,从技术上讲,Amazon 的架构有一些不同。您通过 S3 存储和检索的资产被称为对象。对象存储在存储段(bucket)中。您可以用硬盘进行类比:对象就像是文件,存储段就像是文件夹(或目录)。与硬盘一样,对象和存储段也可以通过统一资源标识符(Uniform Resource Identifier,URI)查找。操作:https://b

2022-05-06 15:53:34 2904

原创 Java 生成微信扫描的二维码,跳转到指定网址,图片增加二维码及文字水印

两种场景:1、图片海报中加二维码2、二维码中间加入指定图标/** * @description 二维码控制器 */@RestControllerpublic class QrcodeController { @Autowired ResourceLoader resourceLoader; /** * todo 每个用户一张二维码,里面的信息就是邀请码或者是userid * * @param userid MREAM5 *

2022-05-03 16:32:17 4245 5

原创 KMP算法通透讲解

kmp思想:如果si 与 pj相等,就i++,j++si 与 pj不相等,j回退到next[j]例: s: abaabaabeca p:abaabe 比到index[5] char e时发现 e和a不相等,只需要回退到next[5]的位置。如何求next[] 动态规划的思想,假设已经知道了回退的位置为k。 前缀为 p0 pk-1 后缀为 p(j-k) p(j-1) 都为len k。并且根据dp思想, 如果pk = pj 前缀为 p0 pk 后缀为 p(j-k) p(j) 都.

2022-04-14 00:01:45 138

原创 python正则基本用法还有常用例子

def get_length_from_i(i_url): m = re.match(".*(http(s)?://)?i\w*?\.go2yd\.com/image(?:\.php\?url=|/)([A-Za-z0-9_]{8,60}).*", i_url) if not m: m = re.match( ".*(http(s)?:\\\\?/\\\\?/)?i\w*?\.go2yd\.com\\\\?/imag

2022-04-12 16:15:30 735

原创 2022 IDEA 不编译整个工程 只编译单个Java文件

背景:工程里面其他有好多编译报错,但是我只想当前文件编译运行不受影响。1. 编译单个的Java文件2. 更改运行配置![

2022-04-10 03:26:45 9639 5

转载 G1调优常用参数及其作用

暂停时间:用-XX:MaxGCPauseMillis来指定,默认值200ms。这是一个软性目标,G1会尽量达成,如果达不成,会逐渐做自我调整。对于Young GC来说,会逐渐减少Eden区个数,减少Eden空间那么Young GC的处理时间就会相应减少;对于Mixed GC,G1会调整每次Choose Cset的比例,默认最大值是10%,当然每次选择的Cset少了,所要经历的Mixed GC的次数会相应增加。同时减少Eden的总空间时,就会更加频繁的触发Young GC,也就是会加快Mixed GC的执行.

2022-03-25 15:23:49 959

原创 Java开发常见知识[方便开发或者一些常见的坑]

BeanUtils.copyProperties(packedDTOS.get(0), docContent)Bean拷贝实体类的属性可以避免很多赋值,但是注意在dest元素有值的时候,不要覆盖。likeBOs != null && !likeBOs.isEmpty() 。List判空缩写等价于 !CollectionUtils.isEmpty(likeBOs)常识: 空指针异常在很多语言中,都是运行时异常,注意判空。要不后面测试或者上线的时候就是灾难。在哪一层判空,在Contr.

2022-03-04 03:36:18 357

原创 Arrays.asList()使用及缺陷

Arrays.asList() 返回的List是一个残疾版的ArrayList[内部的一个静态类]。不能插入和删除。 但是这个list跟原本的数组关联,是同一个引用。底层是一个定长数组。使用ArrayList包装一下List list = new ArrayList<>(Arrays.asList(1,2,3));Google Guava等工具包提供了Lists类,比如 guava的newArrayList方法。guava的其他使用https://www.cnblogs.co

2022-03-04 02:43:10 282

原创 通俗易懂解释函数式编程

所谓函数式编程,是指代码中每一块都是不可变的(immutable),都由纯函数(pure function)的形式组成。这里的纯函数,是指函数本身相互独立、互不影响,对于相同的输入,总会有相同的输出,没有任何副作用[就算传进来一个引用也不会改变这个引用,而是新创建一个返回]。map\reduce\filter\sortedmap,对列表中每一个元素按照传入函数做运算。reduce,对列表中两个元素按照传入函数做合并运算,如求1-5累加,reduce(lambda x,y:x+y, range(1,6)

2022-01-09 20:46:41 608 5

原创 一、golang原理篇---从源代码文件到可执行文件过程发生了哪些事情?

1. compile源代码【本文的go代码为1.16,更高版本的可能文件差别很大】https://github.com/golang/go,golang源代码中路径为src/cmd/compile的包即为compile的全部代码,承担了将golang从.go文件编译成为二进制可执行文件的全部过程。src/cmd/compile/main.go即为编译器程序的入口文件。func main() { // disable timestamps for reproducible output log.

2022-01-01 16:13:50 1125

原创 go get 更改密码 权限错误 git ls-remote -q origin in terminal prompts disabled

GIT_TERMINAL_PROMPT=1 go get -u github.com/aaa/aaa

2021-12-15 20:07:22 2441

原创 springboot整合 数据框架springjdbc、mybatis、jpa and druid 连接池 and http请求 httpclient、resttemplate

总目录1.数据库连接1. 原始的jdbc2. spring封装的jdbc3. orm框架:3.1 mybatis3.2 spring data jpa3.3 hibernate4.连接池:4.1 c3p0连接池4.2 druid连接池4.3 hikari连接池2. http请求1. jdk原生的client2. httpclient3. resttemplate4. feign1.数据库连接1. 原始的jdbc2. spring封装的jdbc3. orm框架:3.1 mybatis3.2 spr

2021-12-14 12:14:19 1361 4

原创 node axios发送post请求 multipart/form-data

const FormData = require('form-data');const axios = require('axios');let mydata = new FormData();mydata.append('pic', "");mydata.append('timestamp', '123');mydata.append('signature', '2233');mydata.append('extend', "1233434");axios({ method:

2021-11-24 10:26:44 2690 1

原创 sarama kafka消费问题记录

发现lag不会同步要隔很长一段时间或者量到一定才会同步。发现是没有途中那个同步偏移量的操作,然后消费的时候没有,session不知道groupid。加入这一行重新启动拉取最新的偏移量,但是其实业务里面已经消费过了。所以功能上是没有问题的。问题:为什么没有同步偏移量,消息消费的时候没有一直重复拉取旧的消息重复消费。...

2021-11-16 19:43:56 1650

转载 mongo查询总结及python调用mongo

目录1.mongo查询总览1.1 基础查询1.2 条件查询1.2.1 比较查询1.2.2 关联查询1.3 特定类型的查询1.3.1 null查询1.3.2 正则表达式1.3.3 数组查询1.3.4 内嵌文档查询1.4 $where查询1.5 游标1.5.1 limit,skip和sort1.5.2 高级查询选项1.5.3 游标内幕1.6 总结2.py查询示例1.mongo查询总览1.1 基础查询db.col.find({}, {“name”:1})1.2 条件查询1.2.1 比较查询$lt,$l

2021-10-12 11:40:02 1165

原创 docker [export\import]容器导出与从另一个机器导入为镜像并运行

(common) ➜ [/Users/admin/yidian/script-tool/dk/dockerfile-py] docker export 9d88c87a0ab0 > ./warning_kafka_py.tar (common) ➜ [/Users/admin/yidian/script-tool/dk/dockerfile-py] docker import ./warning_kafka_py.tar warn_test sha256:7b52f33ff4785f

2021-10-10 02:16:44 420

原创 nc传输文件 close: Bad file descriptor 解决

文件接收者:$ nc -l 9878 > upload-web.jarclose: Bad file descriptor$ ls -ltotal 0-rw-rw-r-- 1 worker worker 0 Oct 8 19:36 upload-web.jar$ nc -4 -l 9878 > upload-web.jar$ lsupload-web.jar文件上传者:$ nc --send-only 11.11.123.423 9878 < upload-we

2021-10-08 19:42:10 1167

原创 完美解决go语言 mac m1 适配及调试器问题 idea can not run under Rosetta

1.下载对应版本的idea、或者goland。下载名后面有aarch64这种。2.go语言1.16才开始支持arm架构,所以要升级go语言的版本至少是1.16.【但是amd64我也试过,除了调试器之外没有发现其它问题】下载地址:https://golang.org/dl/3.如果还是不行的话,试试这个https://zhuanlan.zhihu.com/p/378979277...

2021-10-08 16:34:05 3206

原创 浅入不出设计模式---1、概览

1. 设计模式分类从范围上分为两类:类[通过对象关系建立,编译时就确定下来的] (几乎所有模式都用了继承,所以类模式只指那些集中于处理类间关系的模式)对象[在运行时可以变化,更具有动态性]从使用场景分为三类:创建型[类模式将对象的部分创建工作延迟到子类,对象模式将对象的部分创建延迟到另一个对象中]、结构型[类模式使用继承组合类,对象模式描述了对象的组装方式]、行为型[类模式使用继承描述算法和控制流,对象模式描述了一组对象怎样协作完成单个对象无法完成的任务]2. 设计模式之间

2021-10-03 14:19:17 76

原创 golang go mod依赖冲突 排查

https://tonybai.com/2019/12/21/go-modules-minimal-version-selection/

2021-09-23 10:30:07 2248

原创 golang go get 报错 fatal: could not read Username for ‘: terminal prompts disabled

这个错误是因为go get默认使用的git账户密码,更改了导致仓库的包拉不下来,但是 go get不会让重新输入密码,直接报错解决方案:export GIT_TERMINAL_PROMPT=1然后再拉包就会中断了,输入账户名密码即可。...

2021-09-17 20:14:38 1814 4

原创 golang目录分层规范

博主之前是做Java的,然后转go来写应用之后,还用原来那一套mvc的思维来分级,放置源文件组织程序。然后发现很多问题。Java是用类的角度来寻找调用方法的,而Go是按照包[目录]的角度,如果和Java一样MVC,三个包下面都放置很多不同业务的不同类时,写代码[看代码]的时候就会发现一个包下面的方法过多。然后包的作用也过于混乱或者笼统。建议的方式,把MVC,相同业务的Controller、View、Model放在一个以业务命名的包里面。[总的来说,在Go里面建议像Java很多类一样,多弄一些包]..

2021-09-16 11:12:26 811

原创 sync.Pool

https://www.zhihu.com/question/455751727/answer/1847171670https://zhuanlan.zhihu.com/p/76812714

2021-09-14 11:51:53 98

原创 Java日志框架 总结 slf4j、log4j、logback

Java日志技术1.日志的概念1.1 日志文件种类调试日志系统日志2.Java日志框架2.1 为什么要使用日志框架软件复杂,设计的知识、内容、为题太多。小系统不需要使用日志框架, 使用别人的框架你就可以集中精力完成系统的业务逻辑。2.2 流行的日志框架[日志门面技术]日志门面技术,就是面向接口编程。多种日志框架无缝切换。[类似JDBC]冷门:JCL是门面技术但也提供了实现,slf4j也提供了实现但是也不用。log4j是实现技术但也提供了门面API但是一般也不用 。2.

2021-09-12 23:05:13 581

原创 leetcode练练语法-----59. 螺旋矩阵 II

func generateMatrix(n int) [][]int { ans := make([][]int, n) for i := range ans { ans[i] = make([]int, n) } // 定义各个边界 l,r,t,d := 0,n-1,0,n-1 curV := 1 // 表示当前行动到的地方 max := n*n for curV <= max{ for i:=l;i<=r;i++ { ans[t][i] = curV c

2021-09-05 21:30:39 87

原创 docker 搭建 kafka集群,基本操作,及查询lan值[消息积压][python脚本 ]

version: '3.0'services: zoo1: image: zookeeper:3.4.12 container_name: zoo1 ports: - "2181:2181" volumes: - "/Users/docker/data/zookeeper/zookeeper1/data:/data" - "/Users/docker/data/zookeeper/zookeeper1/datalog:/datalog

2021-09-02 11:41:56 349

原创 Session 0x0 for sever , Closing socket connection. Attempting reconnect except it is a SessionExpire

解决方案:换版本号,我测试的么问题的版本号3.4.12背景:使用dockerfile镜像搭建Kafka集群时,里面zookeeper集群连接测试时报了上述的错误,然后网上找了很长时间,通过https://issues.apache.org/jira/browse/ZOOKEEPER-3828这个issue找到了解决方案。连接测试,一直报错(base) ➜ [/Users/admin] docker run -it --rm \ --link zoo1:zk1 \

2021-08-30 00:46:30 7923 3

原创 发展有感记录

中午同事几个去伟哥家happy[伟哥的手艺有点可以],听大佬[大家确实都是比较????的同事]在这里吹牛逼确实感觉有很多收获,但是具体的话也说不出来有什么收获。大概在这里记录一下。羡慕伟哥,工作跟家庭都特别美满[我们原来也能这样],但是确实感觉伟哥特别值得这么好的[性格和人都真的可以,哈哈]。吃饭中聊到职场里面的各种看钱、跟着一个靠谱的领导[国内其实去哪里其实区别并不大]。毁掉一个人最好的方式就是让他忙起来[把活分给下面并做更有意义的,或者向上提高]。在哪里都特别卷,比你位置高的人基本上也得

2021-08-28 18:31:57 114 1

空空如也

空空如也

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

TA关注的人

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