架构

略探 Thrift

Thrift 作为 Apache 旗下的开源 RPC 框架,凭借其灵活的设计、强大的跨语言能力和高效的性能,在众多技术场景中发挥着重要作用。本文将从核心概念、特性优势到实际应用几个方面略探 Thrift。 核心概念Thrift 是一个完整的 RPC 框架,它提供了一套完整的解决方案,涵盖接口定义语言(IDL)、编译器以及多种语言的库。Thrift 的核心在于通过...

略探 gRPC

RPC 作为一款由 Google 开发的开源 RPC 框架,凭借其先进的设计理念和强大的功能特性,成为众多开发者的首选。本文将从核心概念、特性优势到实际应用几个方面略探 gRPC。 核心概念gRPC 基于 HTTP/2 协议构建,采用 Protocol Buffers(protobuf)作为默认的接口定义语言(IDL)。HTTP/2...

BASE原则

BASE:Basically Available, Soft-state, Eventually Consistent。 由 Eric Brewer 定义。 CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。 BASE是NoSQL数据库通常对可用性及一致性的弱要求原则: Basically Availble: 基本可用 Soft-state: 软状态/柔性事务。 “Soft state” 可以理解为”无连接”的, 而 “Hard...

设计模式的分类和原则

设计模式(Design Pattern)是经过分类的、代码设计经验的总结, 是为了提高代码的可重用性、可理解性和可靠性, 是某类问题的解决方案, 代表了最佳实践. 面向对象的设计模式有七大基本原则: 开闭原则(Open Closed Principle,OCP) 单一职责原则(Single Responsibility Principle, SRP) 里氏代换原则(Liskov Substitution Principle,LSP) 依赖倒转原则(Dependency Inversion...

CAP定理

在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer’s theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性(Consistency) (所有节点在同一时间具有相同的数据) 可用性(Availability) (保证每个请求不管成功或者失败都有响应) 分隔容忍(Partition tolerance)...