我们正在尝试对网络设备的配置进行建模。这个模型将是相当分层的。杨对普罗布夫写模型的利弊是什么?
发布于 2018-08-23 18:58:33
TL;DR:如果您想要利用真正的NW管理标准,那么请使用YANG和NETCONF/RESTCONF。如果您的用例非常具体,并且希望进展更快,那么请使用协议缓冲区。
如果您的设备将由各种网络管理工具管理,那么使用YANG进行建模并在设备中放置第三方NETCONF代理(如TailF ConfD)可能是有益的。您的工作将是“只是”定义您的模型,并将设备内部与代理集成。YANG和NETCONF/RESTCONF是实际的网络管理标准,因此您的设备将与许多已经支持YANG和NETCONF的管理工具兼容。所以,通过选择杨,你实际上可以为你的设备打开商机。
正如predi所建议的,您可以选择使用YANG创建模型,然后开发一种自动方法将这些模型转换为protobuf模型。这样,您就可以使用protobuf在运行时利用先进的YANG建模和快速、紧凑的通信。对于开源项目来说,这听起来是个非常有趣的想法(人们已经对一些 大范围有了这样的想法),但这需要相当多的努力,如果没有这两种技术的专业知识,就很难做到这一点。请注意,通过将YANG和protobuf单独混合在一起,您将永远无法实现第一种方法的好处,因为在NW管理世界中将没有这样的标准。
如果你的焦点是时间,而你只是想得到编码,那么我个人建议使用干净的原型。这将使您的解决方案更简单,您可以充分利用大型protobuf社区。当然,杨有优势,它与真正的NW管理协议密切相关,但它也是复杂的,不那么受欢迎,所以你很可能会迷失在它的所有特点。
https://stackoverflow.com/questions/51960316
复制相似问题