我仍然遇到这个问题: 我知道,借助Go lang,我们可以轻松实现高性能的网络服务。我选择了gRPC协议,并且最好实现异步操作,因为它比同步功能更强大:
非常感谢您!
答案 0 :(得分:1)
我认为对您来说,进行更多的研究和学习并弄清您正在处理的一些概念很重要。
在同步和异步服务方面,我做了一个谷歌搜索,并随机选择了definition of gRPC页,该页似乎很好地定义了这些术语:
如果API调用是同步的,则意味着代码执行将阻塞(或等待)API调用返回,然后再继续。
异步调用不会阻塞(或等待)API调用从服务器返回。执行将继续在您的程序中进行,当调用从服务器返回时,将执行“回调”功能。
您的陈述“异步操作比同步功能更强大”似乎是错误的。它们每个都有适合不同场景的不同应用程序。如果您关心的是特定情况,那将有助于缩小问题范围。
这里是gRPC Basics:
gRPC是可以在任何环境中运行的现代开源高性能RPC框架。
此处的关键点是RPC,即“远程过程调用”。在gRPC中,即使调用是流式的,调用也是同步的:打开连接,发送/流式发送请求,发送/流式响应和关闭连接。开发“异步服务”意味着反向调用,这在gRPC本身的范围内未涉及。我想您可以使用gRPC来执行此类操作,但我认为这不正常。
否则,我建议您阅读sample code指南,同时也有https://www.tutorialspoint.com/c_standard_library/c_function_printf.htm。如果您检查gRPC站点,它也可以在Python中使用。