~/talk

Implementing Event-Driven Microservices architecture in Functional language

Talkat NDC Oslo 2018 · 2018-06-11..06-15· [microservices]
slides:none on file

Shows how to build event‑driven microservices in F# using Domain‑Driven Design to define service boundaries, Discriminated Unions to model domain events and responses, and Computation Expressions to express workflows. Covers event sourcing with List.fold, distributed sagas (as an alternative to two‑phase commits) for eventual consistency, and using F# Type Providers or IDL tools (Thrift/Protobuf via C#) to evolve service interfaces; emphasizes pure functions, immutability and scalability.

AI-written summary · about

  1. 0:00This recording is from NDC Oslo 2018
  2. 0:45Objectives
  3. 1:01Monolithic: The old school approach...
  4. 2:18Microservices: The Brave new world...
  5. 3:04Microservice Architecture
  6. 4:34Advantages
  7. 5:36Microservice: A functional view
  8. 7:54Why not to use OOP?
  9. 11:57Modelling a Service using FP
  10. 13:55Implementation: Example in F#
  11. 15:11Asynchronous workflows
  12. 15:56Loose Coupling implies Distributed Data
  13. 17:29Domain Driven Design (DDD)
  14. 18:37Elements of DDD
  15. 19:43DDD: Aggregates
  16. 20:35Data Partition Strategies: Use DDD
  17. 23:40DDD: Architecture Layers
  18. 26:19Problems with Distributed Data
  19. 27:43Cannot use ACID Transactions
  20. 29:56Cannot use 2-Phase Commit
  21. 30:55Eventual Consistency
  22. 34:10Event Driven Architecture
  23. 35:53Introducing Sagas
  24. 38:09Communication: Request/Response
  25. 40:09Communication: Event-Driven
  26. 41:10Communication Patterns
  27. 42:21Contract Management
  28. 44:13Event Sourcing: Introduction
  29. 47:38Implementing Event Sourcing in F#
  30. 49:08Event Sourcing: Benefits & Drawbacks
  31. 50:15Command Query Responsibility Segregation
  32. 51:10Multiple Views from Single events stream
  33. 51:55CORS: Benefits & Drawbacks
  34. 52:14Testing Microservices (Request/Response)
  35. 53:01Testing Microservices (Event Driven)
  36. 53:20Static Analysis of Functional style code
  37. 54:45Scalability
  38. 55:04Code Correctness
  39. 56:01Case Study: Twitter
  40. 56:31Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.