当前位置: 首页 > 知识库问答 >
问题:

可视化gRPC和协议缓冲区

卢雅惠
2023-03-14

我们接近100人。proto文件,其中每个文件可以定义大约10个IDL结构(如服务或消息)。

有没有一种方法可以可视化它们,包括引用(从一个文件到另一个文件)。例如类似于UML类图。

可能有可配置的可视化Java /C。

引用自https://developers.google.com/protocol-buffers/docs/overview

协议缓冲区现在是谷歌的通用数据语言——在撰写本文时,在12183的谷歌代码树中定义了48162种不同的消息类型。原型文件。

我想知道他们是如何处理的。

共有2个答案

万俟玉书
2023-03-14

我有类似的问题:我试图阅读大量的原型并理解它们之间的关系。构建它们的可视化表示来查看可用的内容以及它们如何相互连接将非常有用。

我发现了几个项目,也许它们会帮助别人:

  • protoc gen uml
  • protobuf2uml
  • 架构uml
  • protoc gen文档

虽然,对我来说,由于不同的原因,它们效果不佳,但你可以试试。

张鸿宝
2023-03-14

https://github.com/seamia/protodot

  • 超级易用且功能强大的工具
  • 生成。来自的dot(如果安装了graphviz,则为.svg/.png)文件。协议
  • 发现所有依赖项,不要求所有依赖项都存在
  • 按指定资源(消息、RPC、服务、枚举)筛选
  • 可以生成导入依赖关系图
 类似资料:
  • 问题内容: 我正在使用gSoap将旧式C 系统重构为SOA。我们遇到了一些性能问题(非常大的XML),因此我的领导要我看一下协议缓冲区。我做到了,它看起来非常酷(我们需要C 和Java支持)。但是协议缓冲区是仅用于序列化的解决方案,现在我需要将其发送到Java前端。从C ++和Java角度来看,我应该使用什么来通过HTTP(只是内部网络)发送那些序列化的内容? PS。另一个人试图加速我们的gSoa

  • 请注意:虽然这个问题特别提到了Dropwizard,但我相信任何有泽西/JAX-RS经验的人都应该能够回答这个问题,因为我可以想象Dropwizard只是在幕后遵循泽西/JAX-RS约定。 我有一个Dropwizard服务,它用JSON编写,工作非常出色。 现在我想将其切换为读/写二进制数据(以最小化网络带宽)。我看到了Dropwizard Protobuf库,但我对在Dropwizard中实现二

  • 我在客户机-服务器体系结构中使用协议缓冲区作为有线数据格式。域对象(JavaBeans)将经历以下生命周期。 用于客户端业务逻辑 转换为协议格式 传送到服务器 转换回域对象 用于服务器端业务逻辑 “协议缓冲器和O-O设计”部分在协议留档中建议在适当的域模型内包装生成的类。 我想找出最好的办法。 例如,我有一个简单的原型定义。 这就是域模型的定义方式。如您所见,数据完全存储在proto builde

  • 试图使用Ionic 4中的协议缓冲区进行编码 我已经下载了协议并用它来生成一堆_pb.js文件,每个. proto文件一个。很好。 首先关注原型示例。这是示例代码: 我做了一些更改以匹配我的文件。更改proto文件的名称。但是我的proto文件中没有包名称。所以我只是使用了消息名称。首先这是我的. proto文件的开头: 下面是我修改后的代码: 这似乎不起作用。我的控制台显示: 我相信我已经成功地

  • 两者都是序列化库,由谷歌开发人员开发。他们之间有什么大的区别吗?将使用协议缓冲区的代码转换为使用FlatBuffers需要大量工作吗?

  • 据我所知,协议缓冲区主要用于控制服务器和客户端代码的项目。我的一般问题是——协议缓冲区能否用于将二进制消息序列化/反序列化到使用现有协议的服务器?所以,我的问题: > 如果协议缓冲区不支持本机微调现有协议的序列化/反序列化方式,那么可以通过扩展添加该功能吗?是否可以以某种方式添加序列化/反序列化方法可以识别的关键字?也许这可以通过扩展或修改protobuf csharp port或protobuf