Microservices are a popular and sometimes controversial solution to scaling teams and platforms. When working with microservices you will eventually come across a series of challenges that can be best described as the distributed query problem. Problems that used to be solved in monolithic applications by using relational databases and their ability to join data across domains can no longer be used. From here you have a few different strategies that can help you.

Two categories of strategies

  1. Orchestration— aggregation/transformation (ex: GraphQL)
  2. Reactive— services react to events (ex: data copying using an event stream)

I started exploring the implementation details of data copying through…

Kafka Connect is a powerful ecosystem for building and running streaming data pipelines. Out of the box Kafka Connect provides a number of ways to convert, transform, and process the data for both the Kafka message that gets sent to Kafka from the source datasource and the data that gets sent to the destination datasource.

SMT stands for Single Message Transformation and are built into Kafka Connect. Confluent does a great job at providing examples of each SMT and even provides source code examples. You can also create custom ones which I will cover in a future article.

The documentation…

Ever since Moya helped me understand some of the hidden power in Swift enums, I have found some other practical examples where enums can help provide a more readable and strongly typed alternative when working with UIKit and 3rd Party APIs.

Take Analytics for example, most analytics libraries provide a singleton which you initialize in your App Delegate and sprinkle references to throughout your application. Most events sent are specified via a String as an argument to the singleton.

Mixpanel.sharedInstance.track(“Log in”)

At first glance there are a few issues, first the String constant should be externalized, as well as now…

Dan Katz

Software Engineer/Architect

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store