- 博客(20)
- 资源 (6)
- 收藏
- 关注
原创 es nested字段的空值查询问题
使用的es 版本6.x最近的工作中需要对es中nested字段进行空值查询?原以为很简单的事情,却几经周折。下面把整个心历路程总结一下,希望后来的同人少走弯路。如何进行空值查询,网上一搜一大把,不约而同的说采用es exists关键字进行空值过滤。按照网上的说法,测试了一下GET test_nested_obj_eg/_doc/_search{"query": {...
2020-01-04 17:27:24
6006
8
原创 paypal支付对接相关问题总结
最近在做对接paypal支付的项目。项目的开发时间紧,但paypal开发者文档内容又很多,并且是英文的,这无疑增加了开发难度。有句古话,欲速则不达。因为对开发者文档理解不够,浪费了不少时间。接入心得总结如下,避免后来者重复踩坑。首先,需要确定采用paypal支付的何种方式?paypal提供了多种支付方式,如标准支付和快速支付,其中标准支付誉为最佳实践。标准支付主要特点是只需要集成paypal按
2017-04-29 12:15:54
9405
5
原创 搭建nghttp2.0作为apns服务的代理的相关问题总结
apple新一代apns推送采用http2.0,升级公司apns服务,决定采用nghttpx作为apns的代理。在搭建这个服务的过程中遇到了两个坑,分享一下我的经验。
2016-09-19 19:41:27
3081
1
原创 一键安装nghttp2.0
Nghttp2调研 1. wget https://github.com/nghttp2/nghttp2/archive/master.zip2. wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gza. tar -xvf libtool-2.4.6.tar.gzb.
2016-09-11 22:01:55
4631
原创 muduo网络框架分析
muduo网络框架分析概要muduo是一个纯异步、多线程、多路复用网络框架,主线程负责监听网络连接事件,子线程负责处理已建立的连接的网络读写事件。采用eventfd实现父、子线程之间的通信。子线程之间是不能直接进行通信的,原因在于,子线程之间互相不知道对方是否已经析构,也就是一个子线程很有可能向另外一个已经退出的子线程递交任务,这样就会造成程序崩溃。muduo网络框架是基于生产
2016-09-01 22:41:59
1650
1
原创 linux多进程可伸缩模型探索
最近,在工作中遇到了一个需求,希望网络框架可以动态的增加或者减少进程数。采用多进程模型,可以提高服务的并发性。云平台提供的服务都是多租户的,每个用户对并发性的需求是不一样的。如果接入层同时为多个用户提供服务,可能会出现相资源竞争、相互干扰的现象,定位和排查问题比较复杂。为了避免这个问题,那就一个接入层只服务一个客户,这样避免了资源竞争,相互干扰。随之而来的是,接入层部署的数量将会显著增长。接入层到
2016-07-03 16:20:57
932
原创 分析tcp-rst数据报文产生场景以及判断谁主动断开连接
判断tcp连接断开方向是排查线上问题的重要依据和基础。根据我在实际工作中的经验总结,主要分析了连接断开并不是四次挥手的场景下,如何判断哪一方主动断开连接,也分析了产生rst标识的数据报文的场景。
2016-01-24 16:35:35
3695
原创 linux c、c++高并发服务内存泄露追踪分析
最近,我一直忙于追踪分析,咱公司高并发代理服务器内存一直占用过高的问题。该问题表现如下,使用python脚本压测,服务器使用的物理内存一直飙升很快上G、虚拟内存更是高达数10G,没有下降的趋势。当压测程序停止运行后,整个服务占用的物理内存以及虚拟内存并没有下降的趋势。首先简诉咱服务器运行的平台是centos-6.3(linux-2.6.32),该服务器是多进程的,基于libevent网络通信框
2015-09-19 00:19:10
10836
1
转载 跳跃表的实现
Redis 的跳跃表由 redis.h/zskiplistNode 和 redis.h/zskiplist 两个结构定义, 其中 zskiplistNode 结构用于表示跳跃表节点, 而zskiplist 结构则用于保存跳跃表节点的相关信息, 比如节点的数量, 以及指向表头节点和表尾节点的指针, 等等。 header | tail | level \n 5 | length \n 3
2015-06-02 22:26:48
693
转载 一致性hash算法释义
//转载至http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,
2015-06-02 15:38:13
682
原创 网络传输协议之二进制反码校验和剖析
网络传输协议之二进制反码校验和剖析什么是二进制反码求和?对一个无符号数,先求其反码(按位取反之意,与有符号数中定义的反码表示是不相同的),然后从低位到高位,按位相加,等于2则进1,若最高位有进位,需要向最低位加1。在这个定义中,与补码加法有些区别的是,若最高位有进位,需要向最低位进位。理解起来有些抽象,以4bit为例加以说明。假设0010是补码表示,则其反码是各2进制位按位取反1101,同理补码1010的反码表示为01
2015-05-23 23:52:15
2770
转载 STL容器默认的内存分配器(std::alloc)
//转载至http://blog.youkuaiyun.com/pud_zha/article/details/16860411原文在描述size_t __bytes_to_get = 2 * __total_bytes + _S_round_up(_S_heap_size >> 4); /* 扩大需要量, 新需求量是原需求量的二倍与现有内存池大小的四分之一之和 */这个地方有错误,应
2015-05-03 12:35:10
1134
原创 使用pthread互斥体+条件变量实现读写锁
//最近在学习《高性能mysql》的时候,提到了读写锁,读锁是共享锁,写锁是排它锁,还有项目中也提到了读写锁的概念。进而想弄清楚,读写锁的实现机制,//只有明白了读写锁的实现机制,才能明白读写锁对性能的影响//本程序采用的是pthread_mutex_t互斥体+pthread_cond_t条件变量的方式去模拟读写锁的实现机制//希望能够帮助刚刚接触pthread线程的朋友,如何去使用互
2015-04-19 14:18:51
804
原创 对nginx中utf-8编码格式解析函数的理解
/* * ngx_utf8_decode() decodes two and more bytes UTF sequences only * the return values: * 0x80 - 0x10ffff valid character * 0x110000 - 0xfffffffd invalid sequence * 0xff
2015-03-08 12:08:51
3584
原创 16进制字符串转换成2进制字节流
u_char *hex_to_bin(u_char *dst, u_char *src,size_t len){ //16进制字符串的长度一定是偶数,因为一个字节的高低4位被分别转换成了一个16进制字符 //也就是一个2进制字节数据一定对应两个16进制字符,一个字符一个字节,因此是偶数倍 if(len & 0x00000001) {
2015-03-07 17:08:40
1861
原创 CentOS-5.4-i386-bin-DVD源码安装gcc-4.8.0
首先下载gcc-4.8.0.tar.gz 下载地址:http://gcc.cybermirror.org/releases/gcc-4.8.0/
2014-05-27 21:34:35
830
原创 CentOS-5.4-i386-bin-DVD源码安装mysql-5.6.17
需要使用cmake编译mysql-5.6.17cmake下载地址:http://www.cmake.org/files/v2.8/
2014-05-25 12:04:42
1411
电梯模拟仿真系统
2013-01-07
ckeditor上传图片功能使用
2012-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人