• jxlwqq
    2021-09-02
    signal.Notify 需要使用 buffered channel 哦 ```go c := make(chan os.Signal, 1) ``` 参考:https://blog.wu-boy.com/2021/03/why-use-buffered-channel-in-signal-notify/

    作者回复: 感谢反馈,已更新

    
    5
  • 授人以🐟,不如授人...
    2021-09-08
    老师,没有理解编码实现优雅关闭服务的程序。这段程序和我们期望的:【期望 HTTP 服务可以在处理完所有请求后,正常地关闭这些连接,也就是优雅地关闭服务】有什么关系?

    作者回复: 有关系的,通过<-quit阻塞程序继续执行,当收到关停信号时,会停止阻塞,执行后面的srv.Shutdown代码,srv.Shutdown可以优雅关停HTTP服务。

    共 2 条评论
    4
  • Neroldy
    2021-07-26
    Get handler函数用Rlock会不会更合适?因为好像只有对product的读操作而没有写操作。

    作者回复: 是的,RLock更好

    
    3
  • 🌀🐑hfy🐣
    2022-09-22 来自广东
    请问老师觉得go-zero怎样?值得学习吗?

    作者回复: 目前少有的优秀微服务框架,我觉得值得一学

    
    2
  • tajizhijia
    2022-08-26 来自广东
    在goroute里log.Fatal()之后程序不就推出了么?

    作者回复: 对,就直接退出了。如果一个err属于Fatal级别,说明这种错误系统已经不能继续工作了,可以直接退出的。

    共 2 条评论
    1
  • wei 丶
    2021-09-24
    老师想问下server.key这个用cfssl怎么生成呀? 我往回翻了下只看到了cfssl生成的 .pem 证书文件 🙈

    作者回复: cfssl gencert -initca ca-csr.json | cfssljson -bare ca 这个命令生成的ca-key.pem其实就是server.key了

    共 2 条评论
    1
  • LosinGrip
    2021-09-18
    curl -XGET http://127.0.0.1:8080/v1/products/iphone12 获取如下 Client sent an HTTP request to an HTTPS server. 什么原因

    作者回复: 确认下你代码中:insecureServer.Addr是否是8080。

    
    1
  • Bynow
    2022-05-31 来自广东
    c.JSON(http.StatusNotFound, gin.H{"error": fmt.Errorf("can not found product %s", c.Param("name"))}) 这行代码是错误的,应该是Sprintf

    作者回复: type H map[string]interface{} 可以是error类型

    
    
  • 平常心
    2021-12-19
    如何用 curl 来访问 https的 服务呢? ca.pem 放到本机的证书库里,运行了一下,还是跑不通 https的服务呢。

    作者回复: 有报什么错吗

    
    
  • 授人以🐟,不如授人...
    2021-10-16
    「表单参数 form」是否可以和「请求消息体参数 body」合并在一起,因为后者是包含前者的。其请求内容都是在请求体部分,而且格式有多种,比如 application/json、application/xml、text/plain,再比如就是 application/form。

    作者回复: 还是不能的哈。因为表单和Body本就是不同的参数

    
    