自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 有关insert on duplicated key

Mysql:使用on duplicate key update时导致自增id不连续怎么办?_on duplicate key update 导致mysql自增主键id跳跃增长-CSDN博客

2024-04-13 07:55:00 133

原创 rocketmq的运维

bin/mqadmin updateTopic -n 10.49.196.33:9876 -t TRANSACTION_TOPIC -c DefaultCluster -a +message.type=TRANSACTION #事务消息。bin/mqadmin updateTopic -n 10.49.196.33:9876 -t DELAY_TOPIC -c DefaultCluster -a +message.type=DELAY #定时/延时消息。2. 创建不同的topic。

2024-04-03 20:49:28 351

原创 多人ELO的计算文章

https://towardsdatascience.com/developing-a-generalized-elo-rating-system-for-multiplayer-games-b9b495e87802对应的代码:GitHub - djcunningham0/multielo

2024-03-31 20:57:14 222

原创 一亿行挑战(1BRC)top代码精析-使用 SWAR 技术找到分号分隔符

但是因为~match对应的首bit为0, 进行&后,正好结果就是首bit为0。3. 综上所述,((match - 0x0101010101010101L) & ~match)在分割成的8段字节中,如果有字节为分号,则结果一定从左数第一个bit值为1.如果没有,则该字节从左数第一个bit值为0.期待他情况下,~match的第一个bit位必然为1,而(match - 0x0101010101010101L)的结果根据解析的第一步说明它第一个bit值为0.因此& ~match后第一个bit值必然为0。

2024-03-24 17:22:46 327

原创 defer 中recovery from panic中的注意点

如果在defer 方法中再调用recovery包装方法,则是无法恢复panic现场的。

2024-03-19 17:52:40 149

原创 golang time.Newtimer和time.NewTicker使用和不同

1. time.Newtimer是可以在没有强引用的时候被gc回收掉的。但是time.NewTicker必须在defer中使用stop来释放资源,否则资源永远不会被gc回收2. time.Tick(d Duration) <-chan Time方法是存在资源泄漏的,见注释:这种只能用于no need to shut down的情况,因此一般是不应该使用这个的相关区别:1. timer是用于只执行一次延时获取能力的情况。如果要多次使用,需要结合reset。例如:for {select {

2024-01-21 21:16:52 1274 2

原创 pprof时如何指定source

在用远端的pprof的时候,找的sourcecode的路径不对,此时需要增加参数:go tool pprof -inuse_space -source_path=$(go env GOMODCACHE) http://10.45.1.246:32612/debug/pprof/heap()

2024-01-19 15:12:44 353

原创 在一个nil的channel上发送和接收操作会被永久阻塞

/ 这里比hub 发送时候有延迟时间,这段延迟时间是否会对结果产生影响。这里一定要注意,以下问题导致gorounting阻塞。

2024-01-19 12:25:50 899

原创 golang三个坑实录

同理,不能将一个具体的指针对象,复制给一个interface。则PlayerStatus = "Playing"和PlayerStatus = "Buying"中的PlayerStatus必不可少,否则如果写成。Playing PlayerStatus = "Playing" // 正在玩牌。但是在反射获取Playing类型时,得到的就不是预期的PlayerStatus类型,会导致隐藏的错误。虽然 "Playing" == Playing还是返回true的,

2023-11-12 00:08:28 500

原创 golang相关代码注意点

的情况,注意ticker是一个length=1的chan。因此如果tick的间隔时间过短,例如图中所示,则会在获取chan之后,chan又被写入下一个触发的element。如果代码只是想触发一次,代码中使用c.reset试图调整ticker的下次触发时间,但是因为存在chan又被写入下一个触发的element的情况,会导致该chan被触发两次,不符合预期的情况。注意此时Test2的类型是string,而不是xxx。注意此时就是存在x == Test2的比较,两者类型都不一样,肯定不等。

2023-11-05 15:04:37 181

原创 关注下k8s 的HPA 功能

K8S学习笔记- HPA弹性伸缩 - 知乎

2023-08-08 14:31:32 85

原创 clickhouse 正在执行sql时如果客户端断开链接会怎样

2. 只测试了执行dbt的sql,此时peotry dbt 命令因为sql在执行,在等待结果,因此在卡住等待返回结果。说明在ctrl+c时候,操作系统会给clickhouse的servier端发送了关闭链接的挥手请求,而ck可能是监控到了这个挥手请求,因此正在执行中的sql不会真正的落盘。有理由相信,可能在kill -9,docker kill 的时候,操作系统都会发送关闭链接的请求,因此ck都不会将sql执行结果insert的数据真正执行。

2023-06-15 16:56:14 247

原创 clickhouse 优化

clickhouse配置项system.settings详解_clickhouse settings_Aiky哇的博客-CSDN博客Clickhouse优缺点、性能以及错误躺坑_clickhouse insert_deduplicate_天空飘来一个云哥哥的博客-CSDN博客

2023-05-29 21:26:28 100

原创 clickhouse 多副本如果机器损坏如何通过副本恢复数据

执行 sudo -u clickhouse touch /data/clickhouse/flags/force_restore_data。从另一个正常副本将 metadata 目录拷贝过来(这一步之后可以启动数据库,但是只有。清空异常副本节点的 metadata 和 data 目录。(1)问题:某个数据副本异常无法启动,需要重新搭建副本。ClickHouse 高级(八)常见问题排查。3 副本节点全量恢复。

2023-05-26 19:37:36 1200

原创 pq文件解释

如果么有C,则null的C对应的路径是B.C. 其中B是optional,C是null的,因此null对应的definition level为1.如果有C,则对应的路径是B.C.其中C是optional.因此有c则对应的efinition level是2。

2023-05-17 17:44:59 254

原创 头条面试相关问题解答

操作系统之文件描述符FD与Inode - 简书MSS与MTU的关系_51CTO博客_mtu mss深入理解 ext4 等 Linux 文件系统 - 知乎SO_REUSEPORT使用示例_阿冬哥的博客-CSDN博客剖析 TCP - SO_REUSEPORT 使用 - 简书

2023-05-17 08:05:42 52

原创 后端文章架构相关

RocksDB:不丢数据的高性能 KV 存储 | MRCODE-BOOK

2023-05-15 20:19:22 47

原创 Shenandoah GC in JDK 13,讲解

2023-05-09 10:08:36 53

原创 java gc的分析

JVM成神路之GC分区:G1、ZGC、ShenandoahGC高性能收集器深入剖析 - 简书

2023-05-08 10:28:23 55

原创 数据插入之批量插入代码优化

MySql的executeBatch_mysql executebatch_胡萝卜味儿的博客-CSDN博客

2023-05-08 10:25:26 54

原创 如何处理明星员工

https://agora0.gitlab.io/news/wsj/2023/05/04/WSJ-%E5%A6%82%E4%BD%95%E7%AE%A1%E7%90%86%E6%98%8E%E6%98%9F%E5%91%98%E5%B7%A5.html

2023-05-07 00:42:40 48

原创 coding和基础支持汇总

9.1 什么是零拷贝? | 小林coding

2023-05-07 00:41:09 43

原创 k8s学习资料

🎉 其他补充 - K8S 教程

2023-05-03 08:49:03 42

原创 linux poll,epoll,select的区别

epoll中红黑树的作用?红黑树和epoll_wait的关系?其他区别:1. select 在linux内核中限制了能监听的数目上限。32位是1024,64位是20482. poll是将监听的对象改成了链表实现,因此没有数目上限3. select和poll都需要每次从用户空间和内核空间之间进行数据的2次拷贝select 实现多路复用的方式是,将已连接的 Socket 都放到一个,然后调用 select 函数将文件描述符集合到内核里,让内核来检查是否有网络事件产生,检查的方式很粗暴,就是通过。

2023-05-02 10:15:28 679

原创 docker网络模式

【docker系列】四种基础网络模式及自定义网络-云社区-华为云

2023-04-30 19:21:41 47

原创 loadbalance的不同使用情况和是否获取真实ip地址

负载均衡获得真实源IP的6种方法 【转】

2023-04-28 15:12:24 167

原创 讲的很好的gc策略

Go 语言的垃圾回收算法被吹过头?与Java比如何? | 程序师 - 程序员、编程语言、软件开发、编程技术

2023-04-28 11:25:36 53

原创 golang 内存分配策略

•如果没有可用于mcentral的块,则应用mheap并使用BestFit查找最合适的mspan。如果超出了应用程序的大小,则会根据需要进行划分,以返回用户所需的页面数。•大小在16B〜32k之间,计算要使用的sizeClass,然后在mcache中使用相应的sizeClass的块分配。但是Go在OS级别分配的页面甚至更大(称为竞技场)。•如果与mcache对应的sizeClass没有可用的块,则将其应用于mcentral。•如果没有可用的跨度,请向操作系统申请一组新的页面(至少1MB)。

2023-04-26 07:09:57 476

原创 解析使用golang的pool和arena

因此如果在arena分配的对象,即使没有被使用,但是arena有被引用到,也不会被gc回收掉,那么这块内存就成为了虽然么有被引用,但是依然无法在arena中使用到的内存数据。因此这也是arena分配的对象不能SetFinalizer的原因是,arena中设置了SetFinalizer方法,因此对象如果也设置了SetFinalizer方法,会有重复调用SetFinalizer的情况,有对象的风险,因此不能设置 arena生成的对象的SetFinalizer方法。arena可以分配不同的大小内容的对象。

2023-04-25 10:49:53 267

原创 golang 协程模型理解

可知,存在sysmon的一个协程,判断是否有一个gorouting占用M时间过多或者长时间占用M卡住的情况。那么这个sysmon是和M直接绑定,但是不和P绑定的。也就是说,sysmon可以简单理解为是一个操作系统的线程,因此一定会被调用到,而不是一个协程。因此sysmon可以做这个监控判断的功能。GMP中M可以简单的理解为操作系统的线程数。

2023-04-24 20:03:00 47

原创 golang文字书

GitHub - aceld/golang: 《Golang修养之路》本书针对Golang专题性热门技术深入理解,修养在Golang领域深入话题,脱胎换骨。

2023-04-23 21:04:50 46

原创 golang支持优雅关闭和core错误记录

经过测试,不能使用 ENTRYPOINT ["/modapi/modapi", "1>> /dev/null","2>> ./logs/stderr.log"],原因是虽然这种方案可以。#保证modapi命令为1号程序,能够接收到os的signal信号。但是如果程序core了,会直接导致1号进程core。则docker直接退出并且错误没有写入到。#stderr.log文件中。因此通过start.sh传递terminated信号,同时可以保证core时候堆栈信息可以写入到stderr.log中。

2023-04-21 14:50:46 280

原创 systemctl 相关功能

开启dns-server的时候一定要注意,默认的linux的systemd-resolved.service就是dns服务,会启动53端口。3. 在使用root用户后,使用 journalctl -u systemd-resolved.service可以得到有关启动这个dns服务更详细的启动日志。其中,loaded (/lib/systemd/system/systemd-resolved.service。就可以看出来是在这里配置的systemd-resolved.service启动参数,

2023-04-18 21:11:28 1222

原创 【无标题】

【代码】【无标题】

2023-04-03 10:41:19 26

原创 linux 参数优化

这个参数表示该队列的最大值。* net.ipv4.ip_local_port_range = 1024 65535 // 对外TCP和UDP连接port的范围。* net.ipv4.tcp_max_syn_backlog = 655360 // 能接受 SYN 同步包的最大客户端数量。* net.ipv4.tcp_keepalive_probes = 5 // tcp心跳对端无响应后继续发送的探测报文的数量。* net.ipv4.tcp_syn_retries = 2 // 重试发送syn包的次数。

2023-04-02 22:09:21 337

转载 git 忽略已提交文件的修改

git 忽略已提交文件的修改_qq_26249609的博客-CSDN博客_git 忽略修改

2022-10-11 18:54:29 85

原创 golang优化命令执行

直接export即可。

2022-09-18 15:51:41 274

原创 sendfile数据copy流程

https://zhuanlan.zhihu.com/p/512618250

2022-08-25 09:56:19 102

原创 es 别名相关

依照模板可以定时将新的索引加入到别名中。

2022-07-14 23:02:29 278

原创 非常好讲dr的配置文章

OLAP 数据平台 Druid 第一步,编写 Spec 配置_码哥字节的博客-CSDN博客

2022-07-13 11:45:45 98

空空如也

空空如也

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

TA关注的人

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