Orleans.CosmosDB
docs
Orleans.CosmosDB | docs | |
---|---|---|
1 | 6 | |
40 | 987 | |
- | -0.1% | |
0.0 | 9.7 | |
10 months ago | 6 days ago | |
C# | HTML | |
MIT License | Creative Commons Attribution 4.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Orleans.CosmosDB
-
Virtual Actors : Dapr vs Orleans
Reminders were also very easy to setup. Until I tried to configure real world persistence for them that is. At this point in my research I was trying to keep things neat and tidy and store everything in ComsosDB. Unfortunately, I could not get the reminder persistence package for Orleans to work at all. I wound up having to use the AzureStorage package instead. So now my data was half in a SQL API account and half in a Table API account.
docs
-
Picking an architecture
I agree with the general sentiment here that you should try to keep things simple as long as possible. In addition to that, try to use frameworks such as Dapr, that allow you to postpone certain architectural decisions. Since Dapr runs everywhere where Kubernetes runs, it doesn't really matter which cloud provider you pick. Also, when it comes to pub/sub brokers, state stores, or secret stores, when using Dapr components you can easily swap those out.
-
Mechanism for managing faulty consumer in asynchronous event broadcast in microservices / modular monolith
I'm mostly familiar with orchestration type sagas, and there I usually include retries when calling services and compensation actions in case calls completely fail. It really helps if you're using a framework, such as Dapr, to do most of the heavy lifting. You can apply resiliency policies to service calls and with the latest version, there's now a Workflow API to orchestrate your services.
-
Service Mesh Considerations
One other option that is worth mentioning is Dapr. Dapr is a microservices building block that developers can use to develop microservices. There is a bit of overlap between Dapr and service meshes and the Dapr team has done a good job of comparing the two here. The biggest takeaway when comparing the two is that Dapr does not provide traffic routing/splitting. So if you need these capabilities, then yes, you will need a service mesh.
-
Virtual Actors : Dapr vs Orleans
There was a similar issue with the code examples to get/set state, so I created a GitHub issue for them.
-
Image Recognition App using GoLang | Tensorflow | WasmEdge | Dapr | Docker
It is an Image Recognition Application made using Go Language, works on a Tensorflow model and it requires Dapr and WasmEdge runtime for execution.
-
Tech Talks: Building Event-Driven Apps with Dapr in Kubernetes
Dapr Docs
What are some alternatives?
Marten - .NET Transactional Document DB and Event Store on PostgreSQL
dapr-wasm - A template project to demonstrate how to run WebAssembly functions as sidecar microservices in dapr
ExRam.Gremlinq - A .NET object-graph-mapper for Apache TinkerPop™ Gremlin enabled databases.
CAP - Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
Liquid-Application-Framework - Liquid Application Framework documentation, useful links and sample project
jaeger - CNCF Jaeger, a Distributed Tracing Platform
dapr - Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
SignalR.Orleans - SignalR backend based on Orleans.
cloud-dapr-demo - Demo of Dapr runtime and seamless integration of cloud providers
ASP.NET MVC Boilerplate - .NET project templates with batteries included, providing the minimum amount of code required to get you going faster.
zipkin - Zipkin is a distributed tracing system