Home » Author Archives: Bilgin Ibryam

Author Archives: Bilgin Ibryam

Bilgin is a software craftsman based in London, integration architect at Red Hat, Apache Camel and Apache OFBiz committer. He is an open source fanatic, passionate about distributed systems, messaging, enterprise integration patterns, and application integration. He is also the author of Camel Design Patterns and Instant Apache Camel Message Routing books.

Create Resilient Camel applications with Hystrix DSL

apache-camel-logo

Apache Camel is a mature integration library (over 9 years old now) that implements all the patterns from Enterprise Integration Patterns book. But Camel is not only an EIP implementation library, it is a modern framework that constantly evolves, adds new patterns and adapts to the changes in the industry. Apart from tens of connectors added in each release, Camel ...

Read More »

Scalable Microservices through Messaging

software-development-2-logo

Microservices are everywhere nowadays, and so is the idea of using service choreography (instead of service orchestration) for microservices interactions. In this article I describe how to set up service choreography using ActiveMQ virtual topics, which also enables scalable event based service interactions. Service Interaction Styles There are two main types of service interaction: synchronous and asynchronous. With synchronous interactions, the service consumer makes a request ...

Read More »

Performance Tuning Ideas for Apache Camel

apache-camel-logo

Every now and then, I get questions around optimising Camel applications with the argument that Camel is slow. Camel is just the glue connecting disparate systems, the routing engine is all in-memory, and it doesn’t require any persistent state. So 99% of the cases, performance issues are due to bottlenecks in other systems, or having the application design done without ...

Read More »

Apache Camel for Micro­service Architectures

java-interview-questions-answers

I’ve been using microservice architectures before I knew they were called so. I used to work with pipeline applications made up of isolated modules that interact with each other through queues. Since then a number of (ex)ThoughtWorks gurus talked about microservices. First Fred George, then James Lewis and finally Martin Fowler blogged about microservices making it the next buzzword so ...

Read More »

Clustered Idempotent Consumer Pattern with Infinispan

jboss-infinispan-logo

I’ve created a small project that shows how to use JBoss Infinispan with Apache Camel and the Idempotent Consumer Pattern to guarantee a message will not be processed twice in a clustered environment. Imagine you have an application that has to scale out easily by deploying it on multiple containers. But the application has to process each unique request only ...

Read More »

Circuit Breaker Pattern in Apache Camel

apache-camel-logo

Camel is very often used in distributed environments for accessing remote resources. Remote services may fail for various reasons and periods. For services that are temporarily unavailable and recoverable after short period of time, a retry strategy may help. But some services can fail or hang for longer period of time making the calling application unresponsive and slow. A good ...

Read More »

A Docker Maven Plugin for Integration Testing

docker-logo

What is Docker? Docker is the buzzword that is taking the DevOps world. If you don’t know yet what is Docker, be warned, you will find yourself using it one way or another very soon. The rest of this post assumes some basic understanding of Docker, but if you are not familiar with it now, I’m sure you will come ...

Read More »

Software engineering vs Software consulting

software-development-2-logo

I’ve seen articles with this topic in the past but have to admit to have never read one. If you have, probably you already know which one is the better profession so stop reading this now. If you are still interested, this is my take on the topic. Software engineering Software engineering is great profession. I was engineer in companies ...

Read More »

A Camel Demo for Amazon’s Simple Worklfow Service

apache-camel-logo

In a previous post I explained why AWS SWF service is good and announced the new Camel SWF component. Now the component documentation is ready and here is a simplistic fully working demo. It consist of three independent standalone Camel routes: A workflow producer allows us to interact with a workflow. It can start a new workflow execution, query its ...

Read More »

Master/Slave Failover for Camel Routes

apache-camel-logo

One way to implement a master/slave failover pattern is to have a cluster of instances of an application where one instance (the master) is currently active and the other instances (the slaves) are on standby, ready to take over whenever the master fails. Some projects provide this kind of master/slave support out of the box: Creating a failover deployment for ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Advanced Java Guide
  • Java Design Patterns
  • JMeter Tutorial
  • Java 8 Features Tutorial
  • JUnit Tutorial
  • JSF Programming Cookbook
  • Java Concurrency Essentials