Skip to content

lukewyman/akka-spikes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

##akka-spikes##

akka-spikes is a catch-all repository for all the little experiments I do to support my work. I expect to add additional modules here if I need or want to explore an akka topic in-depth. Topics will include things like Clustering, Sharding, Persistence, Routing, and so on.

###futures### futures explores how to use Futures in actors. I'm currently working on the Orchestrator actors in my skills expository project, e-commerce. The problem is that the Orchestrator actors handle messages returned by the HTTP client actors that are of type Future[Either[SomeResponseView]]. I'd like to get to a place where I'm using cats' Monad Transformer to handle working with these messages in an elegant way. Also, the receive function in Akka actors is of type PartialFunction[Any, Unit], which makes it impossible to reason about algebraicly. This exercise will show the way in separating Orchestrator coordination logic from actor fundamentals, such that it is strongly typed, checked at compile-time, and easily testable. I'm starting with Roestenburg's Futures example from Manning's Akka in Action. Once I have that up and running, I'll modify the code to deal with Future[Either]] and get the cats Monad Transformer working. I'll apply this spike to my e-commerce problem as the final step.

###http-client### http-client explores how to create an Actor http client with Akka Http. I found the Akka Http documentation to be inspiring, yet incomplete. I took Alex Kuang's blog post, Writing an API Client with Akka-http as a solid start in getting a straight forward http client going, with some minor changes, as I wanted a stateless client. Then I took the online documentations's approach to the Actor approach and hybridized it with Alex's code to create the Actor http client. I considered the approach a success, and have applied it to the Orchestrator module in my ecommerce project.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages