In this meetup, we'll explore how we're able to build safe data structures capable of operating across multiple machines.
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:
- A Deep dive into MBrace.Sql with Anthony Brown! (SkillsCast recorded in May 2017)
- Fast Track to F# with Tomas Petricek & Phil Trelford (in London on 9th - 10th September 2019)
- Lightbend Akka for Scala - Professional (in London on 11th - 12th November 2019)
- ProgNET London 2019 (in London on 11th - 13th September 2019)
- F# eXchange 2020 (in London on 2nd - 3rd April 2020)
- Hands-on: Fractal art with Fable and WebGL (in London on 20th June 2019)
- Keynote by Dick Wall on Why API Design Matters, and Why Yours Sucks! (and mine sucks too!) (in London on 24th June 2019)
- Scala 2.13 and Beyond! (SkillsCast recorded in April 2019)
- Introduction to Markov Chains in F# (SkillsCast recorded in April 2019)
Building better distributed data types with F# and CRDTs
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.