In this post let's look at the Kafka Camel Component. Apache Camel is an implementation of the enterprise integration patterns. The class we want is KafkaConsumer @Override protected void doStart() throws Exception { //... executor = endpoint.createExecutor(); //... for (int i = 0; i < endpoint.getConfiguration().getConsumersCount(); i++) { KafkaFetchRecords task = new KafkaFetchRecords(topic, pattern, i… Continue reading A look at the Camel Kafka Consumer
Kafka Consumer Rebalance
A consumer is a process that reads from a kafka topic and process a message. A topic may contain multiple partitions. A partition is owned by a broker (in a clustered environment). A consumer group may contain multiple consumers. The consumers in a group cannot consume the same message. If the same message must be… Continue reading Kafka Consumer Rebalance
Maven parent version
It most cases when we need maven, we need a parent child like structure. I personally like to start my projects with a parent bom file where I manage all my dependencies and plugins. https://unsplash.com/@vikceo <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <artifactId>commons</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <parent> <groupId>com.sergiuoltean.test</groupId> <artifactId>bom</artifactId> <version>1.0-SNAPSHOT</version> <relativePath/> </parent> </project> Now… Continue reading Maven parent version
Open Policy Agent
Security is one, if not the most important architecture characteristic. When we talk about security we usually talk in terms of authentication and authorization. Authentication refers to the ability of a user(or service) to access functionalities provided by other services. What are those functionalities are controlled by the authorization process. Two of the most used… Continue reading Open Policy Agent
A change of seasons
Fundamental techniques of handling people Principle 1 - Don't criticize, condemn or complain Criticism is futile because it puts a person on the defensive and usually makes them strive to justify themselves. Criticism is dangerous, because it wounds a person's precious pride, hurts their sense of importance, and arouses resentment. There you are; human nature… Continue reading A change of seasons
Introduction to Architecture characteristics
Also known as *ilities(scalability, deployability), NFRs(non-functional requirements), quality attributes. There is no fixed list of these. We do however have a standard for these. It's ISO25010 and it looks like https://iso25000.com/images/figures/en/iso25010.png We extract these from business requirements(business characteristics), from the way we expect to operate the system(operational characteristics) and they are implicit, cross-cutting characteristics which… Continue reading Introduction to Architecture characteristics
Architectural Decisions
These are regularly taken by architects to solve a particular problem. There is a thin line between architectural decision and design decision. Should the architect also take a design decision? Ideally not, but as we know it all depends. Design decisions should be taken by the architect in collaboration with the tech leads and senior… Continue reading Architectural Decisions
Football Manager
You read it right. Today I'm gonna talk about my strategy that I used when I was playing this game. https://s2.dmcdn.net/v/AdDAh1LfLIUPbwg4i/x1080 I started with a mediocre team in 2nd tier. I was their manager. My goal was to promote it to 1st tier. I knew my chances are not that good, so the first thing… Continue reading Football Manager
We, the misfits
Have you ever feel that something is wrong with you? That you are swimming against the current. Well you might not be the only one. Some of us we like to say we write clean code, but are we clean coders? Do we apply the boy scout rule? At least we try. For us writing… Continue reading We, the misfits
Fitness functions
Once we build a product we must ensure its intrinsics stay healthy. In other words fit. We need to build some constraints that we must validate against every time we apply changes to our system. If those constraints fail validation the system should protect itself and not permit those changes. Every architecture should have a… Continue reading Fitness functions