Enhanced Reactive Dynamodb library was released in 2020 and you are missing out if you aren’t using that for communicating with Dynamodb.
This is a follow up to my blog on basic interaction with Dynamodb —
We now have reactive apis for dynamodb. The enhanced library from dynamodb is better one to use now and this article dwells deeper into how to use that. Github project that we will be referencing throughout:
Gradle dependencies required
Dynamodb Enhanced is much more robust and easy to use than com.amazonaws.* classes. For Sync, you just do the below:
Intro to Reactive Spring — Spring WebFlux
Spring with version 5.2 supports reactive programming and reactive systems. Project Reactor, RxJava, Java 9 Reactive were all developed before this and spring uses the project reactor dependency to provide the support via Spring WebFlux.
Links with Overview and the guide are below:
Couple of other useful links:
Both of these mechanisms are described in detail in my other article:
If it’s the first time you are looking at Redis, the site has a very good 5 mins try it tutorial: https://try.redis.io/
Redis has a competitor in memcached that can be used similarly for object caching.
AWS provides Elasticache which acts as a layer above Redis or Memcached and can be used easily with the AWS SDK for production apps. More details from AWS site and Redis enterprise site below:
More details above ElastiCache with Redis here:
To run mongodb as docker container,
docker pull mongo
docker run -d --name mongodb -p 27017:27017 mongo
To view the contents of MongoDB, mongo-express is a good tool. Link: https://github.com/mongo-express/mongo-express. You can install it as another docker container connecting to the mongo docker
docker run -d --link mongodb:mongo -p 8081:8081 --name mongo-express mongo-express
To run Postgres as docker container, refer to: https://hub.docker.com/_/postgres. Basic steps are:
docker run -d --name postgres -p 5432:5432 -e POSTGRES_USER=pgadmin -e POSTGRES_PASSWORD=pgpwd postgres
By default username is postgres, but good to change it to custom username. Providing password is mandatory at the startup time.
pgAdmin 4 is a good tool for viewing the contents of Postgres database. Link: https://www.pgadmin.org/
brew install --cask pgadmin4
After that create a new server connecting to localhost 5432 with user/pwd as above to see the data from this app
Different approaches for setting up Kubernetes cluster on AWS
This is the course I referred: https://cloudyuga.guru/courses/ckad-online-self-paced
Calls itself “Kubectl for clusters” — an easy tool to create a cluster on AWS.
Steps to get started:
Developer starting fresh on backend services on java/jvm?
On receiving a new Macbook pro laptop, here are the mandatory software/configurations that I do.
Powerlevel10K is an awesome Zsh theme…
Course: https://www.udemy.com/course/learn-kubernetes/ on Udemy by Mumshad Mannambeth is a good beginner course covering the fundamentals of Docker. This seems to be a few years old but most of it is still relevant. I didn’t try it with GCP (or AWS for that matter) — setting up and exploring kubeadm did take time.
If you are on Mac OS X Yosemite or above, the HyperKit virtualization framework is a better option than Oracle’s VirtualBox as it’s much more lightweight. This comes as part of the Docker desktop for Mac. Ref: https://docs.docker.com/docker-for-mac/docker-toolbox/
Installing VirtualBox from here and then an…
Software Engineer working on Java based Micro-services deployed on AWS cloud. California, US resident currently — born and brought up in Bangalore, India.