DAPR won’t distribute message from input binding to multiple instances of consumer?
I have the following scenario and issue:
1) External system publish 500 TODO job message to RabbitMQ
2) Consumer Pod use input binding (AMQP protocol) to receive messages from RabbitMQ, and Consumer Pod is running on demand (if no message, then no instances running)
2) KEDA scale the Consumer Pod from 0 to 5 based on custom metrics of RabbitMQ queueLength
3) Kubernetes create 5 instances of Consumer Pod based on scale rule (incoming 500 messages)
4) The daprd sidecar of first instances of Consumer Pod will get all 500 messages and processed them one by one, each message will use 20 seconds to complete, at meantime, the status of all messages in RabbitMQ changed from Ready to Unacked - UnAcknoledged
5) The other 4 instances of consumer Pod did NOT get any un-processed messages from RabbitMQ and free all time
I need all 5 instances of Consumer Pod parallelly process all non-complete messages in RabbitMQ, What configuration I missed or did wrong?
InvokeMethodmethod of the dapr client? Am I right that the DaprClient makes a gRPC request to the sidecar, then the sidecar searches for the service and makes a gRPC request to the sidecar of the API service. And then the sidecar makes an HTTP call to the API? If so, can someone point me to the right code in GitHub?
2020/09/04 00:02:52 http: TLS handshake error from 100.96.2.0:41578: remote error: tls: bad certificate
Hi I'm having trouble getting service invocation from C# sdk to work.
Even tried running the samples at
I have "routing" up and running, and can invoke it successfully via
dapr invokeGet -a routing -m 17 .
However, when running the sample
Client code (with the GET invocation uncommented), i get the following error:
== APP == Unhandled exception. Grpc.Core.RpcException: Status(StatusCode=Unknown, Detail="context deadline exceeded")
I get the same error when I try to invoke my own service code from another of my own services, which is what started me down this road. After getting the excact same error from sample code i figured it's time to ask for help :P Any ideas? Running on OSX if that matters.
We are trying to POC dapr for our company, really like what its trying to achieve.
We have it running in Kubernetes and want to setup dapr running on a VM.
My question is
How do i step these two locations to communicate with each other?
How does service discovery work across hosts?
Not solving this (silly) issue by myself.
Dotnet SDK 0.10, two ASP.NET http WebApi projects: app order-service has to invoke app reservation-service method via
await daprClient.InvokeMethodAsync<object>("reservation-service", "reserve", data, httpExtension);.
Both applications correctly appear in VS Code extension while debugging, their methods can be invoked via http or VS Code extension, the reservation-service can also be invoked with DaprClient client.InvokeMethodAsync by a console proj I launch as a Dapr app.
Once order-service, in the scope of a method call, does attempt to invoke reservation-service method, I received the error: "Error starting gRPC call: No connection could be made because the target machine actively refused it."
Any hint on the plausible cause?
The full stack trace:
Grpc.Core.RpcException: Status(StatusCode=Internal, Detail="Error starting gRPC call: No connection could be made because the target machine actively refused it.") at Dapr.Client.DaprClientGrpc.MakeGrpcCallHandleError[TResponse](Func`2 callFunc, CancellationToken cancellationToken) at Dapr.Client.DaprClientGrpc.MakeInvokeRequestAsync(String appId, String methodName, Any data, HTTPExtension httpExtension, CancellationToken cancellationToken) at Dapr.Client.DaprClientGrpc.InvokeMethodAsync[TRequest](String appId, String methodName, TRequest data, HTTPExtension httpExtension, CancellationToken cancellationToken) at sample.microservice.order.Controllers.OrderController.SubmitOrder(Order order, DaprClient daprClient) in C:\Repos\dapr-samples\chapter03\sample.microservice.order\Controllers\OrderController.cs:line 33 at lambda_method(Closure , Object ) at Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter.GetResult() at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)