F# provides plenty of features when it comes to managing concurrency within a single process. The async workflows allow us to build non-blocking applications whilst abstracting away the underlying multithreading concepts from us. Mailbox processors allow serial processing of messages across multiple threads. But all of these rely on the use of constructs which are only realistically usable on a single machine. Once we branch out onto multiple machines, the underlying concepts such as locks and semaphores start to fall apart.
In this talk, we'll explore how we're able to build safe data structures capable of operating across multiple machines. We'll take a look at some of the problems we’re likely to encounter when building applications which span multiple machines and then we’ll explore CRDTs, a modern research topic looking at building safer distributed data types and how we can implement and use them from F#.
YOU MAY ALSO LIKE:
Building better distributed data types with F# and CRDTs
Anthony Brown
Anthony has been using F# professionally for over 4 years now having worked on backend APIs, IoT solutions, cloud services but now focusses on web development with SAFE.