Home » Author Archives: Peter Lawrey

Author Archives: Peter Lawrey

Goldilocks Microservices

software-development-2-logo

How to structure microservices? When structuring microservices we have to consider; how fine grain should our components be? how distributed should they be? I believe it’s important to treat these as separate concerns, even to the extent of ensuring your business logic components are not dependant on the choice of transport, or even whether you have a transport at all. ...

Read More »

Modelling Microservice Patterns in Code

software-development-2-logo

Service Interactions There is a number of simple interactions a service can support. Which pattern is best for your application can depend on what an existing application expects, and what latency requirements you have. Broadly speaking these interactions fall into client-server and peir-to-peir messaging. For peir-to-peir messaging, one approach to take is Lambda Architecture however from supporting GUIs, client – ...

Read More »

Simple Asynchronous Microservices using Lambda Architecture

software-development-2-logo

Lambda Architecture is a simple, powerful, though limited example of a Microservice. As it is so simple, you want to use it as much as possible, to expose the more complex services/component in your system which cannot support this interaction model. Lambda Architecture depends on a data model with an append-only, immutable data source that serves as a system of ...

Read More »

Microservices are about applying a group of Best Practices

software-development-2-logo

Microservices Denial A number of times clients have said; they can’t imagine their organisation using Microservices. I found this surprising as I know those people are using many of the principles of Microservices already. I can understand that they feel no need to join the hype around microservices, but the reality is, like it or not, you are most likely ...

Read More »

Micro-services for performance

software-development-2-logo

Overview Microservices is a buzz word at the moment. Is it really something original or based on established best practices. There are some disadvantages to the way micro-services have been implemented, but can these be solved? Component testability and consistency Once you have assembled a large system, it can be hard to impossible to profile where the highest delays come ...

Read More »

Printing arrays by hacking the JVM

java-logo

Overview One the most common gotchas in Java, is knowing how to print arrays. If an answer on how to print an array get more than 1000 upvotes, you have to wonder if there is a simpler way. Just about every other popular language has that simpler way, so it’s not clear to me why Java still does this. Unlike ...

Read More »

Simple Event Driven design

java-logo

Overview Developers often ask about the performance or efficiency of a system or their code. What does this really mean? My code is so efficient, only a coding god could understand how it works. My code is really clever but unmaintainable. The next developer will re-write it anyway. My code is really efficient for the machine, but inefficient for the ...

Read More »

How do low latency applications differ for regular applications?

software-development-2-logo

Overview A common question we get is; What makes a low latency application different? What is it like to read? There is a number of considerations in designing a low latency application which distinguish it from other applications. Simplicity is key The best way to make something go faster is to get the application to do less work. This means; ...

Read More »

Custom operators for collections in Java

java-logo

Overview Operator overloading is available in an number of languages. Java has very limited operator overloading in it’s support for the + operator for String types. We can draw on the different ways other languages support operators, however could we have an implementation in Java which uses conventions Java already uses. Get, set and put operations A common example of ...

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:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns