在上一讲,我们明确了Buf
套件的定位 - Buf
重点是通过对Protobuf Schema
的规范化,提供代码生成、依赖管理等一站式的API接口管理方案,来保证开发效率与团队协作的收益最大化。
那么,Buf
生态究竟提供了哪些具体的工具与平台,来支撑其能力呢?通过本篇的分析,你将不仅仅了解Buf
项目的设计,更能窥一斑而见全豹,熟悉一个中型开源项目的构成,为后续在自己项目中的落地提供理论支撑。
两大组件 - Schema Registry与CLI
作为buf
主推的两大产品,Schema Registry
和 CLI
的定位非常清晰:
- Schema Registry 是一个远端管理
buf schema
的解决方案,可以类比github
- CLI 是一个在本地终端运行的二进制工具,也是与
Schema Registry
交互的工具
对照上面的设计图,这两个产品的功能不难猜测。这里,我换一个角度和大家聊聊这两个产品 - 收费pricing。如果你作为负责人,你会想要怎么收费呢?没错,收费的重点放在Schema Registry
上:
CLI
作为一个和各终端交互的工具,如果作为收费点,一来很难控制,二来很影响用户的直接体验;Schema Registry
作为一个集中式的、远端的服务,对官方来说容易升级维护,也是协作能力的卖点所在;
到这里,我们对这两个产品有了一定的理解,而且明确了学习的重点 - CLI
的使用。
关于
Schema Registry
部分,如果公司有一定的基础建设(主要是CICD体系),可以找到替代方案。这部分不会作为教程的重点,毕竟影响到了
Buf
团队的商业模式了。
计费 - Pricing
计费模式,是公司对产品经过反复推敲,才选定的最合适、最有价值的核心竞争力。以buf的计费模式为例,我们来看看3个计费点:
Schema Registry
访问方式 - private化- 人工支持 - 24h答疑
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