20.Go 语言前沿

  1. 1.用反射为什么慢,影响性能?
  2. 2.singlefly的作用是啥
  3. 3.有没有其他些什么玩具编译后端用Go,前端是其他语言的
  4. 4.Go获取linux服务器的目录信息,也就是说操作linux服务器只能通过执行shell命令ls这类的方法吗,Go可以跟shell一样直接操作linux吗
  5. 5. 这样的方式实现泛型,是可以“操作符重载”吧? https://go2goplay.golang.org/p/cCRlrSj1YJd
  6. 6.一般常见的范型实现原理有什么?麻烦简单介绍下,就想了解下,模型方式是指编译时拿“模版”替换范型占位符,生成相同一批方法这样子吗?
  7. 7.「Golang 约定以 h指代 SHA-算法,若以后采用其他哈希算法,可能会出现 h2、h之类的算法代号,目前(至少 年内),都只用到了 h1」
  8. 8.曹大,稍微讲一下 BFE 可好?最近经常看到这个东西
  9. 9.对 内部gateway 编写有点疑问,一般gateway 都像nginx类似,通过 route 判断转发,内部grpc 服务 没有route path 这些概念,内部 gateway 是不是类似实现web route,然后调用grpc集合?类似bff?
  10. 10.fasthttp有哪些不常用场景(除了长链接),例如gnet基于epoll改的net方案,适合http的短链接么,应该怎么对他们进行压测呢,压测指标是什么呢— 除了不兼容原生net还有什么坏处么
  11. 11.能不能讲讲Go语言有哪些坑

1.用反射为什么慢,影响性能?

  • reflect 里有很多字符串相关的遍历操作

2.singlefly的作用是啥

  • singleflight,cdn 的场景里去做回源去重的
  • 1000 台机器,10w QPS,都是在访问相同的数据,所有的请求都发往存储系统
    • => 如果同一时刻的请求,有相同的 key,news_id = CTRL,都在访问同一条新闻,那么存储系统就要接收并处理 10w QPS
    • 如果有 single flight 去重,相当于的单台实例,对同一个 key 只会发出一个请求
    • 相当于相同的 key,直接等待已经先发出的请求回来就可以了

3.有没有其他些什么玩具编译后端用Go,前端是其他语言的

4.Go获取linux服务器的目录信息,也就是说操作linux服务器只能通过执行shell命令ls这类的方法吗,Go可以跟shell一样直接操作linux吗

  • os.Command

5. 这样的方式实现泛型,是可以“操作符重载”吧? https://go2goplay.golang.org/p/cCRlrSj1YJd

图片

  • var t1, tTree
  • t< t2
  • 也就是,这里最多还是只能通过泛型的字段进行大小比较呗?嗯,非内置类型,没法用运算符去做比较,这样可能有的逻辑不好实现

6.一般常见的范型实现原理有什么?麻烦简单介绍下,就想了解下,模型方式是指编译时拿“模版”替换范型占位符,生成相同一批方法这样子吗?

  • todo

7.「Golang 约定以 h指代 SHA-算法,若以后采用其他哈希算法,可能会出现 h2、h之类的算法代号,目前(至少 年内),都只用到了 h1」

8.曹大,稍微讲一下 BFE 可好?最近经常看到这个东西

9.对 内部gateway 编写有点疑问,一般gateway 都像nginx类似,通过 route 判断转发,内部grpc 服务 没有route path 这些概念,内部 gateway 是不是类似实现web route,然后调用grpc集合?类似bff?

  • grpc gateway
  • 拿到业务的 pb,grpc gateway 一般没啥业务属性
  • bff 一般是业务部门维护的网关吧

10.fasthttp有哪些不常用场景(除了长链接),例如gnet基于epoll改的net方案,适合http的短链接么,应该怎么对他们进行压测呢,压测指标是什么呢— 除了不兼容原生net还有什么坏处么

  • fasthttp 做了很多优化,但是它对标准 http 协议实现的不全,所以不应该用来实现对外的 gateway,在内网做一些服务还是可以的
  • netpoll 方案主要是为了解决长连接的情况下,goroutine 数量过多,内存占用过多。短连接没必要 netpoll
  • wrk,vegeta,hey ,压测指标,RED,request rate,error rate,duration(p99)吞吐有必要么,max qps,极限压测是为了摸顶系统性能上限,这样是为了去做容量规划

11.能不能讲讲Go语言有哪些坑


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 lihuanjie113@gmail.com

×

喜欢就点赞,疼爱就打赏