Junedayday Blog

六月天天的个人博客

0%

Go-Buf教程 - 2.【背景篇】Buf生态概览

在上一讲,我们明确了Buf套件的定位 - Buf重点是通过对Protobuf Schema的规范化,提供代码生成、依赖管理等一站式的API接口管理方案,来保证开发效率与团队协作的收益最大化。

那么,Buf生态究竟提供了哪些具体的工具与平台,来支撑其能力呢?通过本篇的分析,你将不仅仅了解Buf项目的设计,更能窥一斑而见全豹,熟悉一个中型开源项目的构成,为后续在自己项目中的落地提供理论支撑。

两大组件 - Schema Registry与CLI

作为buf主推的两大产品,Schema RegistryCLI 的定位非常清晰:

  • Schema Registry 是一个远端管理buf schema的解决方案,可以类比github
  • CLI 是一个在本地终端运行的二进制工具,也是与Schema Registry交互的工具

Buf

对照上面的设计图,这两个产品的功能不难猜测。这里,我换一个角度和大家聊聊这两个产品 - 收费pricing。如果你作为负责人,你会想要怎么收费呢?没错,收费的重点放在Schema Registry上:

  • CLI作为一个和各终端交互的工具,如果作为收费点,一来很难控制,二来很影响用户的直接体验;
  • Schema Registry作为一个集中式的、远端的服务,对官方来说容易升级维护,也是协作能力的卖点所在;

到这里,我们对这两个产品有了一定的理解,而且明确了学习的重点 - CLI的使用。

关于Schema Registry部分,如果公司有一定的基础建设(主要是CICD体系),可以找到替代方案。

这部分不会作为教程的重点,毕竟影响到了Buf团队的商业模式了。

计费 - Pricing

计费模式,是公司对产品经过反复推敲,才选定的最合适、最有价值的核心竞争力。以buf的计费模式为例,我们来看看3个计费点:

  1. Schema Registry访问方式 - private化
  2. 人工支持 - 24h答疑
  3. Schema Registry进阶能力 - 在平台侧提供各项进阶能力,主要和安全、协作相关

分析一下这些收费点,会发现开源产品收费策略的一些共性:

  • 收费点不能限制产品核心流程上的体验
  • 收费点不要限制产品的推广、传播
  • 收费点要有明确的目标客户

收费模式决定了产品的成败,是我们在技术选型时的重要考量点:如果你不认可该产品的收费模式,认为注定失败,那就提前规避风险、换个方案。

小结

本节从Buf的两大组件和收费模式进行了分析,相信大家对Buf的生态有了基本的认识。

一句话总结:Buf Cli提供了本机上的命令交互,是开发者要重点熟悉的工具;而Schema Registry提供了远端协作的能力,作为产品的核心收费点。

Github: https://github.com/Junedayday/code_reading

Blog: http://junes.tech/

Bilibili: https://space.bilibili.com/293775192

公众号: golangcoding

二维码