Distributed dot net core


#1

Hi,
I really like your all apisode and it’s provide lots of knowledge…
I have few questions. I hope you will clear my doubts.
If I have system which use most query but less write then how system become async and if system does not become async then create bottleneck for performance.

I read about some things interesting for async communication with single thread for concerent requests with reactor pattern. How we implimnet with dot net core??? I have good example for this is vert. X which does not provide dot net port.

At the end main goal is to handle concurrent requests with less threads and communicate async with rabbitMQ or Kafka…

Thank you very much for providing such good knowledge


#2

Hi,
Could you provide the sample use cases that you’re trying to model?
Reads shouldn’t affect the performance that much, as you can quite easily optimize that part, using the particular data storage (e.g. NoSQL) for keeping your read-models or distributed caching like Redis which is extremely fast.
The async operations should be reserved only for processing the commands that can be handled internally within the same app process (e.g. using MediatR) or distributed with a help of message broker such as RabbitMQ or Kafka.


#3

Hi.
I just trying to handle 1 million requests per second which is processing data from redis…
Currently I am able to handle only 5k request…
Due to dot net having thead per processing behavior…
After study planning to create API gateway using vert.x but it’s time consuming process…
Will you provide any solution which compatible with dot net.


#4

I’m sorry, but I still didn’t get any information about the requests itself, what they are and how they read the data and what’s the domain.


#5

Hi…
We are working on travel domain…
When any one search for hotel then get data from redis then after apply some business logic like discount and provide response to requests user…

We have just API our client cosume API and show results on his UI…

Currently we are using stack exchanges redis client with cluster…


#6

Ok, understood, so where’s the bottleneck? Is that a complex business logic that takes time to process, or the write-side is time consuming, or is that something else? Did you measure the application behavior using either memory profilers or some distributed tracing tools that would measure the request time?


#7

Yes…
We are using dot trace to find out issue… Our main bottleneck is serialization… Another bottlenecks is thread per request.
When any one search for hotel API gateway routes request at the time our main request thead is blocked until service response…
I want to try some Async communication between service and API gateway so my API gateway thread will be available for another request handling.


#8

What serialization library do you use? Did you try e.g. Utf8Json?