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

go - 关于是否该继续使用grpc的困惑?

寿伟
2024-06-03

个人项目,亦不考虑网络问题
我用的是electron做界面,golang作为后台。

  • node对我的需求来说不太行,所以采用go替代。
  • 用electron是因为我需要的功能只有它能提供,其他基于浏览器的框架都不行

问题就是electron与go的通信问题,机缘巧合下接触了grpc,就在项目中用了,整体来说还不错,但我越来越感受到,我不需要它。也是由于它不支持多维数组,导致有的地方我不得不传递json字符串,否则就要改数据结构……得不偿失

目前我看好它的点在于双向通信,也是很必要的一个功能,但浏览器不支持直接使用grpc,还要用node中转就让我很难受,都用node了,我又何必再用grpc?开个服务互传不就得了?

所以我在想,要不要去掉grpc,毕竟写proto还是挺麻烦的,我基本可以接受json走天下的,还是本机进程通信,性能也不是问题……

或者grpc有什么特别突出的优势吗?
感谢

共有1个答案

柳英豪
2024-06-03

满足功能同时项目要越简单越好。 如果json能够满足你的需求就不要用grpc了。
其他:界面用electron的,其实也还阔以考虑 node,这样就一套代码行天下了。还是根据你需求好了

 类似资料:
  • 本文向大家介绍Go 打破并继续,包括了Go 打破并继续的使用技巧和注意事项,需要的朋友参考一下 示例 像许多其他语言一样,Go也支持打破循环并继续进行下一个迭代: 该break和continue语句还接受一个可选的标签,用于标识外环路与声明的目标:            

  • 反应器错误处理留档(https://projectreactor.io/docs/core/3.4.10/reference/index.html#error.handling)声明错误处理运算符不允许原始序列继续。 在学习错误处理操作符之前,必须记住,反应序列中的任何错误都是终端事件。即使使用了错误处理操作符,也不会让原始序列继续。相反,它将onError信号转换为新序列(回退序列)的开始。换言

  • 我正在努力提高Go gRPC服务器的覆盖率,但我在为服务器的拦截器功能编写测试时遇到了麻烦,因为我无法有意义地满足类型。 我有一个带有以下签名的函数: 我假设任何gRPC方法都会满足的签名: 所以我尝试传入一个具有此签名的方法: 我想象这会起作用,因为这是拦截器实际正在做的事情(转发RPC),但出于某种原因Go抱怨道: 不能使用AuthService。GetToken(类型func(上下文。上下文

  • 当您可以调用递归方法而不是必须将递归方法设置为变量时,是否有一种简单的方法来理解? 例如... 只是调用递归函数遍历: self.recurse(node.left) self.recurse(node.right) 必须将递归函数设置为node。左和右。右: 节点。左=自我。递归(node.left) 节点。右=自我。递归(node.left) 另一个例子是删除bst中的一个节点,你必须将递归函

  • 1.首先,我想确认一下从编程的角度,我们有“静态类型检查”和“动态类型检查,对把? 2.一般情况下我们用typescript做静态类型检查,检查源码里面自定义数据类型,对把? 3.那么,我们做的所谓的动态类型检查是不是指的那些库,比如Joi,ajv什么的,比如你点击一个按钮,然后调这个库来检查一个obj的schema,如果类面的key value类型都能对的上,我们就通过,如果类型对不上,我们就报

  • gRPC的Go实现:高性能,开源,通用的RPC框架,将移动和HTTP / 2放在首位。有关更多信息,请参见gRPC快速入门:运行指南。 安装 要安装此软件包,需要安装Go并在计算机上设置Go工作区。安装库的最简单方法是运行: $ go get -u google.golang.org/grpc 有了Go模块支持(Go 1.11+),只需import "google.golang.org/grpc"