我使用 PB 已经有一段时间了,但是,Thrift 一直在我的脑海里。
在我看来,节俭的主要优点是:
- 本机集合(即向量、集合等)与 PB 重复提供的功能类似于但不太像(没有迭代器,除非您深入研究文档指出“在大多数情况下不需要”的 RepeatedField)。
- 提供了一个不错的 RPC 实现,而不仅仅是插入你自己的钩子。
- 更多官方支持的语言(PB 为 Java、C++、Python 提供“官方”支持)
节俭的缺点:
- RPC 实现意味着我不能在顶部插入我自己的(例如)加密/身份验证层。
- Windows 支持似乎不是很好。
- PB 肯定似乎有(如果不是更好的话)更易于访问的文档。
中性的:
- Windows (Thrift) 上 .lib/.dll 的大小未知。
- Windows 上的大尺寸 .lib(PB,但它确实提供了一个小得多的 -lite)。
- 速度方面,它们似乎都相似。
我还没有准备好冒险并切换到 Thrift,任何人都可以为我提供更多优点/缺点,或者选择一种方式或另一种方式的理由吗?
谢谢!