摘要
近日,Lyft 在 InfoQ 上分享了一篇关于使用 Protocol Buffers 进行系统间集成的经验,重点介绍了协作式协议设计的最佳实践。Lyft 软件工程师 Roman Kotenko 在文章中提出了协议设计的关键原则和最佳实践,旨在提高知识共享、一致性和开发流程质量。
协议设计的关键原则
Kotenko 在文章中强调了协议设计的关键原则,包括:
1. 清晰性:设计良好的协议在定义消息时,要明确哪些字段必须要设置。这样可以防止在实现过程中漏掉某些信息。
2. 可扩展性:协议结构的构建必须要考虑到未来的愿景和潜在的发展路线图。这样,一些可预见的新增内容和破坏性变更就可以提前考虑到。
Lyft 的最佳实践
Lyft 在使用 Protocol Buffers 多年后,积累了丰富的经验,并总结了一些最佳实践:
1. 使用消息校验功能:Lyft 强调了使用 Protocol Buffers 的消息校验功能的收益。protovalidate 项目是一个基于用户定义的校验规则在运行时校验消息的推荐方式。
2. 统一常量值:Lyft 团队创建了一种方式,用来统一在协议定义中跨多个实体的常量值。
3. 使用通用数据类型:在通用的用例中使用众人熟知的数据类型,包括未知的枚举值。
4. 利用“optional”标签:利用 Protobuf 3.15 引入的新“optional”标签明确标记可选字段。
5. 查看特定语言的教程:查看特定语言的教程对于了解所需的设置和所有微妙的细节至关重要。
总结
Lyft 通过分享协作式 Protocol Buffers 设计的最佳实践,为其他公司提供了宝贵的经验和指导。这些实践有助于提高知识共享、一致性和开发流程质量,从而提升整个团队的协作效率。
Views: 0