OPI Blog
Learn from experts in their fields

Browsing Tags: Java

May 10, 2022
Kafka Schema Evolution With Java Spring Boot and Protobuf
In this blog I will be demonstrating Kafka schema evolution with Java, Spring Boot and Protobuf.  This app is for tutorial purposes, so there will be instances where a refactor could happen. I tried to ...
Redis Bitmaps: Storing state in small places
Redis is a popular open source in-memory data store that supports all kinds of abstract data structures. In this post and in an accompanying example Java project, I am going to explore two great use ...
Feb 2, 2021
Loading Local Test Data in Spring Boot
When working on an API, it can be nice to load some data locally on startup. This is especially true when working on a read-only endpoint where no REST API is available to POST any ...
Nov 24, 2020
Performance Test Liquibase Update
When doing a liquibase update to a database if you’re having performance issues, it can be hard to find out which updates are causing problems. If you need to measure the time to apply each ...
Wrapping a GraphQL Service With a REST API
Use Case Background Providing a GraphQL service on top of REST APIs is a typical GraphQL use case (e.g., https://graphql.org/blog/rest-api-graphql-wrapper/). Doing so can dramatically improve efficiency and flexibility, allowing data consumers to request only the data ...
Sep 3, 2020
Using Spring Beans in a Kafka Streams ExceptionHandler
There are many things to know before diving into Kafka Streams. If you haven’t already, check out these 5 things as a starting point. Bullet 2 mentions designing for exceptions. Ironically, this seems to be ...
Concurrently Process a Single Kafka Partition
Concurrency in Kafka is defined by how many partitions make up a topic. For a consumer group, there can be as many consumers as there are partitions, with each consumer being assigned one or more ...
Add a custom object to your Liquibase diff
Adding a custom object to your liquibase diff is a pretty simple two step process. Create an implementation of DatabaseObject Create an implementation of SnapshotGenerator In my case I wanted to add tracking of Stored ...
New Year’s Resolution: Spotless Code
As your team enters the new year fresh off of a “holiday reboot”, broaden your next retrospective to look at the previous year as a whole. What went well? Where did things fall short? What ...
5 Things to Know Before Using Kafka Streams
The Kafka Streams API has been around since Apache Kafka v0.10 and as the adoption of Kafka booms, so does Kafka Streams. The Streams library enables developers to create distributed processing applications while avoiding most ...