
Bond Project
January 10, 2021While looking at various microservice patterns I found I wanted a playground for playing with components of a microservice based system in isolation.
Coincidentally, in the halcyon days of winter 2019 I got an idea to binge all the James Bond films. Over the years I had seen them all. I generally watched them on television but never in any order and usually having missed the start. After having re-watched one of the movies I wrote down a very short hot take on each film.
I then decided to merge these two threads and build a system with the requirement to allow reviews for Bond movies to be modified and merged with third party metadata about the movie. These imported reviews would then be reflected in a database and rendered for the end user.
This allowed me to create a system (outlined in the image below) that included some of the most common components of micro-service architecture;
- Queue
- Cache
- DatabaseREST API
- UI
Over time then I can test various components or technologies using the very simple system below.

Currently the system is implemented with the following components;
- REST API (Bond Movie API)
- Node.js 12 + koa + aws-sdk + DynamoDB
- Spring Boot + Spring Data DynamoDB + aws-sdk + DynamoDB
- Spring Boot + Hibernate + PostgreSQL
- Cache (Movie Metadata API)
- Node.js 12 + koa + Redis 6.0
- Queue (Process Queue)
- Node.js 12 + koa + kafkajs + kafka + zookeeper
- Node.js 12 + koa + kafka-node + kafka + zookeeper (deprecated)
- Review Watcher (Watch Reviews)
- Node.js 12 + glob-watcher
- UI
- Vanilla JS
- React JS (In Progress)
Next on the list is a Spring Boot implementation of the cache layer. I also want to add a pub-sub component.
Interesting Links: