摘要:
使用wordpress一年多了,各种折腾,虽离预期有距离,但目前简洁的主题加上一些常用的插件,已经基本满足我的要求,今天将我使用的一些插件介绍给大家,并分享一些使用经验。
封杀广告评论
akismet,这个必须有,不然每天会有一大堆的评论出现在你的文章里,按理说文章评论多应该是好事呀,但可惜这些都是垃圾评论,里面大都是一堆广告链接,如果任由这些广告评论猖獗下去,你的博客就会变得“你自己都看不下去了... 阅读全文
posted @ 2013-04-19 14:14
ydzhang
阅读(513)
评论(0)
推荐(0)
摘要:
最近写博客的频度远不如以前,主要是想要求自己尽量保证每篇博文的质量,每次想写博客的时候,就发现想写的内容很简单(浅薄),根本不值一写,于是就搁置了。平时关注互联网的内容也比较多,没有明确的主题,单独写出一篇博客的确不值,所以就准备把零散的想法组织到一起记录下来,今天就先从微信公众平台说起。
微信公众平台
微信刚火起来那会,大家都用微信发语音短信,那会我没有智能手机,只能在一边羡慕嫉妒恨,当时对微信... 阅读全文
posted @ 2013-04-19 14:14
ydzhang
阅读(277)
评论(0)
推荐(0)
摘要:
近半年在做分布式系统开发的同时,也做了不少的测试工作,软件工程教科书上描述软件项目的流程,基本上都会提到单元测试、集成测试、压力测试等名词,但对这些词汇一直停留在理论认识阶段。研究生阶段做的项目,因为要求不高,基本上也没做什么测试工作;去年在实习的时候,因为时间有限,主要接触单元测试和系统功能测试;直到现在才把这些词汇都近距离的感受了一下。
单元测试
分布式系统的开发工作通常会被划分成多个模块,由... 阅读全文
posted @ 2013-04-19 14:14
ydzhang
阅读(1640)
评论(0)
推荐(0)
摘要:
去年写过一篇tbnet的分析文章,主要介绍tbnet(获取源代码)框架结构及基本使用方法,最近又重读了下源码,有一些新的收获。
连接是核心
tbnet框架围绕网络连接(对应Connection类)展开,Connection主要包含如下成员。
class Connection { bool _isServer; ... 阅读全文
posted @ 2013-04-19 14:14
ydzhang
阅读(1902)
评论(0)
推荐(0)
摘要:
block标识
TFS每个block有一个唯一标识,目前的实现是一个uint32_t的整数id,每次新增一个block,就会为其分配新的id,具体实现方式是保存一个全局global_block_id的值,每次分配时就直接将这个值加1做为新的blockid;代码实现大致如下,每次需要分配时就调用generate函数。
class BlockIdFactory {
public: uint32_... 阅读全文
posted @ 2013-04-19 14:14
ydzhang
阅读(559)
评论(0)
推荐(0)
摘要:
使用gdb调试时,有的函数只在某些路径上会执行到,而触发这些路径执行的条件构造起来比较麻烦,比如某个server在接收到READ请求时,会调用do_read进行响应,这时如果我们想调试do_read函数,就必须在客户端构造一个READ请求来触发。
int do_read(const ReadRequest& req); 假设我们知道do_read调用时参数ReadRequest的具体内容,能否直... 阅读全文
posted @ 2013-04-19 14:14
ydzhang
阅读(2426)
评论(0)
推荐(0)
摘要:
当你的系统发布时,你需要告诉用户如何去使用,通常你会写一份示例代码放在文档中,让用户能通过这个例子快速知道该如何使用,这个实例代码对用户会有多大影响呢? TFS是淘宝的分布式文件系统,主要用于小对象的存储(如图片、交易快照等),在TFS的开源wiki上,也有一个简单的实例。具体的说,TFS客户端提供了基本的open、read、write、close接口,用户在读写前,需要先根据对应的模式open... 阅读全文
posted @ 2013-04-19 14:13
ydzhang
阅读(268)
评论(0)
推荐(0)
摘要:
分布式文件系统主要用于解决海量数据存储的问题,如Goolge、Facebook等大型互联网企业都使用分布式文件系统作为数据存储的基础设施,并在其上构建很多服务,分布式文件系统通常采用三副本的策略来保证数据的可靠性,但随着应用数据量的不断膨胀,三副本策略为可靠性牺牲的存储空间也越来越大,如何在不降低数据可靠性的基础上,进一步降低存储空间成本? Facebook将erasure code应用到内部HDFS集群中,该方案使用erasure code代替传统的三副本策略,在保持集群可用性不变的情况下,节省了数PB的存储空间,Facebook的实现方案(HDFS RAID)目前已贡献给开源社区。Eras 阅读全文
posted @ 2013-04-19 14:13
ydzhang
阅读(514)
评论(0)
推荐(0)
摘要:
Nameserver(NS)是TFS的总控节,NS的主要职责包括为写分配block、为读查找block、管理block与dataserver对应关系、管理dataserver、备NS状态,执行后台复制、均衡、压缩任务,以保证整个集群良好的工作。Block分配NS接收到客户端的写请求,会分配一个可写的block,如果没有可写block,则会创建一个新的block,每个block由一个id标识(uint32_t,后续会将该值提升至uint64_t),blockid不能重复,且不复用,新创建的block,在当前id的基础上递增,产生新的blockid。为了保证产生不重复的blockid,必须将blo 阅读全文
posted @ 2013-04-19 14:13
ydzhang
阅读(634)
评论(0)
推荐(0)
摘要:
TFS目前使用扩展块来解决文件写、更新问题。扩展块的数量由磁盘可用空间、主块大小、扩展块大小、Dataserver(DS)配置项block_ratio决定。TFS主块和扩展块的数量在文件系统格式化的时候就已经确定,并且预先分配了所有块的存储空间。DS周期性的汇报存储空间使用率给Namserver,DS根据主块和扩展块使用率中的较大值做为DS储存空间的使用率。 扩展块使用率引发的问题 ... 阅读全文
posted @ 2013-04-19 14:13
ydzhang
阅读(341)
评论(0)
推荐(0)
浙公网安备 33010602011771号