- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 协程的理解
协程的理解什么是协程协程是在线程之上由“用户”构建的并发单元,对OS来说无感知,协程的切换由用户自己管理和调度。(这里的用户是相较于内核而言的,一些通用库这里也理解为用户) C/C++怎么实现协程作为一个C++后台开发,我知道像go, lua之类的语言在语言层面上提供了协程的api,但是我比较关心C++下要怎么实现这一点,下面的讨论都是从C/C+
2016-11-27 23:11:11 1449 1
原创 phxrpc解析
phxrpc解析 phxrpc是腾讯微信开源的一个简单的rpc框架,总体来说实现的比较简单。 实现的功能有: 使用Protobuf作为IDL用于描述RPC接口以及通信数据结构。 基于Protobuf文件自动生成Client以及Server接口,用于Client的构建,以及Server的实现。 半同步半异步模式,采用独
2016-11-27 11:37:10 2834
原创 tmux的使用方法和个性化配置
tmux的使用方法和个性化配置 tmux是一个优秀的终端复用软件,即使非正常掉线,也能保证当前的任务运行,这一点对于 远程SSH访问特别有用,网络不好的情况下仍然能保证工作现场不丢失!此外,tmux完全使用键盘 控制窗口,实现窗口的切换功能。 1. 安装 brew install tmux 2. 会话,窗
2016-11-24 23:40:56 753
原创 phxpaxos checkpoint详解
phxpaxos checkpoint详解1. 为什么需要checkpoint状态机是通过由PhxPaxos选出的有序Chosen value(PaxosLog)系列进行状态转移得到的,而这些状态本质上也是一堆数据,但是这堆数据是由开发者自己进行维护的,我们不能要求开发者在这份数据上时刻做到极其严格的正确性, 那么这份数据很有可能因为机器的一些异常或者重启导致丢失,从而影响了数
2016-11-23 00:02:33 2206
原创 协程库libco
协程库libcolibco是微信后台大规模使用的c/c++协程库,2013年至今稳定运行在微信后台的数万台机器上。libco在2013年的时候作为腾讯六大开源项目首次开源,最近做了一次较大的更新。libco支持后台敏捷的同步风格编程模式,同时提供系统的高并发能力。libco支持的特性支持CGI框架,轻松构建web服务(New);支持gethost
2016-11-22 00:54:08 4461
原创 微信开源PhxSQL:高可用、强一致的MySQL集群
微信开源PhxSQL:高可用、强一致的MySQL集群 PhxSQL是一个兼容MySQL、服务高可用、数据强一致的关系型数据库集群。PhxSQL以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性。1. github:点击打开链接 2. 【重磅】微信开源PhxSQL:高可用、强一致的MyS
2016-11-22 00:42:59 1844
转载 从PhxPaxos中再看Paxos协议
从PhxPaxos中再看Paxos协议 Phxpaxos已经开源了,且他们号称开源和内部使用的是同一套代码,那么作为小厂的程序员可有福了,可以一睹研究一下生产环境下大规模分布式系统是怎样练成的。初看代码可能会比较犯晕,果真生产环境的实现跟《Paxos made code》的复杂度不是一个数量级的,可是复杂归复杂,但毕竟代码中没有用到复杂的Moden C++特性、大量的模板
2016-11-21 00:59:29 4190
原创 分布式系统failover测试之拔盘插盘操作
分布式系统failover测试之拔盘插盘操作 拔盘: echo "scsi remove-single-device 1 0 0 0" > /proc/scsi/scsiecho "scsi remove-single-device 2 0 0 0" > /proc/scsi/scsiecho "scsi remove-single-device 3 0 0
2016-11-11 19:15:23 1511
转载 提高单机短连接QPS到20万
提高单机短连接QPS到20万转载于http://weibo.com/ttarticle/p/show?id=2309404037884855362229。 一般的通讯协议在设计上都避免服务器端主动发起TCP连接关闭,让客户端来发起close socket,避免服务器端端口和内存的资源消耗默认情况下,客户端关闭TCP连接后本地的临时端口会长时间进入TIME_
2016-11-05 22:49:24 3310 2
原创 Linux下获取磁盘空间利用率方式
Linux下获取磁盘空间利用率方式 下面使用python语言来讲解如何获取磁盘空间利用率的问题。 1. os.statvfs(path) 方法用于返回包含文件描述符fd的文件的文件系统的信息,其中path表示文件路径。 可以使用下面代码获取: hddinfo = os.statv
2016-11-05 19:49:55 3854
原创 集群内机器重启
集群内机器重启 在云计算环境下,一个集群代表一堆机器组成的机器组,一般由一个admingateway打通通道(ssh安全通道)到该集群中的其他机器。 集群里面的机器经常会出现问题,然后就会导致admingateway不能ssh到坏的机器,这个时候重启机器就会有两种方式: 1. 能够ssh到那台机器,直接sudo reboot。 2. 不能
2016-11-02 22:41:11 1153
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人