9 zhangyifei216

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

GFS论文笔记

GFS的设计目标分布式文件系统的共同设计目标:性能可伸缩性可靠性可用性GFS根据自己情况重新设计的目标:组件失效是常态事件,而不是意外事件,因此要有持续的监控、错误侦测、灾难冗余、自动恢复等机制不能以管理大文件的方式来管理小文件,所以IO操作和Block的尺寸都需要重新考虑数据的追加操作是性能优化和原子性保证的主要考量因素应用程序和文件系统API协同设计,提高整个系统的灵...

2019-05-30 12:28:35

Tip of the Week #74: Delegating and Inheriting Constructors

Tip of the Week #74: Delegating and Inheriting ConstructorsOriginally posted as totw/74 on 2014-04-21By Bradley White (bww@google.com)“Delegating work works, provided the one delegating works, too...

2019-03-07 10:50:01

Envoy源码分析之ThreadLocal

ThreadLocal整体结构Envoy中严重依赖ThreadLocal,为了避免加锁Envoy会尽可能在单一线程中完成所有的事件,但是多个线程之间难免会有一些数据需要共享,还有可能需要读写,为了避免加锁Envoy将一些需要在线程之间共享的数据放在ThreadLocal中,当ThreadLocal中的数据需要更新的时候则会通过主线程将更新后的数据Post到各个线程中,交由各个线程来更新自己的Th...

2019-02-01 09:45:23

Envoy源码分析之Dispatcher

Dispatcher在Envoy的代码中Dispatcher是随处可见的,可以说在Envoy中有着举足轻重的地位,一个Dispatcher就是一个EventLoop,其承担了任务队列、网络事件处理、定时器、信号处理等核心功能。在Envoy threading model这篇文章所提到的EventLoop(Each worker thread runs a “non-blocking” event...

2018-11-02 10:09:08

6.824: Distributed Systems 课程讲义3

什么是一致性?分布式系统中,数据通常会通过复制进行冗余,当应用程序并发访问这些数据的时候,如果保证访问的数据是一致的。如果一个应用程序写入了新的数据,那么之后来访问数据的应用能否看到新增的数据呢? 这就是一致性问题了,通常一致性有几种类型:弱一致性读的时候可能会返回老数据,不保证能访问到新写入的数据。强一致性读的时候总是返回最新写入的数据。两者之间的关系强一致对于应用写入...

2018-10-29 14:25:26

Tip of the Week #65: Putting Things in their Place

Tip of the Week #65: Putting Things in their PlaceOriginally posted as totw/65 on 2013-12-12By Hyrum Wright (hyrum@hyrumwright.org)“Let me ’splain. No, there is too much. Let me sum up.” –Inigo Mo...

2018-10-21 21:29:55

Tip of the Week #64: Raw String Literals

Tip of the Week #64: Raw String LiteralsOriginally published as totw/64 on 2013-12-09By Titus Winters (titus@google.com)Updated 2017-10-23Quicklink: abseil.io/tips/64“(?:”(?:\\"|["])*"|’(?:\\’|[...

2018-10-21 16:20:38

Tip of the Week #61: Default Member Initializers

Tip of the Week #61: Default Member InitializersOriginally posted as Totw #61 on Nov 12, 2013by Michael Chastain (mec.desktop@gmail.com)Updated October, 2016Declaring Default Member Initializati...

2018-10-21 15:47:33

Tip of the Week #59: Joining Tuples

Tip of the Week #59: Joining TuplesOriginally published as totw/59 on 2013-10-21By Greg Miller (jgm@google.com)Updated 2018-01-24“Now join your hands, and with your hands your hearts.” –Henry VI,...

2018-10-21 15:14:40

Tip of the Week #55: Name Counting and unique_ptr

Tip of the Week #55: Name Counting and unique_ptrOriginally published as totw/55 on 2013-09-12by Titus Winters (titus@google.com)Updated 2017-10-20Quicklink: abseil.io/tips/55“Though we may know...

2018-10-21 14:23:56

Tip of the Week #49: Argument-Dependent Lookup

Tip of the Week #49: Argument-Dependent LookupOriginally posted as totw/49 on 2013-07-14“…whatever disappearing trail of its legalistic argle-bargle one chooses to follow…” –Antonin Scalia, U.S. v ...

2018-10-21 10:11:14

Tip of the Week #24: Copies, Abbrv

Tip of the Week #24: Copies, AbbrvOriginally posted as TotW #24 on Nov 26, 2012by Titus Winters, (titus@google.com) and Chandler Carruth (chandlerc@google.com)“To copy others is necessary, but to ...

2018-10-19 16:12:16

日志采集中的关键技术分析

概述日志从最初面向人类演变到现在的面向机器发生了巨大的变化。最初的日志主要的消费者是软件工程师,他们通过读取日志来排查问题,如今,大量机器日夜处理日志数据以生成可读性的报告以此来帮助人类做出决策。在这个转变的过程中,日志采集Agent在其中扮演着重要的角色。作为一个日志采集的Agent简单来看其实就是一个将数据从源端投递到目的端的程序,通常目的端是一个具备数据订阅功能的集中存储,这么做的目的其...

2018-10-08 12:43:44

Tip of the Week #11: Return Policy

Tip of the Week #11: Return Policy Originally posted as TotW #11 on August 16, 2012 by Paul S. R. Chisholm (p.s.r.chisholm@google.com) Frodo: There’ll be none left for the return journey. Sa...

2018-07-01 15:18:12

Tip of the Week #42: Prefer Factory Functions to Initializer Methods

Tip of the Week #42: Prefer Factory Functions to Initializer Methods Originally posted as totw/42 on 2013-05-10 By Geoffrey Romer (gromer@google.com) Revised 2017-12-21 “The man who build...

2018-04-02 22:02:07

Tip of the Week #36: New Join API

Tip of the Week #36: New Join API Originally published as totw/36 on 2013-03-21 By Greg Miller (jgm@google.com) Updated 2018-01-24 “I got a good mind to join a club and beat you over the ...

2018-04-02 22:01:17

Tip of the Week #10: Splitting Strings, not Hairs

Tip of the Week #10: Splitting Strings, not Hairs Originally published as totw/10 on 2012-08-16 By Greg Miller (jgm@google.com) Updated 2018-01-24 I tend to have an odd split in my mind. ...

2018-04-02 22:00:19

Tip of the Week #3: String Concatenation and operator+ vs. StrCat()

Tip of the Week #3: String Concatenation and operator+ vs. StrCat() Originally published as totw/3 on 2012-05-11 Updated 2017-09-18; revised 2018-01-22当一个reviewer说”不要使用string的连接操作,这不高效”,通常会让...

2018-04-02 21:58:57

Tip of the Week #1: string_view

Tip of the Week #1: string_view Originally published as totw/1 on 2012-04-20 By Michael Chastain (mec.desktop@gmail.com) Updated 2017-09-18What’s a string_view, and Why Should You Care?当我们创建一个

2018-04-02 21:48:34

如何mock系统调用

背景​   Linux下开发存储系统、网络库的时候会用到一系列Linux的系统调用,每一个系统调用都有一些出错的场景,有些场景很极端,比如内存使用达到上限、磁盘写满等,如果对其进行测试的话,很难去构造这样的一个场景,这个时候集成测试就显得力不存心了,只能靠单元测试来覆盖这些场景。现在的问题就是如何去mock这些系统调用,然后通过程序返回对应场景的错误码来模拟各种场景。也就是将对系统函数的依赖注入到程

2017-09-16 18:00:16

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!