自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

依然的专栏

说出来会被嘲笑的梦想,才有实现的价值...

  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 谈下mysql中间件(问题域、业内组件)

这段时间团队在梳理mysql使用上的一些痛点(分库分表、读写分离、权限控制、监控告警、日志审计等),也调研了业内一些mysql中间件的实现,这里把对问题域的思考,以及常见中间件整理沉淀一下 一、问题域(业务自己搭mysql痛点是什么?目标是什么?)  痛点 目标 连接管理 客户端连接使用不受限制,没有复用,业务之间互相影响(如1个服务写得有问题就可把mysql连接...

2018-09-21 20:51:25 1504

原创 Mysql开发实践8问,你能hold住几个?

1、Mysql读写性能是多少,有哪些性能相关的配置参数?2、Mysql负载高时,如何找到是由哪些SQL引起的?3、如何针对具体的SQL做优化?4、SQL层面已难以优化,请求量继续增大时的应对策略?5、Mysql如何做主从数据同步?6、如何防止DB误操作和做好容灾?7、该选择Mysql哪种存储引擎,Innodb具有什么特性?8、Mysql内部结构有哪些层次?

2014-09-21 23:23:28 2574 2

原创 常见Key-Value存储系统的内存管理策略解析

Key-Value存储作为NoSQL存储的一种常见方式,提供了比SQL数据库更好的可扩展性和读写性能。比如当前开源最热门的Memcached和Redis;淘宝的Tair、腾讯的Cmem、Amazon的Dynamo等等,无论是做缓存还是持久存储,均使用内存作为主要存储介质,故内存管理策略就显得尤为重要了,是影响性能的重要因素。这里从源代码层面对Memcached、Redis和UDC(腾讯以前用的一套KV持久化存储系统)的内存管理策略进行分析,3者的内存管理策略各不相同,其他KV系统也和这3种方法大同小异了。

2014-05-10 15:39:38 7163

原创 一些关于NewSql的笔记(DTCC2016)

有幸参加了DTCC2016会议,今年的会议特别火爆,很想每个专场都去看,可惜分身乏术。做了很多笔记,这里把关于NewSql的部分梳理成KM,没有DBA专业和深入,有出入的请使劲拍砖!...一、DTCC2016简介二、数据库演化的3个阶段三、补个基础:一个SQL的执行过程四、补个基础:事务的ACID特性和实现技术五、NewSql要解决的几个主要问题六、基于mysql-ha

2016-06-06 09:59:25 5336

原创 GDB实践:一场std::sort引发的coredump

以前只掌握gdb一些基础知识,还没有真正"实战"过。刚好最近同事一个进程coredump了,原因比较深,正好利用这个机会来分析下

2014-08-24 17:27:52 7590

原创 中文分词实践(基于R语言)

背景:分析用户在世界杯期间讨论最多的话题。思路:把用户关于世界杯的帖子拉下来,然后做中文分词+词频统计,最后将统计结果简单做个标签云,效果如下后续:中文分词是中文信息处理的基础,分词之后,其实还有特别多有趣的文本挖掘工作可以做,也是个知识发现的过程,以后有机会再学习下。

2014-07-13 13:30:43 13463 6

原创 一致性Hash简介和使用

背景:一致性Hash用于分布式缓存系统,将Key值映射到具体机器Ip上,并且增加和删除1台机器的数据移动量较小,对现网影响较小实现:1 Hash环:将节点的Hash值映射到一个Hash环中,每个Key顺时针第一个找到的节点,就是这个Key被路由到的机器2 "虚拟节点":将节点虚拟成多个"虚拟节点"分布在Hash环上,使得分布更均匀,扩缩容影响较小

2014-06-04 17:23:12 1783

原创 libcurl使用示例

libcurl使用示例简要说明:C++使用libcurl访问"www.baidu.com",获取返回码和打印出http文件/* * @ libcurl使用示例 * @ 2014.04.29 * @ g++ -o LibCurlFunc LibCurlFunc.cpp -lcurl */

2014-04-30 10:49:54 7169 2

原创 TCP协议和SocketAPI的几个小问题

服务端只有bind()没有Listen(),客户端会Connect()成功吗?服务端只有Listen()没有accept(),客户端会Connect()成功吗?服务端accept()会产生网络通讯吗?服务端只有Listen()没有accept(),客户端Connect()成功后可以调用write()写数据吗?服务端只有Listen()没有accept(),客户端连接能正常断开吗?

2014-04-01 17:17:39 1704

原创 Linux之僵尸进程

* 僵尸进程子进程结束,父进程没有正确处理子进程返回信息。PS:直到父进程退出,子进程变为孤儿进程,其父进程会变为Init进程(PPID=0),Init进程会负责清理僵尸进程* 危害僵尸进程没有从进程列表删除,占据内核资源* 结论多进程编程,父进程需要跟踪子进程的退出状态* 僵尸进程查看方法:1 top (zombie数量)Tasks: 581 to

2014-02-19 12:39:06 1508 1

原创 IPC之共享内存

共享内存* 最快的IPC,因为操作共享内存不用涉及进程-内核的数据拷贝* 不同进程间操作共享内存需自己做同步机制,比如使用信号量等数据结构shmid_ds(#include)struct shmid_ds{ struct ipc_perm shm_perm; /* 操作权限*/ int shm_segsz;

2014-02-12 19:14:53 1330

原创 IPC之信号量

信号量* 2种类型: - 二值信号量(取值为0或1的信号量,常用于进程间的"互斥锁") - 计数信号量(如生产者消费者问题等)* 2个操作 - P:等待信号量>0,然后将信号量--; - V:信号量++,如果有则唤起一个等待信号量>0的进程数据结构semid_ds(#include)struct semid_ds { truct ipc_p

2014-02-12 13:01:17 1266

原创 IPC之消息队列

key_t键和ftok()函数* 消息队列、信号量和共享内存具有内核持续性(与具体进程周期不相关),故需要在内核用一个全局唯一的Key来标识。* 这个Key的类型为整数key_t(定义在),可以在代码写死,也可以用ftok()函数生成* key_t ftok( const char * fname, int id )- fname为已存在的文件(不存在返回-1),id为子序号。通过

2014-02-11 21:16:53 1597

原创 IPC之管道、FIFO、socketpair

管道和FIFO作为最初的UNIX IPC形式,现在已用得较少。SocketPair可作为全双工版本的管道,较为常用管道* 只用于有亲缘关系的进程间通信* 单向,即半双工 (双向方法:1 使用2个管道 2 使用SocketPair)* pipe() => write()/read()FIFO (有名管道)* 可用于无亲缘关系的进程间通信* 单向* mkfifo() => open() => write()/read()

2014-02-09 16:38:21 2589

原创 读书笔记:网站架构之安全篇

目录:一、网站应用攻击与防御二、信息加密技术三、信息过滤及反垃圾 PS:本文为《大型网站技术架构 & 核心原理与案例分析(李智慧 著)》一书的读书笔记

2013-12-15 23:52:16 1841

原创 读书笔记:网站架构之扩展性篇

目录:一、构建可扩展的网站架构二、利用分布式消息队列降低系统耦合三、利用分布式服务打造可服用平台 PS:本文为《大型网站技术架构 & 核心原理与案例分析(李智慧 著)》一书的读书笔记

2013-12-14 21:33:05 1518

原创 读书笔记:网站架构之伸缩性篇

目录:一、网站架构的伸缩性设计二、应用服务器三、分布式缓存服务器四、数据库服务器PS:本文为《大型网站技术架构 & 核心原理与案例分析(李智慧 著)》一书的读书笔记

2013-12-13 14:21:43 1506

原创 读书笔记:网站架构之可用性篇

目录:一、高可用的网站架构二、高可用的应用三、高可用的服务四、高可用的数据五、网站的软件质量保证和运行监控PS:本文为《大型网站技术架构 & 核心原理与案例分析(李智慧 著)》一书的读书笔记

2013-12-09 21:32:41 2302

原创 读书笔记:网站架构之性能篇

目录:一、网站性能测试二、Web前端性能优化三、应用服务器性能优化四、存储性能优化PS:本文为《大型网站技术架构 & 核心原理与案例分析(李智慧 著)》一书的读书笔记

2013-12-08 19:55:36 1874

原创 大型网站架构演化一些关键点

一直都对海量服务后台架构很感兴趣,最近看完了《大型网站技术架构》一书,写得极其赞!这里再结合我自己的一些见解,做一个读书笔记下来。提炼大型网站在访问量不断上升时架构演化的一些关键点,并总结一些架构设计的基本原则和价值观

2013-12-07 17:44:11 2486 2

原创 一些TCP和UDP使用问题汇总

下面是在实际后台开发中遇到的一些关于TCP和UDP的问题,这里积累起来:

2013-12-07 17:38:33 2097 1

原创 libevent简介和使用

libevent是一个基于事件触发的网络库,memcached底层也是使用libevent库,所以今天先简单学习下。        一些资料:        1 libevent官网:http://libevent.org/         2 libevent API:http://www.monkey.org/~provos/libevent/doxygen-2.0.1/i

2013-11-07 22:23:40 16851 6

原创 论文学习笔记:BigTable

前言:Google大数据处理的3篇核心论文《The Google File System》:http://research.google.com/archive/gfs.html《MapReduce: Simplified Data Processing on Large Clusters 》:http://research.google.com/archive/mapreduce

2013-11-03 11:07:12 2994

原创 论文学习笔记:MapReduce

前言:Google大数据处理的3篇核心论文《The Google File System》:http://research.google.com/archive/gfs.html《MapReduce: Simplified Data Processing on Large Clusters 》:http://research.google.com/archive/mapreduce

2013-10-27 14:59:58 3392

原创 论文学习笔记:GFS

前言:Google大数据处理的3篇核心论文《The Google File System》:http://research.google.com/archive/gfs.html《MapReduce: Simplified Data Processing on Large Clusters 》:http://research.google.com/archive/mapreduce.htm

2013-10-22 00:08:24 7798 1

原创 网络编程常用函数的封装

将Socket设置为非阻塞获取指定网卡的IP地址创建一个udpSocket创建一个tcpSocket

2013-10-13 13:48:20 1097

原创 epoll简介和使用

epoll是Linux内核为处理大批量句柄而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。 说起epoll,就不得不提起select。对比起select,epoll主要有下面3个优点: 1、[句柄数] select最大句柄数受限,默认为1024(FD_SETSIZE值,可通过内核修改);而epoll最大句柄数为进程打开文件的句柄数,只受资源限制 2、

2013-10-07 23:10:39 2145

原创 udpSocket捕获ICMP不可达错误

最近得写个udpAgent,由于要做udpServer端的容灾,所以要感知udpAgent发出的UDP包是否被某个udpServer接收。但是UDP协议本身是无状态的,也就是说默认情况下,udpAgent进程是无法感知其发出的UDP包是否被接收了的。    但是,从TCP/IP协议栈来说,如果一个UDP包没有到达目的地址,发送端会收到一个“目的地址不可达”的ICMP报文。所以现在的问题就只剩下

2013-09-30 16:04:32 5018

acm 网络流学习资料

acm竞赛网络流的基知识,如果你是初学者的话,对你的帮助会挺大的...

2010-08-30

空空如也

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

TA关注的人

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