自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 elasticsearch 分片选择

       相信读者创建index的时候,一定曾经纠结过分片数应该分配多少。笔者从实用角度来讲述一下index分片数量的选择,index分片数量严格来说不能过多,也不能过少,还要兼顾分片平衡以及集群压力。现在从一些角度来讲主分片数应该怎么选择。分片数量与节点数(或机器数)的平衡        分析:若一个es集群的节点数为3,则考虑业务扩展(无论是容量还是其它),可能需要新增1个节点共4...

2019-02-22 18:42:26 1900

原创 golang chan panic 几种情况

若panic则为×,否则为对号√。

2023-11-17 14:44:15 122

原创 研发流程总结

关于bug产品需求,技术设计,编码自测,测试验证,上线运行。产品需求:判断需求是否有问题,1. 可以通过梳理数据维度,画出er图来判断是否合理。并按照数据维度来判断每项功能是否合理。2. 相当一部分功能都是围绕某一项数据来做crud,查询:则考虑查空边界,分页查的深分页,查询维度。插入:插入一个已存在的数据处理需要upsert吗,数据来源是怎样的是人手动插入还是系统自动插入,这个对于判断业务流量,系统数据延迟有很重要的参考。更新:最需要关注更新条件,推荐更新为最细粒度更新。更新后的数

2022-09-06 09:44:25 602 1

原创 goLand 项目开发校验

去掉正常的goland代码检查

2022-09-05 14:01:48 527

原创 golang转

设计思路1. 遇到字符'{'、'[',tabNum++ \n\t*tabNum2. 遇到字符'"' 必须等待下一个字符'"'出现,形成字符串判断。3. 遇到字符',' \n\t*tabNum4. 遇到字符']'、'}' 前面的第一个字符必须插入 tabNum-- \n\t*tabNum 后面的字符没有','则直接tabNum-- \n\t*tabNum

2022-09-05 13:58:28 133

原创 idea 全家桶启动失败

rm ~/.local/share/rm -r ~/.local/share/JetBrains/rm -r ~/.config/JetBrains/

2022-09-01 18:58:50 123

原创 clickhouse 去重方式

clickhouse去重

2022-08-30 17:24:20 2480

原创 cerebro 配置

cerebro 配置

2022-08-30 17:22:43 355

原创 Mysql 语句规范

mysql 建表

2022-08-14 16:32:29 233

原创 反问面试官问题

面试

2022-07-28 10:55:58 654

原创 Mysql 索引覆盖,索引下推,索引合并

索引覆盖 索引下推 索引合并 查询的字段在命中的联合索引里 查询条件命中了联合索引的第一个字段,后续条件可以根据联合索引其它字段直接进行过滤 对多个索引进行分别扫描,然后根据结果进行集合操作(如取交集和并集) ...

2022-04-12 11:39:32 787

原创 java 日志小技巧

java打印日志小技巧" trace:" + Arrays.stream(Thread.currentThread().getStackTrace()).map(stackTraceElement -> "class:" + stackTraceElement.getClassName() + " " + "file:" + stackTraceElement.

2022-03-16 11:43:33 422

原创 Redis 缓存雪崩 缓存击穿 缓存穿透 整理

redis 缓存雪崩 缓存击穿 缓存穿透 概念 缓存雪崩 缓存击穿 缓存穿透 解释 同一时间大量key过期失效导致db因压力异常 某个热key失效大量请求导致db异常 数据库和缓存都没有存要访问数据,数据量大db异常 解决 1.设置大量key随机过期时间 2.根据业务场景定时预热数据 3.分级缓存,不同级缓存过期时间不同。 4.若是redis集群挂掉引发,则走降级,看db压力是否可以支撑。 1.setn

2021-10-10 10:18:54 122

原创 钉钉发送图片

直接上格式: 'msgtype' => 'image', 'image' => [ 'title' => "文案,", //这个并不展示,只为过滤安全签名 'picURL' => url, //钉钉文档没有说有picURL这个字段,通过media_id试出来的。 ],不好处,变成了表情展示。...

2021-04-21 20:35:43 1202

原创 代码质量

代码质量代码自测覆盖率一定要达到100%,切记切记!

2021-03-24 14:56:20 92

原创 项目管理--持续更新

项目冲突修改某个函数的入参,特别是入参数量,git 合并主分支的时候,需要额外检查一下。防止最终上线的时候出现问题。修改服务的检查,需要和调用方沟通清楚,最好底层本验证联调一遍。...

2021-03-20 13:32:56 104

原创 mysql 源码缩写概念注释

基础类fsp File space management

2021-03-05 19:40:24 472

原创 php 代码技巧

字符串模板化$name = 'tanrx';$msgContent = "hello, ${name}";eval( "\$msgContent = \"$msgContent\";" );输出 hello, tanrx提取$和花括弧的字符正则表达式"/(?:\\$\{)([^{}$]*)(?:\})/"

2020-10-21 11:13:09 173

原创 wsl2 Ubuntu 展示页面

直接放博客地址:亲测试了一圈,还是这个给力:https://medium.com/@s123600g/window10-%E5%BB%BA%E7%BD%AEubuntu-wsl2-%E8%88%87gui%E6%A1%8C%E9%9D%A2%E9%85%8D%E7%BD%AE%E7%AD%86%E8%A8%98-58796915ed4d

2020-10-19 19:43:57 337

原创 Windows Ubuntu安装docker

官网文档:https://docs.docker.com/engine/install/ubuntu/如果docker遇到没有可用网络:http://blog.joylau.cn/2019/04/08/Docker-Start-Error/

2020-08-29 19:19:07 523

原创 判断函数入参为空

public static function isFieldsEmpty($arrFields = array()) { $traceList = debug_backtrace(); array_shift($traceList); if (empty($traceList)) { Bd_Log::warning("ERROR no caller. backtrace list:" . json_encode(debug_b...

2020-08-28 19:56:59 979

原创 windows ubuntu 双系统

本文章持续更新:安装完Ubuntu后先创建软连接#在windows 安装完Ubuntu系统后,在命令行终端下(win+R,执行cmd)执行创建软连接命令。mklink /D D:\root C:\Users\Administrator\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs\...

2020-08-26 20:01:57 265

原创 FFMPEG 安装 教程(支持mp3)

背景 ffmpeg本身并不支持mp3文件的编码转化,所以在编译的时候需要指定好依赖libmp3lame。安装 首先需要准备一个目录,比如本文是/home/homework/data/video安装依赖--yasm#首先需要准备好yasm的目录cd /home/homework/data/videomkdir yasmcd yasm/mkdir install#下载依赖安装包,具体的版本根据实际情况而定wget http://www.torta...

2020-06-11 15:40:22 1439

原创 golang 单元测试包命令

不带缓存,单独测试某个测试包go test -race -cover -count=1 github.com/baidu/bfe/bfe_http

2020-03-05 14:36:49 483

原创 go 语言源码编译

先在https://github.com/golang/go上fork一下自己的分支,然后执行以下命令下载代码到自己机器。git clone git@github.com:tanruixing88/go.git goroot 上面的命令较慢,另开一个窗口,执行以下命令,构建go bootstrap toolchain。go语言官网提到go1.4版本是用c实现工具链的最新版,这也...

2019-12-27 20:19:05 1200

原创 全链路压测笔记

全链路压测背景目的公司业务发展,难有一个量化的数据衡量核心链路的真实峰值。有助于提升核心业务的稳定性。 找出整个链路的瓶颈,优化少量的瓶颈部分提升整体性能,以期达到用最少的资源达到最佳效果。认识误区:不能单纯认为压测各个子系统后,整体系统没有问题,因为涉及到业务访问链路,多个业务可能有共用资源的瓶颈,主链路请求量增加,子系统或者存储未必是对应线性增加的。全链路压测难点业务场景、核心流程...

2019-06-01 22:37:12 1381 2

原创 elasticsearch high level rest client 开发注意事项

high level rest client开发需要注意如下几点:引入的json版本必须与引入es的版本是一致的,如es 6.6.2版本引入的json是2.8.11,则需要引入2.8.11才可以! <dependency> <groupId>com.fasterxml.jackson.core</groupI...

2019-03-25 14:33:08 781 3

原创 elasticsearch index设置

index.write.wait_for_active_shards 设置写入多少份分片数就返回结果,用于提升性能。

2019-03-14 15:03:04 1706

原创 elasticsearch 创建index 原则

相信有不少读者用elasticsearch的时候第一个难题就是如何创建好一个index。下面给出具体的样例和原则,帮助大家创建一个相对适合自己业务场景的index,有助于开展后续的开发工作。 先上创建index的模板:curl -XPUT 'http://127.0.0.1:9200/my_index_name_v1?pretty' -d '{ "ali...

2019-03-12 18:43:24 8411 1

原创 elasticsearch 运维reroute 去除index丢失分片

问题背景:在一个数据量特别大的日志集群中,假如有25台机器,每台机器部署2个es实例。那么共有50个节点,为了集群的数据平衡和考虑到日志数据量大给副本消耗太多的资源,只能设置number_of_shards为50,"number_of_replicas" : "0"。写的场景是按小时写入大量的日志,当某一台机器挂了(导致数据无法恢复)则会导致所有的index都会丢失对应机器所存储的...

2019-03-07 18:45:35 2079

原创 Linux hung参数

hung task相关配置1)设置timeout时间:echo 120&gt; /proc/sys/kernel/hung_task_timeout_secs120单位为s。2)设置hung task后是否触发panicecho 1 &gt; /proc/sys/kernel/hung_task_panic...

2019-03-06 14:42:43 503

原创 index 特定情形的设置

index.write.wait_for_active_shards 释义:等待有多少分片被写入成功后即可返回。设置为1,则主分片写入即可返回。注,kafka也有类似的配置。 用途:用于牺牲可能带来的一致性损耗,提升index写入性能,默认是全部副本写入才行。若集群在恢复时,主分片很快恢复,而副本分片恢复慢,则可以根据问题场景设置该项,使得业务尽快能写入数据,同...

2019-03-05 18:59:47 350

原创 elasticsearch 命令调试

调试手段设置error_trace=true,直接在URI后直接追加。 查询语句的时候可以用validate,参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/5.1/search-validate.html...

2019-03-05 16:45:51 495

原创 yaml文件嵌套

python的pyyaml包中yaml嵌套还是基于在load中重载一个钩子类,对yaml的value进行解析处理。具体的看以下代码:#!/usr/bin/pythonimport os.pathimport yamlclass IncludeLoader(yaml.Loader): def __init__(self, *args, **kwargs): ...

2019-03-04 18:01:02 7016

原创 elasticsearch update性能提升技巧

        es 批量update远比,批量get,或者单次query到文档,批量修改后,再批量index,这样效率会高非常多(有实验测试高达1000倍!)。

2019-02-27 17:00:11 6792 1

原创 elasticsearch 之jvm配置

      elasticsearch master+data分离方式的好处master所需要的元数据占用的内存从数据节点进行剥离,使得数据节点更专注处理数据部分。 集群通信压力过大的时候,多个数据节点都能与网络负载不是很高的master节点进行通信,减少节点脱离集群的可能。             elasticsearch jvm配置,单个节点最大内存小于32g,合理配置为31g。es...

2019-02-25 21:32:22 3538

原创 java 日志配置

&lt;dependency&gt; &lt;groupId&gt;org.slf4j&lt;/groupId&gt; &lt;artifactId&gt;slf4j-jdk14&lt;/artifactId&gt; &lt;version&gt;1.7.25&lt;/version&gt;&lt;/dependency&gt;https://e

2018-11-12 18:29:59 246

原创 golang 将json串转换为树状结构

设计思路:1. 遇到字符'{'、'[',tabNum++ \n\t*tabNum2. 遇到字符'"' 必须等待下一个字符'"'出现,形成字符串判断。3. 遇到字符',' \n\t*tabNum4. 遇到字符']'、'}' 前面的第一个字符必须插入  tabNum-- \n\t*tabNum   后面的字符没有','则直接tabNum-- \n\t*tabNum

2016-07-13 10:59:16 2952

转载 数据对齐 posix_memalign 函数详解

对齐数 据的对齐(alignment)是指数据的地址和由硬件条件决定的内存块大小之间的关系。一个变量的地址是它大小的倍数的时候,这就叫做自然对齐 (naturally aligned)。例如,对于一个32bit的变量,如果它的地址是4的倍数,-- 就是说,如果地址的低两位是0,那么这就是自然对齐了。所以,如果一个类型的大小是2n个字节,那么它的地址中,至少低n位是0。对齐的规则是由硬件引起

2015-06-07 00:19:02 889

原创 shell脚本判断闰年的逻辑表达式

废话不多说,下面是shell脚本闰年的判断方法:if [ $(expr "$year" % 4) -eq 0 -a $(expr "$year" % 100) -ne 0 ] || [ $(expr "$year" % 400) -eq 0 ]PS:shell脚本复合语句的简单样式:if [ "$i" -eq 1 -o "$i" -eq 2 ] && [ "$j" -eq 3 ]

2015-04-25 09:02:22 5546

Makefile多个文件问题图片

Makefile多个文件问题图片,此Makefile编写有问题。

2014-10-26

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

TA关注的人

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