- PersonResource Driver-Side Adapter
- PostgresPersonRepository Driven-Side Adapter
| version: "3.8" | |
| services: | |
| eventstore.db: | |
| restart: always | |
| image: "ghcr.io/eventstore/eventstore:23.6.0-alpha-arm64v8" | |
| environment: | |
| - EVENTSTORE_CLUSTER_SIZE=1 | |
| - EVENTSTORE_RUN_PROJECTIONS=All | |
| - EVENTSTORE_START_STANDARD_PROJECTIONS=true | |
| - EVENTSTORE_EXT_TCP_PORT=1113 |
Based on this blogpost.
Install with Homebrew:
$ brew install postgresql@14(The version number 14 needs to be explicitly stated. The @ mark designates a version number is specified. If you need an older version of postgres, use postgresql@13, for example.)
I really like my job, I get to work with interesting use cases. The following investigation is result of one of these conversations. A customer was evaluating a write-heavy use case with a KV workload, where row is very small consisting of a key and a value. CockroachDB has an equivalent workload conveniently named kv. The gist of the challenge was scaling the writes to 200,000 rows/sec. I've seen good performance with CockroachDB on various workloads but never evaluated write-heavy and write-only workloads. I decided to investigate the feasibility of this and set out to scale CRDB to reach my target. After several attempts, I settled on the following architecture:
- AWS
us-east-2region - 30
c5d.4xlCockroachDB nodes - 1
c5d.4xlclient machine - CockroachDB
20.1.8
I conducted this test using RocksDB storage engine as well as our new engine called [Pebble](https:/
| //usr/bin/env jbang "$0" "$@" ; exit $? | |
| //DEPS io.smallrye.reactive:smallrye-mutiny-vertx-web-client:1.1.0 | |
| //DEPS io.smallrye.reactive:mutiny:0.7.0 | |
| //DEPS org.slf4j:slf4j-nop:1.7.30 | |
| package io.vertx.mutiny.retry; | |
| import io.smallrye.mutiny.Uni; | |
| import io.vertx.mutiny.core.Vertx; |
I will continue to use a docker-compose environment for the following tutorial as it fits nicely with the iterative model of development and deployment with schema migration tools. We will need a recent CockroachDB image. My current folder tree looks like so:
crdb-flyway
└── docker-compose.yml
0 directories, 1 fileMy docker-compose file looks like so:
- Install Docker Desktop
Because we already have an official CockroachDB docker image, we will use that in our docker-compose.yml file. We recommend you use one of the current tags instead of latest.
I've been working with Apache Kafka for over 7 years. I inevitably find myself doing the same set of activities while I'm developing or working with someone else's system. Here's a set of Kafka productivity hacks for doing a few things way faster than you're probably doing them now. 🔥
| // Porting of https://gist.github.com/jdegoes/dd66656382247dc5b7228fb0f2cb97c8 | |
| typealias UserID = String | |
| data class UserProfile(val name: String) | |
| // The database module: | |
| interface DatabaseService { | |
| suspend fun dbLookup(id: UserID): UserProfile | |
| suspend fun dbUpdate(id: UserID, profile: UserProfile) | |
| } |