ElasticSearch 基础使用和理解

PokPok
部署和启动 docker-compose.yml version: '2.2' services: node01: image: docker.elastic.co/elasticsearch/elasticsearch:7.11.1 container_name: node01 environment: - node.name=node01 - cluster.name=es-cluster-7 - discovery.seed_hosts=node01,node02,node03 - cluster.initial_master_nodes=node01,node02,node03 - "ES_JAVA_OPTS=-Xms128m -Xmx128m" ulimits: memlock: soft: -1 hard: -1 volumes: - es-data01:/usr/share/elasticsearch/data ports: - 9200:9200 - 9300:9300 networks: - es-network node02: image: docker.elastic.co/elasticsearch/elasticsearch:7.11.1 container_name: node02 environment: - node.name=node02 - cluster.name=es-cluster-7 - discovery.seed_hosts=node01,node02,node03 - cluster.initial_master_nodes=node01,node02,node03 - "ES_JAVA_OPTS=-Xms128m -Xmx128m" ulimits: memlock: soft: -1 hard: -1 volumes: - es-data02:/usr/share/elasticsearch/data ports: - 9201:9201 - 9301:9301 networks: - es-network node03: image: docker.elastic.co/elasticsearch/elasticsearch:7.11.1 container_name: node03 environment: - node.name=node03 - cluster.name=es-cluster-7 - discovery.seed_hosts=node01,node02,node03 - cluster.initial_master_nodes=node01,node02,node03 - "ES_JAVA_OPTS=-Xms128m -Xmx128m" ulimits: memlock: soft: -1 hard: -1

google benchmark 的初体验

PokPok
前言 准确的度量系统的开销是很重要的, 系统级别比较出名的是 Latency Numbers Every Programmer Should Know, 而在各种变成语言中, 需要依赖基准测试来判断程序实际的耗时。 Latency Comparison Numbers (~2012) ---------------------------------- L1 cache reference 0.5 ns Branch mispredict 5 ns L2 cache reference 7 ns 14x L1 cache Mutex lock/unlock 25 ns Main memory reference 100 ns 20x L2 cache, 200x L1 cache

利用Jemalloc进行内存泄漏的调试

PokPok
内存不符预期的不断上涨,可能的原因是内存泄漏,例如new出来的对象未进行delete就重新进行复制,使得之前分配的内存块被悬空,应用程序没办法访问到那部分内存,并且也没有办法释放;在C++中,STL容

gRPC:复用CompletionQueue

PokPok
异步请求过程 在利用异步gRPC实现请求的时候,通常使用gRPC example中的greeter_async_client2.cc作为模板发起异步请求,并通过CompletionQueue中的Next(
Shell Cheetsheet

Shell Cheetsheet

PokPok
rsync rsync -av --include="*.cc" \ --include="*.h" \ --include="*.proto" \ --include="*/" \ --exclude="*" \ --progress \ root@address:~/src/ dst/ 将 src 同步到 dst 目录下: --include:同步白名单 --exclude:同步黑名单 --progress:显示进度
Python Gist

Python Gist

PokPok
python 工具代码片段 (人生苦短)

实效性软件构建的途径-下

PokPok
前言 如果一次性总结,文章太过于冗长,上部分更加是一种在编程中会碰到的技术细节,而这一部分是一些编程中需要记住的良好习惯。 1. 养成估算的习惯 1000字节数据通过路由器需要多少时间?类似这样的问题需要有个大

实效性软件构建的途径-上

PokPok
前言 无意中看到了这本书,译名是程序员修炼之道,想尝试在这本书中找到一些跟软件构建相关问题的答案。这本书虽然是上个世纪出版的,要注意时代的局限性和过期的经验,进行自我验证,但一遍看下来,对我来说,干货还

B-tree和LSM-tree

PokPok
最初的数据库 LSM-tree得从最简单的数据库的shell实现说起,如: #! /bin/bash db_set() { echo "$1,$2" >> database } db_get() { grep "^$1," database | sed -e "s/^$1,//" | tail -n 1 } db_set将两个参数简单追加database文件,而db_get利用匹配出来的结

Golang原生RPC与gPRC

PokPok
前言 因为前段时间把6.824的lab3做完了,但是lab内部是用channel mock了一个简单的网络来测试网络丢包,网络分区等问题,也就是说跑在单机上面,其rpc也是通过channel和反射实现。目