54

Spring Boot と一緒に gRPC を使用する例や考えがある人はいますか?

4

7 に答える 7

4

gRPCクライアントライブラリが必要な場合、つまりスタブを使用する場合は、私のライブラリをチェックしてください https://github.com/sfcodes/grpc-client-spring-boot

このライブラリは自動的にクラスパスをスキャンし、すべての gRPC スタブ クラスを見つけてインスタンス化し、ApplicationContext に Bean として登録します。@Autowire他のSpring Beanと同じように簡単に注入できます。例えば:

@RestController
public class GreeterController {

    @Autowired  // <===== gRPC stub is autowired!
    private GreeterGrpc.GreeterBlockingStub greeterStub;

    @RequestMapping(value = "/sayhello")
    public String sayHello(@RequestParam String name) {
        HelloRequest request = HelloRequest.newBuilder().setName(name).build();
        HelloReply reply = greeterStub.sayHello(request);
        return reply.getMessage();
    }
}

gRPCサーバーライブラリについては、 LogNet/grpc-spring-boot-starter.

于 2018-10-28T23:58:45.197 に答える
3

https://spring.io/blog/2015/03/22/using-google-protocol-buffers-with-spring-mvc-based-rest-servicesから始めて、SPR-13589 ProtobufHttpMessageConverter support for protobuf を
見て ください。 3.0.0-beta4および関連するSPR-13203 Protostuff ライブラリに基づく HttpMessageConverter

これは、Spring 5 で proto3 のサポートが予定されていることです。開発中であるため、プロジェクトにとって重要なことを投票して提起することをお勧めします。

于 2016-11-11T06:51:03.023 に答える
0

ここでは gRpc と eureka を使って通信しています。このプロジェクトは Spring-boot に基づいています

https://github.com/WThamira/grpc-spring-boot

さらに、領事として登録することもできます。このレポの完全な例

https://github.com/WThamira/gRpc-spring-boot-example

このMaven依存関係はgRpcに役立ちます

        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-stub</artifactId>
            <version>1.0.1</version>
        </dependency>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-protobuf</artifactId>
            <version>1.0.1</version>
        </dependency>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-netty</artifactId>
            <version>1.0.1</version>
        </dependency>

以下にプラグインショーが必要です

       <plugin>
                <groupId>org.xolstice.maven.plugins</groupId>
                <artifactId>protobuf-maven-plugin</artifactId>
                <version>0.5.0</version>
                <configuration>
                    <!-- The version of protoc must match protobuf-java. If you don't depend 
                        on protobuf-java directly, you will be transitively depending on the protobuf-java 
                        version that grpc depends on. -->
                    <protocArtifact>com.google.protobuf:protoc:3.0.2:exe:${os.detected.classifier}</protocArtifact>
                    <pluginId>grpc-java</pluginId>
                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}</pluginArtifact>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>compile-custom</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
于 2017-03-10T15:07:50.067 に答える