Posts

  • 分布式系统一致性的 program order Overview 在很多关于分布式系统的论文中我们都会涉及一个program order的概念。在我的分布式系统一致性的发展历史系列中的第一篇里对这个问题作了一些解释。但是后来我发现几乎每篇文章中都会出现这个概念,为了读者方便,我觉...
    Read more...

  • 分布式系统一致性的发展历史 (六) 尽管我想按照历史顺序来介绍分布式系统历史上出现的各种模型,但是实际上分布式系统的发展不是线性的,原谅我无法严格按照时间来介绍所有的重要模型。我们之前已经介绍过了所有的主要一致性模型,本文作为此系列的终结篇,不再介绍一致性模型了,我来介...
    Read more...

  • 分布式系统一致性的发展历史 (五) Overview 之前讲的都是单一操作, 很适合KV类型的数据结构,比如缓存和大多数的NoSQL数据库。但是接下来我们要看一下多操作的情况,比如对多个对象的读写操作。与之相对应的是更像传统数据库的运行方式,比如传统数据库的trans...
    Read more...

  • 分布式系统一致性的发展历史 (四) Eventual Consistency Eventual Consistency这个一致性级别是Amazon的CTO Werner Vogels在2009发表的一篇论文里提出的[1],他是Amazon基于Dynamo等系统的实战经...
    Read more...

  • 分布式系统一致性的发展历史 (三) 其实这篇文章4年前就写好了,但是一直没空去review它。最近正好不太忙,抽空就把它审了一遍发出来了。之前的文章篇幅比较长,以后我会写的短一些。 至此我们已经介绍过Sequential Consistency, Linearizab...
    Read more...

  • Messaging Reliability and Ordering Overview In a distributed system, message reliability is the basis of data consistency, it’s often required to deliv...
    Read more...

  • 消息可靠性和顺序(中文) 概述 在分布式系统中,消息可靠性是数据一致性的基础,通常需要一次或至少一次传递消息。实际上,严格来讲,没有人能够以完全一次(exactly once)的保证来实现消息传递系统,这是不可能实现的。实际上,我们让用户方至少一次处理幂等和...
    Read more...

  • Web Security General Guidance - XSS and CSRF Overview Many people do not have a clear understanding of the differences between XSS and CSRF, hence get confused w...
    Read more...

  • Web 安全指导 - XSS and CSRF 概述 许多人对XSS和CSRF之间的差异没有清晰的了解,因此在选择安全策略以防止XSS和CSRF时会感到困惑,结果发现许多人只是在不理解攻击场景的情况下盲目使用所有的安全武器,这有时是不必要的,比如本文将会告诉你CSRF token...
    Read more...

  • 国际化应用开发中的时间处理 - Floating and Explicit Time(中文) 概述 在为世界各地的用户开发应用程序时,通常会错误地实现时间,这是因为大多数开发人员都不了解浮动时间(Floating Time)和显式时间(Explicit Time)的概念。在本文中,我们将讨论它们是什么以及如何在时区中使用它们...
    Read more...

  • Develop Applications with Time - Floating and Explicit Time Overview When developing applications for users around the world, time is often implemented incorrectly, that’s beca...
    Read more...

  • User System Design Overview Design a user system is probably the most important part of an internet or SaaS application, In the last de...
    Read more...

  • 用户系统的设计 前言 设计用户系统可能是Internet或SaaS应用程序中最重要的部分。在过去的十年中,我一次又一次地看到错误的设计,当您稍后意识到设计缺陷时,这会花费多倍的努力去改善。 例如,我曾经使用过一个运行着超过80亿美元的系统,它将用户...
    Read more...

  • Cache Consistency with Database Overview Cache consistency and coherency is one of the most difficult problems in computer science and it’s a very b...
    Read more...

  • 数据库和缓存的一致性 前言 此文为之前发布的Cache Consistency with Database的中文版. Cache consistency and coherency 是计算机科学中非常困难的两个话题,本文我们只讲述一种情况,就是我们使用...
    Read more...

  • Android 8的安全新特性:下行短信验证 前言 目前通过下行短信验证码来验证手机号码来完成注册是非常常用的手段,尽管他的安全性存在一定问题,但是下行短信验证在短期内仍然是在安全和体验方面比较比较平衡的选择。 由于SS7漏洞的原因,去年NIST已经不再推荐下行短信两阶...
    Read more...

  • 不要使用MySQL autoReconnect 很多使用MySQL的示范代码中都会出现autoReconnect=true这个参数, 但是实际上这个参数已经被deprecated. 以下是mysql的官方文档 autoReconnect: Should the d...
    Read more...

  • Redis 3.0 架构总览 Redis可以接受并发请求但它是不是一个能够并发处理请求的服务器, 所有的操作都必须被单个线程在内存里快速完成操作, 所以他没有context switching, 没有false sharing, 寄存器和cache一直是热的. 但...
    Read more...

  • 分布式系统一致性的发展历史 (二) 在本系列第一篇文章中我们提到了Lamport Clock如何启发人们在分布式系统中开始使用新的的思维方式, 并介绍了Sequential Consistency和Linearizability. 本篇文章会稍微停留一下, 我们会介绍他...
    Read more...

  • 分布式系统一致性的发展历史 (一) 前言 在一个理想的世界里, 我们应该只有一个一致性模型. 但是多路处理器和分布式系统中的一致性问题是一个非常难以解决的问题. 当系统大多还都是单体应用, 处理器性能提升还是靠缩小晶体管体积的年代, 一致性问题还不是一个非常大的问题,...
    Read more...

  • FLP Impossibility的证明 作为分布式系统历史中最重要的一个定理之一, FLP是每个做分布式系统的开发人员都应该深刻理解的一个基础. 但是FLP的证明过程不是特别容易, 原文中作者撰文非常简练精确, 本文通过一些例子和不太严格但是容易理解的语言来帮助读者理解FL...
    Read more...

  • 分布式系统中的网络模型和故障模型 因为分布式系统的网络模型和故障模型在我的博客中可能会经常被引用, 所以我写了本文作为一个引用文章. 分布式系统中的网络模型 同步网络(synchronous network): 这里的同步网络和编程中的同步阻塞io和异步非阻...
    Read more...

subscribe via RSS