Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modernizing Akka.NET Examples #94

Closed
Aaronontheweb opened this issue Mar 31, 2022 · 7 comments
Closed

Modernizing Akka.NET Examples #94

Aaronontheweb opened this issue Mar 31, 2022 · 7 comments

Comments

@Aaronontheweb
Copy link
Member

Per some of the feedback we received during the 2022 Akka.NET User Survey, we are investing in building more end-to-end samples that follow the "Pit of Success" paradigm - these samples don't feature complex business domains, but they will demonstrate how to correctly leverage Akka.NET infrastructure in a variety of combinations and fashions.

This includes:

  • Various features of Akka.NET itself;
  • Integrating with other popular 3rd party technologies; and
  • Deployment models for popular environments, such as Kubernetes / AWS / Azure.

If you have a specific sample you would like to see addressed, please file a new issue!

@Aaronontheweb
Copy link
Member Author

Aaronontheweb commented Mar 31, 2022

Initial List of Desired Samples

Initial samples we are intending to introduce to this repository.

  • Akka.Cluster Samples
    • Akka.Cluster w/ Multiple Role Types
      • Using a round-robin router
    • Akka.Cluster.Sharding + Akka.Persistence Storage using SQL Server
      • With remember-entities
      • With Google.Protobuf serialization
      • With ShardRegionProxy
    • Akka.Cluster.Singleton
      • Multiple role types
      • ClusterSingletonProxy
  • Akka.Persistence Samples
    • Using SQL Server
      • Using Google.Protobuf Serialization
    • Using MongoDb
    • Using Redis
  • Akka.Streams Examples
    • Akka.Streams.Kafka + Clustered ActorSystem
      • Each node reading from the same stream
      • Need to demonstrate safety around message handling (NO MISSED MESSSAGES, avoid duplicates)
    • RabbitMQ + Clustered ActorSystem
      • Each node reading from the same stream
        • Could have a singleton reader here to simplify this
      • Need to demonstrate safety around message handling (NO MISSED MESSSAGES, avoid duplicates)

@CumpsD
Copy link

CumpsD commented Apr 8, 2022

Perhaps make a variation on Akka.Cluster.Sharding which also does away with the remark:

N.B. while this application uses event-sourcing heavily, it does not use CQRS. One CQRS modification you would likely find in a production system is that the ProductIndexActor would very likely be changed to insert all of the relevant product index data into rows in a SQL table as a materialized view, rather than handle queries directly from the Web UI. The / route would likely query that data directly form that materialized table in SQL Server instead so that way the developer wouldn't have to re-invent (in Akka.NET) pagination and other niceties that are mostly built-into or built-on-top-of SQL tooling.

Then one would have an example of that as well?

@Aaronontheweb
Copy link
Member Author

@CumpsD I'd be open to modifying that sample to do it!

@CumpsD
Copy link

CumpsD commented Apr 8, 2022

@CumpsD I'd be open to modifying that sample to do it!

What's the preferred way to contact you guys to talk about it? Slack? Discord? ....

@Aaronontheweb
Copy link
Member Author

Good question - for now I guess the main Akka.NET Gitter Chat works fine: https://gitter.im/akkadotnet/akka.net

@Aaronontheweb
Copy link
Member Author

Starting work on my RabbitMQ sample here: #98

@Aaronontheweb
Copy link
Member Author

This has largely been accomplished.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants