go-zero 、kratos 、micro?
希望能有使用过比较深的人来综合比较下。
![]() | 1 waising 2021-08-06 10:06:19 +08:00 kratos 还有字节的 kitex 可以看下....我们用的原生 grpc |
![]() | 2 777777 2021-08-06 10:08:25 +08:00 蹲,目前在用 go-zero |
3 yuyoung 2021-08-06 10:36:37 +08:00 Micro 就不要了,资料少,Kratos 很不错 |
![]() | 4 ahmcsxcc 2021-08-06 10:38:30 +08:00 go-zero 、kratos 里选一个吧 |
![]() | 5 NaVient 2021-08-06 10:45:41 +08:00 kratos 设计理念不错 |
![]() | 6 Hanggi 2021-08-06 10:48:30 +08:00 ![]() 说实话,这些都不需要,grpc + k8s 就可以了 |
8 webmasterisadog 2021-08-06 12:21:43 +08:00 @Hanggi 有没有轻量级的微服务架构?适合做写简单的开发和实验用于论文写作。 |
![]() | 9 damngood 2021-08-06 12:47:21 +08:00 grpc + 前置网关 |
![]() | 10 labulaka521 2021-08-06 13:06:49 +08:00 grpc+1 写个代码生成就可以了 |
![]() | 11 PureWhiteWu 2021-08-06 13:08:00 +08:00 Kitex |
![]() | 12 mritd 2021-08-06 13:11:31 +08:00 kratos 、go micro 、go kit 吧 go zero 真的慎用... 看着都不错 用起来全是坑 |
![]() | 13 masterclock 2021-08-06 13:14:01 +08:00 dapr |
![]() | 14 herozzm 2021-08-06 13:17:07 +08:00 golang 不需要什么微服务框架吧 直接开撸挺香啊 |
16 sb137885 2021-08-06 13:59:21 +08:00 k8s 梭哈,再不行 istio,然后 dapr,还有 layotto,哈哈 |
![]() | 17 mritd 2021-08-06 14:08:42 +08:00 ![]() @seyoatda #15 譬如你想同时暴露 grpc 接口和 http json 接口,那么你必须写 api 层,API 层是自己定义的一个 DSL,还要手撸一遍 rpc 层的结构体,然后手动 "copy" 过去;最难受的是 go zero 的序列化框架是自己写的,就比如序列化常用的 json 、form tag 啥的很多属性都是不支持的;然后你不清楚的情况下还可能会有迷之行为,而且最近开了两个 issue 来看,基本上你的 issue 项目管理者只要认为解决了就直接关了,不会有任何确认的,多了不说了,我也是帮别人弄东西的时候发现他们用了这个框架,我帮忙调试都快哭了。 |
![]() | 18 yinheli 2021-08-06 14:13:25 +08:00 自研了,gRPC + gRPC-gateway,开源在 github 主要是让之前的项目,RESTful API 能比较平滑的过渡过来 |
![]() | 19 bugyang 2021-08-06 14:42:36 +08:00 正在学习 go-zero |
![]() | 20 lesismal 2021-08-06 14:48:06 +08:00 ![]() 大而全的微服务框架不适合中小团队直接拿来用,而大团队自家定制、不太需要用别人的 单就 RPC: https://colobu.com/2021/08/01/benchmark-of-rpc-frameworks/ 帖子中的性能数据可能不准确,最好自己跑那个代码实测下,易用性和各方面优劣可用自行对比 |
![]() | 21 lesismal 2021-08-06 15:12:54 +08:00 ![]() |
22 zibber 2021-08-06 16:29:48 +08:00 用过 rpcx 和 go-micro 现在项目用的 go micro |
![]() | 23 buddyy 2021-08-06 17:20:19 +08:00 我感觉在使用 k8s 情况下,这些微服务框架是不需要的。 虽然不直接使用,但是有些设计理念是可以借鉴使用的,在适合自己场景下进行改造乃上上策。 |
![]() | 24 caoyouming 2021-08-06 17:55:54 +08:00 自己撸,用 gin 做路由不香么 |
![]() | 25 wizzer 2021-08-06 17:56:59 +08:00 自己造轮子? |
![]() | 26 ifconfig 2021-08-06 18:39:29 +08:00 ![]() 公司全部换成 go-zero 了 |
27 stirlingx 2021-08-06 18:42:23 +08:00 最好原生 grpc |
![]() | 28 rita413413 2021-08-06 18:47:33 +08:00 @stirlingx 原生 grpc 服务发现,均衡负载,都要自己写,那不是很麻烦?感觉 go-zero 还可以吧。开一个接口时,先用 api 上,如果不够用,在将此接口改为微服务。 |
![]() | 29 windfarer 2021-08-06 19:07:01 +08:00 又来大乱斗了,欢迎来看看我们的 go-kratos |
![]() | 30 Lonenso 2021-08-06 19:24:15 +08:00 用过 rpcx 和 grpc |
![]() | 31 GoLand 2021-08-07 00:14:30 +08:00 字节 KiteX 的泛化调用很好用 |
32 dayeye2006199 2021-08-07 01:44:19 +08:00 为啥需要框架? grpc + k8s 就可以起飞了。需要 tracing 熔断 metrics 这类就上个 istio 或者 linkerd 。业务和运维的代码高度解耦化,写起来很清楚的。 |
33 dcoder 2021-08-07 05:16:20 +08:00 kratos... 这框架名字太中二了 LOL https://github.com/go-kratos/kratos/blob/main/README_zh.md |
![]() | 34 kevinwan 2021-08-07 08:49:17 +08:00 @mritd 很多个月没来 V2EX 了,用户发给我,我来回答一下哈 api 是个聚合层,rpc 是基础服务层,你说的 copy 过去,可能是希望 api/rpc 共用一套定义?我比较倾向于单一职责,所以就出现了你说的『 copy 』 json, form tag 不支持是指啥意思? go-zero 支持 path, form, header, json tags 能否列一下哪个 issue 直接关的?我们都会回复的 BTW:别人弄的,你调试哪个框架不哭?:) |
35 ldmid666 2021-08-07 09:34:18 +08:00 之前也是选择了很久,用 go-zero 有一段时间了,也提了几个 issue 感觉这个使用起来方便,但是自由度不够了。缓存设计那里有 bug,自带的 logx 库不好用,日志不太好用。 当然按照框架架构写代码还是挺舒服的。不够,我也想去尝试一下新的框架了 |
36 statumer 2021-08-07 13:54:44 +08:00 go-zero ? go-zero 背后的公司不是好未来么。。观望一下吧 |
![]() | 37 johnsona 2021-08-07 15:13:03 +08:00 via iPhone 说 kratos 的是不是因为有开源项目 手动 doge |
![]() | 38 HarveyZh 2021-08-07 20:23:18 +08:00 正在用 kratos,觉得还不错 |
![]() | 40 kevinwan 2021-08-07 22:53:47 +08:00 ![]() @statumer go-zero 我写了 8 年,不停从业务中抽象提炼,发展不会有影响的,而且我们正在捐赠给开源基金会 |
![]() | 41 Desdemor 2021-08-17 15:03:16 +08:00 现在用 rpcx |
![]() | 42 xmsz 2021-08-23 18:15:30 +08:00 国内微服务框架 阿里 dubbo-go 头条 kitex 腾讯 tars-go b 站 kratos 我们最后选择了 kratos,原因 - dubbo-go 感觉被名字局限了,毕竟是 go 版的 dubbo,而不是 go 版的 spring 。当然 dubbo-go 也是朝着更多功能扩展,但感觉还是怪怪的,期待再独立一个项目出来。但是毕竟阿里还是 Java 为主,Java 生态无敌 - 腾讯,每次都让人有种格格不入的感觉,但是确实这里做的最『未来』的,整体性很强。还有一个原因虽然和 tars 没关系,但是微信开发团队真的非常糟糕给腾讯名号蒙羞 - 头条,没什么感觉也没什么推广 - b 站,有概念感、业务实践、也喜欢毛剑老师。唯一缺点就是 git 社区客服戾气太重,有点玩不起的感觉,不知道是不是 b 站人员,可能是最近生活不顺利啥的。 然后为什么要框架,其实如果你只是写『脚本』那完全不需要 但是如果你需要架构层面,那肯定需要这类框架,rpc 框架现在基本都是往 go 框架发展 为什么选国内框架 - 中文太重要了 |
43 wfhtqp 2021-08-27 11:29:08 +08:00 |
![]() | 44 kongkongyzt 2021-12-26 18:43:14 +08:00 @xmsz 腾讯内部目前在用 trpc, 存量的 tars 项目都在往 trpc 转. 虽然 trpc 还没开源, 但是使用体验很不错, 非常轻量, 可插拔, 兼容各种内部的 rpc 协议(如 tars), http 协议等等, 设计的理念也很先进. 感觉开源出来的话会是一个非常优质的选择 |
![]() | 45 chiuan 2022-11-08 10:24:30 +08:00 @kongkongyzt 使用简单吗…… |
![]() | 46 solitude2 2022-12-26 09:51:53 +08:00 @kongkongyzt 设计的理念也很先进,这句可否展开说说?我感觉高性能这块实在看不起依据,易用倒是确实符合实际 |
![]() | 47 solitude2 2022-12-26 09:52:48 +08:00 腾讯的 trpc-go ,真的 nice |