架构
rpcx vs gRPC vs Thrift
技术栈与生态系统
gRPC
语言支持:官方支持 C++、Java、Python、Go、Node.js 等多种语言,生态成熟,适合跨语言微服务。
协议:基于 HTTP/2,支持多路复用、二进制分帧、头部压缩等特性,性能优越。
序列化:默认使用 Protocol...
gRPC vs Thrift
功能特性
gRPC:基于 HTTP/2 协议,支持双向流、消息头压缩等特性,能更高效地传输数据,尤其在处理实时性要求高、数据量小的场景(如物联网、实时通信)中表现出色。
Thrift:提供多种传输协议(如 TCP、HTTP 等)和序列化方式(如二进制、JSON 等),可根据不同应用场景灵活选择,在数据量较大、对性能有一定要求的场景(如大数据处理、文件传输)中应用广泛。
略探 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)...