小编给大家分享一下gRPC服务端创建流程是怎么样的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
gRPC服务端创建关键流程分析:
- <李>
<强> NettyServer实例创建:强>
李>- <李>
gRPC服务端创建,首先需要初始化NettyServer,它是gRPC基于网状的4.1 HTTP/2协议栈之上封装的HTTP/2服务端。
李> <李>NettyServer实例由NettyServerBuilder的buildTransportServer方法构建,
李> <李>NettyServer构建完成之后,监听指定的套接字地址,即可实现基于HTTP/2协议的请求消息接入。
李><>强绑定IDL定义的服务接口实现类:强>
李>- <李>
gRPC与其它一些RPC框架的差异点是服务接口实现类的调用并不是通过动态代理和反射机制,而是通过原型工具生成代码,
李> <李>在服务端启动时,将服务接口实现类实例注册到gRPC内部的服务注册中心上。
李> <李>请求消息接入之后,可以根据服务名和方法名,直接调用启动时注册的服务实例,而<强>不需要通过反射的方式进行调,用性能更优强>。
李><强> gRPC服务实例(ServerImpl)构建:强>
李>- <李>
例如网状的的线程池资源,gRPC的线程池,内部的服务注册类(InternalHandlerRegistry)等,
李>- <李>
ServerImpl负责整个gRPC服务端消息的调度和处理,
李> <李>创建ServerImpl实例过程中,会对服务端依赖的对象进行初始化,
李> <李>ServerImpl初始化完成之后,就可以调用NettyServer开始的方法启动HTTP/2服务端,接收gRPC客户端的服务调用请求。
李>以上是“gRPC服务端创建流程是怎么样的”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!