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 4
说实话,这些都不需要,grpc + k8s 就可以了
|
7
mthaiq 2021-08-06 12:14:34 +08:00 2
@Hanggi 第三代微服务直接用 k8s 做负载均衡,k8s etcd 做注册中心,k8s configmap 做配置中心
|
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 1
@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 1
大而全的微服务框架不适合中小团队直接拿来用,而大团队自家定制、不太需要用别人的
单就 RPC: https://colobu.com/2021/08/01/benchmark-of-rpc-frameworks/ 帖子中的性能数据可能不准确,最好自己跑那个代码实测下,易用性和各方面优劣可用自行对比 |
21
lesismal 2021-08-06 15:12:54 +08:00 1
|
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 1
公司全部换成 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 1
@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
小项目用不到,大项目直接 k8s+istio
|
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
|