Js和Go不同框架如何配置Kafka环境投送JSON

我正在构建几个微服务和一个日志记录微服务。

日志记录微服务代码将在其他微服务将日志发送到 kafka 之后出现。作为微服务的日志记录必须使用从基于 JS 的微服务发送的所有日志数据,我必须在 GO 中接收 JSON。
有没有不使用解析器的其他方法?(就像 g-RPC 将整个数据更改为二进制以便更快地传输并且对于每个环境都是可以理解的。)

我对使用消息代理时不同环境如何协同工作知之甚少。


浮云间
浏览 83回答 2
2回答

郎朗坤

我不确定我是否完全理解您的要求。Kafka 存储字节,在 JS 或 Golang 中都有客户端。两种语言/环境都需要有用于序列化和反序列化的可用库。关于 golang,你不需要结构来读取 JSON。像 g-RPC 将整个数据更改为二进制以加快传输速度,并且对于每个环境都是可以理解的您可以在 Kafka 主题中使用 Protobuf。或者,您可以使用 Elasticsearch 或 Splunk 等工具来使用任何 Kafka 事件并在反序列化这些记录后为字段编制索引,而无需任何 Go 消费者。但是,是的,某个地方需要一个解析器来将您的数据索引为可搜索的格式。

呼唤远方

您可以使用模式(Protobuf、Avro、JSON 模式),因此它将被转换为二进制,尽管要利用它的全部优势,您将需要一个模式注册表,否则,它会将模式嵌入到每条消息中。
打开App,查看更多内容
随时随地看视频慕课网APP