大型微服务框架设计实践

比较偏理论,介绍的概念基本在现有的主流公司都有一定程度的应用,思路大同小异,但是将微服务比作操作系统,个人觉得这个比喻很不错,我们开发基础组件需要保有这个为业务服务的思维。

用Go打造Grab的路径规划及ETA引擎

寻路算法,与之前几届内容差不多。

TiDB 的 Golang 实践

开发 TiDB 过程中的一些实践,自研的 Schrodinger ,模拟实际场景中硬件、软件中多种多样意外场景的随机测试平台,支持 gofail,自定义 failpoint;goroutine 内存泄露的讨论;高效的编码格式。

How to write testable code

单元测试的编写思想,针对可导出函数进行单元测试。
更加完整的测试结果输出:

func TestSplit(t *testing.T) {
 tests := map[string]struct {
 input string
 sep string
 want []string
 "simple": {input: "a/b/c", sep: "/", want: []string{"a", "b", "c"}},
 "wrong sep": {input: "a/b/c", sep: ",", want: []string{"a/b/c"}},
 "no sep": {input: "abc", sep: "/", want: []string{"abc"}},
 "trailing sep": {input: "a/b/c/", sep: "/", want: []string{"a", "b", "c"}},
 for name, tc := range tests {
 t.Run(name, func(t *testing.T) {
 got := Split(tc.input, tc.sep)
 diff := cmp.Diff(tc.want, got)
 if diff != "" {
 t.Fatalf(diff)

关于TDD的一个YouTube视频
关于TDD的一个YouTube视频

Go 业务基础库之 Error & Context

错误处理的一些思路分享;Context的使用建议,在不确定的时候就是用 context.TODO;很多很实在的编程经验,受益良多。

Go 同步和并发设计模式

基础深入的讲解。

  • Mutex
  • RWMutex
  • Waitgroup
  • ReentrantLock
  • Semaphore
  • SingleFlight
  • ErrGroup
  • SpinLock
  • Fslock
  • Concurrent Map
  • 后续还有原子操作、channel 和内存模型的讲解。

    百度APP Go语言实践

    开发框架,依赖管理,代码检查的相关介绍。

    用Go打造实时音视频SaaS云服务

    公司业务介绍,实践中遇到的问题分享,

    基于Minio的对象存储方案在探探的应用

    技术方案选型过程,压测中遇到的问题,以及相关的解决思路。Minio不能胜任小型数据的大量级读写操作,采用 leveldb 来有序化读写流程,从而提高效率。

    从 0 开始用 Go 实现 Lexer & Parser

    内容很深奥...
    分享很有趣...

    高性能高可用开发框架TarsGo的腾讯实践

    不错,想用。

    闪电网络—BTC小额支付解决方案

    个人感觉还是在进行中心化。

    Using Go Modules in everyday life

    go mod 的使用技巧,还有 goland 的相关操作。

    用Go构建高性能数据库中间件

    赶火车去了...

    golang在花椒直播业务场景下的微服务应用

    知乎社区核心业务 Golang 化实践

    浙ICP备 15005796号-2   浙公网安备 33010602002000号

    CDN 存储服务由 又拍云 赞助提供