V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  qloog  ›  全部回复第 1 页 / 共 24 页
回复总数  464
1  2  3  4  5  6  7  8  9  10 ... 24  
14 小时 50 分钟前
回复了 SGL 创建的主题 程序员 TiDB 为什么使用 Go 语言开发,有什么优势和考虑吗
严格上来说 TiDB 部分 使用 Go 写的, 是 Server 计算层,主要负责 SQL 的解析、制定查询计划、生成执行器;

PD 部分也是用 Go 写的

TiKV 部分 是用 Rust 写的,是分布式 Key-Value 存储引擎,用来存储真正的数据

三者各司其职。
2 天前
回复了 cxhello 创建的主题 Go 编程语言 Go 框架使用调研
eagle(gin) + gorm
封装标准库,如果嫌麻烦可以用 resty

基于标准库封装的一个,仅供参考: https://github.com/go-eagle/eagle/blob/master/pkg/client/httpclient/client.go
厉害,已 star, 另外 关于子命令和帮助可以使用 github.com/spf13/cobra 可以极大的优化代码结构
24 天前
回复了 h1apaazz 创建的主题 Go 编程语言 golang 微服务框架选择困惑
kratos ,不错,设计理念开放,扩展性强,部分设计和 go-micro 类似
但是我用: https://github.com/go-eagle/eagle 和 kratos , go-micro 也有类似之处
37 天前
回复了 gimp 创建的主题 程序员 求推荐个 Cursor/vscode 写 Golang 代码的主题
GitHub Theme 的 Dark 模式
37 天前
回复了 thisisgpy 创建的主题 程序员 golang 老鸟快快显圣
44 天前
回复了 idblife 创建的主题 程序员 举个自己用 cursor 的例子吧
点开吓我一跳 Σ(⊙▽⊙"a
44 天前
回复了 AntonChen 创建的主题 Go 编程语言 Fiber 还是 Hertz
适合自己的就是最好的,我用: https://github.com/go-eagle/eagle 基于 gin 的扩展版
提供了脚手架和常用的功能封装
@asmoker 没有,主要讲解什么的?给大家科普下
不不,还是有很多不一样的地方
@Corrots 也不是这么绝对,看服务的流量大小,如果小可以全开,大的话就像你说的,需要采样了,不然成本太高
又没出来,继续补,两种,看哪种可以出来:

https://i.imgur.com/CGezrDx.png

[img]https://i.imgur.com/wno5Xsi.png[/img]
上面的图片没显示出来,补个图

https://imgur.com/CGezrDx
一般使用了 opentelemetry 协议+ 实现了协议的框架都可以做到。

目前主流协议: https://opentelemetry.io/
使用的框架,比如: https://github.com/go-eagle/eagle

框架只要把一些常用组件支持 opentelemetry 协议即可,比如
- HTTP Client
- HTTP Server
- 日志
- 数据库
- Redis
- 函数追踪
- gRPC

当前服务和上下游服务都接口后即可追踪到,示例:
![接口请求调用详情]( https://go-eagle.org/assets/images/api-trace-detail-c0cb34515a66c82f62cb366b16b46d91.png)

更多可以查看: https://go-eagle.org/docs/component/tracing/component
我用 https://github.com/go-eagle/eagle , 用自己熟悉的才是最好的
72 天前
回复了 ForkNMB 创建的主题 Linux Linux 定时任务添加
一直以为只有 crontab, 原来还有 systemd timer , 以后也用 systemd timer
使用 github.com/pkg/errors

1.业务最底层,比如 db,api, rpc 等等,使用 errors.Wrap(...) - 携带堆栈
2.中间层,errors.WithMessage(err, "your custom msg...") - 携带本层的自定义信息
3.最上层打印错误日志,log.Errorf("xxxxx, err: %w", error) - 打印日志

PS: 中间使用 errors.WithMessage 而不是 errors.Wrap ,是未了避免最上层打印太多的堆栈信息,只在最底层携带一次堆栈信息
@javazero 刚换到 GitHub dark
1  2  3  4  5  6  7  8  9  10 ... 24  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2480 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 15:53 · PVG 23:53 · LAX 08:53 · JFK 11:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.