# tagless final

Published articles for tagless final.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## A Distributed System from scratch, with Scala 3 - Part 3: Job submission, worker scaling, and leader election & consensus with Raft

DevFeed: [A Distributed System from scratch, with Scala 3 - Part 3: Job submission, worker scaling, and leader election & consensus with Raft](<https://devfeed.tech/articles/a-distributed-system-from-scratch-with-scala-3-part-3-job-submission-worker-scaling-and-leader-election-consensus-with-raft-41505.md>)

Original publisher: [Read original article](<https://chollinger.com/blog/2025/05/a-distributed-system-from-scratch-with-scala-3-part-3-job-submission-worker-scaling-and-leader-election-consensus-with-raft/>)

Author: Christian Hollinger

Published: 2025-05-18T00:00:00Z

Content type: article

Language: en

Sources: [Christian Hollinger](<https://devfeed.tech/sources/christian-hollinger.md>)

Topics: [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Raft](<https://devfeed.tech/topics/raft.md>), [Parallelism](<https://devfeed.tech/topics/parallelism.md>)

Tags: [bridgefour](<https://devfeed.tech/tags/bridgefour.md>), [cats](<https://devfeed.tech/tags/cats.md>), [cats-effect](<https://devfeed.tech/tags/cats-effect.md>), [consensus](<https://devfeed.tech/tags/consensus.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-system](<https://devfeed.tech/tags/distributed-system.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [higher-kinded-types](<https://devfeed.tech/tags/higher-kinded-types.md>), [leader-election](<https://devfeed.tech/tags/leader-election.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [programming](<https://devfeed.tech/tags/programming.md>), [raft](<https://devfeed.tech/tags/raft.md>), [scala](<https://devfeed.tech/tags/scala.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [tagless-final](<https://devfeed.tech/tags/tagless-final.md>), [zio](<https://devfeed.tech/tags/zio.md>)

### AI overview

This third part of a Scala 3 distributed-system project describes updates to Bridge Four, including Scala upgrades, worker scaling, job submission, and leader election and consensus using Raft. The system uses a single leader and multiple workers for embarrassingly parallel workloads.

### Source excerpt

Upgrades to Bridge Four, the functional, effectful distributed compute system optimized for embarrassingly parallel workloads: Updating Scala, auto-scaling workers, and implementing leader election with Raft (or half of a replicated state machine).

## Improving my Distributed System with Scala 3: Consistency Guarantees & Background Tasks (Part 2)

DevFeed: [Improving my Distributed System with Scala 3: Consistency Guarantees & Background Tasks (Part 2)](<https://devfeed.tech/articles/improving-my-distributed-system-with-scala-3-consistency-guarantees-background-tasks-part-2-41502.md>)

Original publisher: [Read original article](<https://chollinger.com/blog/2024/02/improving-my-distributed-system-with-scala-3-consistency-guarantees-background-tasks-part-2/>)

Author: Christian Hollinger

Published: 2024-02-19T00:00:00Z

Content type: article

Language: en

Sources: [Christian Hollinger](<https://devfeed.tech/sources/christian-hollinger.md>)

Topics: [consistency](<https://devfeed.tech/topics/consistency.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [state-management](<https://devfeed.tech/topics/state-management.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [execution](<https://devfeed.tech/topics/execution.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Parallelism](<https://devfeed.tech/topics/parallelism.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [api](<https://devfeed.tech/tags/api.md>), [bridgefour](<https://devfeed.tech/tags/bridgefour.md>), [cache](<https://devfeed.tech/tags/cache.md>), [cats](<https://devfeed.tech/tags/cats.md>), [cats-effect](<https://devfeed.tech/tags/cats-effect.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [data](<https://devfeed.tech/tags/data.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-system](<https://devfeed.tech/tags/distributed-system.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [execution](<https://devfeed.tech/tags/execution.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [general](<https://devfeed.tech/tags/general.md>), [higher-kinded-types](<https://devfeed.tech/tags/higher-kinded-types.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [programming](<https://devfeed.tech/tags/programming.md>), [scala](<https://devfeed.tech/tags/scala.md>), [scala-3](<https://devfeed.tech/tags/scala-3.md>), [tagless-final](<https://devfeed.tech/tags/tagless-final.md>), [tasks](<https://devfeed.tech/tags/tasks.md>), [zio](<https://devfeed.tech/tags/zio.md>)

### AI overview

This article describes updates to Bridge Four, a distributed data-processing system built from scratch in Scala 3. It focuses on state management, consistency guarantees, background workers, caching, API semantics, and the system's single-leader, multi-worker architecture.

### Source excerpt

Improving Bridge Four, a simple, functional, effectful, single-leader, multi worker, distributed compute system optimized for embarrassingly parallel workloads by providing consistency guarantees and improving overall code quality (or something like that).

## Building a Functional, Effectful Distributed Compute System from Scratch in Scala 3 (Part 1)

DevFeed: [Building a Functional, Effectful Distributed Compute System from Scratch in Scala 3 (Part 1)](<https://devfeed.tech/articles/building-a-functional-effectful-distributed-system-from-scratch-in-scala-3-just-to-avoid-leetcode-part-1-41500.md>)

Original publisher: [Read original article](<https://chollinger.com/blog/2023/06/building-a-functional-effectful-distributed-system-from-scratch-in-scala-3-just-to-avoid-leetcode-part-1/>)

Author: Christian Hollinger

Published: 2023-06-19T00:00:00Z

Content type: article

Language: en

Sources: [Christian Hollinger](<https://devfeed.tech/sources/christian-hollinger.md>)

Topics: [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [data-engineering](<https://devfeed.tech/topics/data-engineering.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [Platform Engineering](<https://devfeed.tech/topics/platform-engineering.md>), [Parallelism](<https://devfeed.tech/topics/parallelism.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [bridgefour](<https://devfeed.tech/tags/bridgefour.md>), [cats](<https://devfeed.tech/tags/cats.md>), [cats-effect](<https://devfeed.tech/tags/cats-effect.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [data-platform-engineering](<https://devfeed.tech/tags/data-platform-engineering.md>), [distributed-system](<https://devfeed.tech/tags/distributed-system.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [high-performance](<https://devfeed.tech/tags/high-performance.md>), [higher-kinded-types](<https://devfeed.tech/tags/higher-kinded-types.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [programming](<https://devfeed.tech/tags/programming.md>), [scala](<https://devfeed.tech/tags/scala.md>), [scala-3](<https://devfeed.tech/tags/scala-3.md>), [tagless-final](<https://devfeed.tech/tags/tagless-final.md>), [zio](<https://devfeed.tech/tags/zio.md>)

### AI overview

The author explains building Bridge Four, a functional, effectful distributed data-processing system from scratch in Scala 3 as an alternative to practicing LeetCode problems. The project focuses on distributed systems and data-platform engineering, with later parts covering consistency, background tasks, job submission, worker scaling, leader election, and Raft consensus.

### Source excerpt

Building something that already exist (but worse) so I don't have to think about Leetcode: Bridge Four, a simple, functional, effectful, single-leader, multi worker, distributed compute system optimized for embarrassingly parallel workloads.

## Functional programming concepts and Scala features useful in data engineering

DevFeed: [Functional programming concepts and Scala features useful in data engineering](<https://devfeed.tech/articles/functional-programming-concepts-i-actually-like-a-bit-of-praise-for-scala-for-once-41495.md>)

Original publisher: [Read original article](<https://chollinger.com/blog/2022/06/functional-programming-concepts-i-actually-like-a-bit-of-praise-for-scala-for-once/>)

Author: Christian Hollinger

Published: 2022-06-01T00:00:00Z

Content type: opinion

Language: en

Sources: [Christian Hollinger](<https://devfeed.tech/sources/christian-hollinger.md>)

Topics: [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Object-oriented programming (OOP)](<https://devfeed.tech/topics/oop.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [effects](<https://devfeed.tech/tags/effects.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [go](<https://devfeed.tech/tags/go.md>), [java](<https://devfeed.tech/tags/java.md>), [oop](<https://devfeed.tech/tags/oop.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [scala](<https://devfeed.tech/tags/scala.md>), [tagless-final](<https://devfeed.tech/tags/tagless-final.md>), [types](<https://devfeed.tech/tags/types.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

An opinionated discussion of functional programming concepts and Scala features that the author finds useful in day-to-day data engineering work. It focuses on type-driven programming, composition, abstraction, and related design patterns rather than providing a complete tutorial.

### Source excerpt

Types, type classes, implicits, tagless-final, effects, and other things: Not everything in the world of functional programming is bleak and overly academic. A view on FP & scala concepts someone who loves to complain actually likes.