Bất cứ ai có bất kỳ ví dụ hoặc suy nghĩ nào sử dụng gRPC cùng với Spring Boot?Sử dụng Spring Boot cùng với gRPC và Protobuf
Trả lời
Nếu nó vẫn phù hợp với bạn, tôi đã tạo gRPC spring-boot-starter here.
grpc xuân-boot-khởi động tự động cấu hình, và chạy máy chủ gRPC nhúng với @ GRpcService-enabled đậu.
Ví dụ đơn giản nhất:
@GRpcService(grpcServiceOuterClass = GreeterGrpc.class)
public static class GreeterService implements GreeterGrpc.Greeter {
@Override
public void sayHello(GreeterOuterClass.HelloRequest request, StreamObserver<GreeterOuterClass.HelloReply> responseObserver) {
// omitted
}
}
Ngoài ra còn có một ví dụ về làm thế nào để tích hợp khởi động với Eureka trong tập tin README của dự án.
Bắt đầu từ https://spring.io/blog/2015/03/22/using-google-protocol-buffers-with-spring-mvc-based-rest-services, sau đó
hãy nhìn vào SPR-13589 ProtobufHttpMessageConverter support for protobuf 3.0.0-beta4 và liên quan SPR-13203 HttpMessageConverter based on Protostuff library
Đó là một số hỗ trợ cho proto3 đang đến trong mùa xuân 5. Vì nó đang được phát triển là một trong những khuyến khích để bỏ phiếu và nâng cao những gì là quan trọng cho dự án của họ.
https://github.com/WThamira/gRpc-spring-boot-example là ví dụ đúng cho trường hợp đó tôi nghĩ – wthamira
https://github.com/yidongnan/grpc-spring-boot-starter
Trong máy chủ
@GrpcService(GreeterGrpc.class)
public class GrpcServerService extends GreeterGrpc.GreeterImplBase {
@Override
public void sayHello(HelloRequest req, StreamObserver<HelloReply> responseObserver) {
HelloReply reply = HelloReply.newBuilder().setMessage("Hello =============> " + req.getName()).build();
responseObserver.onNext(reply);
responseObserver.onCompleted();
}
}
Trong client
@GrpcClient("gRPC server name")
private Channel serverChannel;
GreeterGrpc.GreeterBlockingStub stub = GreeterGrpc.newBlockingStub(serverChannel);
HelloReply response = stub.sayHello(HelloRequest.newBuilder().setName(name).build());
Tại đây tôi sử dụng gRpc và eureka để giao tiếp. Dự án này dựa trên mùa xuân-boot
https://github.com/WThamira/grpc-spring-boot
thêm bạn canuse đăng ký làm lãnh sự cũng có. ví dụ đầy đủ trong repo này
https://github.com/WThamira/gRpc-spring-boot-example
maven này phụ thuộc vào sự giúp đỡ 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>
và cần chương trình plugin trong dưới
<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>
- 1. Làm thế nào để sử dụng Dozer với Spring Boot?
- 2. Cách sử dụng @Configuration và @EnableScheduling cùng với Spring Batch
- 3. Sử dụng ehcache 3 with Spring Annotations (không sử dụng Spring Boot)
- 4. Spring Boot AutoConfiguration Order
- 5. Lỗi với @EnableAutoConfiguration và @@ ComponentScan sử dụng Spring Boot + mùa xuân dữ liệu
- 6. Làm cách nào để sử dụng thư viện thẻ tùy chỉnh với Thymeleaf và Spring Boot?
- 7. Làm thế nào để sử dụng Spring Boot với cơ sở dữ liệu MySQL và JPA?
- 8. spring boot, logback và logging.config tài sản
- 9. Spring Boot devtools IntelliJ
- 10. Livereload cho nội dung trong Intellij sử dụng Spring boot
- 11. Spring Boot + Spring Data với nhiều thuê nhà
- 12. Sự khác biệt giữa Spring và Spring Boot
- 13. Kiểm tra tích hợp với Spring Boot và Spock
- 14. Lọc dữ liệu với Spring boot CrudRepository
- 15. Hibernate Envers với Spring Boot - cấu hình
- 16. Hiểu Spring Boot @Autowired
- 17. Cấu hình bảo mật với Spring-boot
- 18. Kho lưu trữ DynamoDB Autowiring trong ứng dụng Spring Boot bằng cách sử dụng Spring Data
- 19. Cấu hình Spring-Boot & Spring-Security
- 20. Spring Boot - nesting ConfigurationProperties
- 21. Sử dụng Spring JUnit4 và JMock cùng nhau
- 22. Ứng dụng không bắt đầu với Spring Boot 1.2.1 + Spring Security + Servlet 2.5
- 23. Spring Boot + Spring Security + Spring OAuth2 + Google Đăng nhập
- 24. Mock phương pháp đối tượng gọi sử dụng Spring Boot và Mockito
- 25. I18n trong Spring boot + Thymeleaf
- 26. Không thể lưu trữ "Cọc của Poo" unicode emoji sử dụng Spring Boot Hibernate và MySQL
- 27. @Valid không hoạt động với JAX-RS bằng cách sử dụng Spring Boot
- 28. Gỡ lỗi jsp bằng spring-boot và IntelliJ
- 29. Spring Boot sperate @Configurations cho nhiều ngữ cảnh ứng dụng
- 30. Các vấn đề với xử lý URL với Spring Boot và Angular 2
https://spring.io/blog/2015/03/22/sử dụng-google-protocol-buffer-với-spring-mvc-based-rest-services có lẽ là một bài đọc hay. –
Đúng, đã phát hiện ra điều đó. Nhưng tôi muốn biết nếu có ai đã gắn kết điều này với các định nghĩa dịch vụ protobuf không? – Markus
Tìm kiếm một ví dụ quá –