0
votes

I am considering to store a new generated orderIDs in Service Fabric.

  • Requirement : By pass 1000 orders in a second.

I. Should I store this reliable Dictionary if the performance is needed ?

II. What are the performance considerations ?

III. What is the Service Fabric Reliable Collection Capacity

enter image description here

Reference

Reliable Services Reliable Collections

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-reliable-collections

service fabric dotnet performance (No result page )

https://github.com/Azure-Samples/service-fabric-dotnet-performance/tree/master/ServiceLoadTest

1
Do the orderIDs need to be persisted? In that case using reliable collections are a good fit since the data resides closest to where it is used. In terms of performance that is a good thing. (Concurren) collections are in-memory only.Peter Bons
You probably don't even need to use reliable collections, many database stores can easily handle that throughput!Mardoxx
Is there a performance comparison available where I can compare DB,Redis and service fabric ?Rıfat Erdem Sahin
[StatePersistence(StatePersistence.Persisted)] Does this affect the performanceRıfat Erdem Sahin

1 Answers

1
votes

If you push 1000 orders from a single client at once then this can be handled without issues.

If each order is pushed individually and you need to ensure a throughput of a thousand per second, you should definitely use partitioning.

You should also use and monitor health metrics for your actual throughput and act on it by adding more nodes to your cluster when needed.