Open jpiquot opened 5 years ago
I'd be curious on what you're building and how Orchard and Orleans fit together!
For a CMS, Orleans can be a distributed cache with or without event sourcing. In my project that is a business application where Orchard is used as a framework, the goal is to implement CQRS where queries used data stored in the OrchardCore database and Commands update an Oracle transactional database.
I see, sounds interesting! You could talk about the project, if you can, during Tuesday's community meeting (https://meet.lync.com/microsoft/sebros/7QRH5WR8 at noon PST).
I would like be more advanced in my Orleans/OrchardCore integration before presenting it. The Client and Silo setup/initialization module that initialize Grain Storage, Streams, Reminders and clusters is done. Now I am implementing OrleansContentManager that will call Orleans grains to persist data using internally OC ContentManager.
Each OC instance can consume grains as a client or host them as a server. They can be configured as a cluster to have a distributed cache scenario.
Settings :
Could you show your code? I don't see it under your GH profile.
The source code is a private Git on Azure DevOps. I will move it to GitHub soon.
I have also integrated the orleans dashboard for monitoring global health.
Hi,
I have now content items in Orleans ;)
Nice!
But are you still storing them in SQL?
Before I was storing them in Oracle as it was a projet constraint. But now the customer decided to shift to SQL Server as there was too many issues with Oracle (not due to MS Orleans). MS Orleans has many integrated persistence providers. The speed is very fast : 300K content items sending 10K in parallel takes 2 minutes. The default AdoNet storage is very similar to YesSQL but you can use other persistance technologies like CosmosDB, EventStore, etc. The biggest advantage is to be able to write a custom storage provider and inject it easily. Wich is for me the missing part of OC, if you want to use it as an application framework instead of a CMS. In applications we have many storage strategies and OC is a bit to tied to YesSQL.
@jpiquot Great idea!
Were you able to move the repo from Azure DevOps to GitHub??
Hi,
I am actually implementing Orleans in my OrchardCore project : Orleans Project
I can share an OrchardCore.Orleans.Client module if this is of any interest for someone in the Orchard Project.