简体   繁体   中英

Service Fabric Stateful services with single DB Persistance service

I'm about to start a project that requires very fast response times and high availability, i have done a few service fabric projects before so i'm feeling pretty confident about that.

I'm currently leaning towards a specific design, based on stateful content services as main datasource with a single data persistance service saving to a database of some sort.

Read operations are done by web-api Write operations are done by Azure service bus communication with Rebus as handler.

Content services

  • The content services are stateful services which on commit sends a message to the persistance service with the object saved in the reliable dictionary, serialized as json.

  • The content services them selves will be responsible for json deserialization in the event that they need to restore the data.

  • Restore scenarios could be when the entire dictionary for some reason is lost or when a reset message is put on the bus.

Persistance service

  • Recieves a message from the bus and stores the included entity, to a data store (Not yet decided, maybe table storage).
  • Serves an entire repository of data when a service need to reload data.
  • Only concerns itself with storing and retrieving data, no integrity checks

I'm really unsure about whether this is a feasible way of designing a system, that also has a high amount of user data.

what are your thoughts on this design?

我最终采用了该解决方案,它可以很好地工作并且性能很好,但是它需要进行广泛的测试才能确保一切都按预期进行。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM