创建一个gRPC Server代码很简单就这么两行,我们可以运行起来单步调试来学习一下gRPC Server启动流程。
Server server = ServerBuilder.forPort(50051)
.addService(new OrderServiceImpl())
.build()
.start();
server.awaitTermination();
一、 .forPort
绑定端口
调用NettyServerBuilder构建InetSocketAddress对象,ServerProvider采用JDK SPI机制去加载Netty通讯模块。
SPI 全称Service Provider Interface是一种服务发现机制,它通过在ClassPath路径下提供的META-INF/services目录里查找文件,然后自动加载文件所定义的类,SPI的应用还是比较广泛的,比如加载JDBC驱动,另外业务层架构也有使用SPI机制的,比如淘宝早期交易中心系统,各业务方提供自己的交易扩展类,这样不会影响主交易流程。
二、.addService
绑定服务