Context
The original aspnetrun/run-aspnetcore-microservices Discount service used gRPC with Protocol Buffers. During the Critter Stack conversion, it was simplified to a plain Wolverine.HTTP REST service because Wolverine does not yet have a gRPC transport.
When to revisit
Once Wolverine adds gRPC transport support, convert the Discount service back to gRPC to:
- Demonstrate Wolverine's gRPC capabilities in a real microservices context
- Show the Basket → Discount inter-service call using gRPC instead of HTTP
- Provide a before/after comparison of gRPC with MassTransit vs gRPC with Wolverine
Current state
EcommerceDemo/Discount/ — REST endpoints with Wolverine.HTTP + Marten
EcommerceDemo/Basket/ — would need a gRPC client to call Discount for coupon deduction (currently not wired)
Original implementation reference
- gRPC service:
Discount.Grpc with discount.proto
- Basket called Discount via
DiscountProtoService.DiscountProtoServiceClient
- Mapster for proto ↔ entity mapping
Context
The original
aspnetrun/run-aspnetcore-microservicesDiscount service used gRPC with Protocol Buffers. During the Critter Stack conversion, it was simplified to a plain Wolverine.HTTP REST service because Wolverine does not yet have a gRPC transport.When to revisit
Once Wolverine adds gRPC transport support, convert the Discount service back to gRPC to:
Current state
EcommerceDemo/Discount/— REST endpoints with Wolverine.HTTP + MartenEcommerceDemo/Basket/— would need a gRPC client to call Discount for coupon deduction (currently not wired)Original implementation reference
Discount.Grpcwithdiscount.protoDiscountProtoService.DiscountProtoServiceClient