stack-labs / questions

任何关于Micro的问题都可以在Issue中创建
27 stars 6 forks source link

micro网关是否支持优雅关闭 #62

Closed yiippee closed 4 years ago

yiippee commented 4 years ago

感谢舒大的项目啊,这个教程对于新手很有帮助,非常感谢。 请教一个问题,我在看micro源码中,服务启动后有监听信号,但收到关闭信号后只是做了一些deregister,context done的操作,好像没有优雅的关闭,go1.18提供了shudown这个函数,但micro好像没有使用。 是我哪里理解错了吗?还是说micro是支持优雅关闭的,如果不支持,有什么建议改造吗? 再次感谢舒大的教程。

printfcoder commented 4 years ago

目前没有,golang 的shutdown是http包里的,micro api 对外虽然是http,但是对内依旧是rpc。优雅关闭光靠服务端其实不够,我个人认为花更多时间在接口的幂等、客户端重试上进行设计,可能会更简单有效。优雅关闭依旧解决不了内部异步触发的其它微服务间正在处理的本次请求事务的优雅停止问题。

printfcoder commented 4 years ago

@yiippee 可以在官方仓库上提issue,这个是个重要特性,应该会很快得到响应

yiippee commented 4 years ago

api能够优雅关闭,其他的也会跟着优雅关闭的。其实就是让已经进入的请求处理完后再停机,跟正常的处理是一样的。 好的,谢谢舒大的回答。

yiippee commented 4 years ago

发现micro的grpc是可以优雅关闭的,哈哈