At first, I was baffled when I heard about SPA i.e. Single Page Application. I was like – huh – who builds a one-page website these days. But after reading up further, I realized SPA is a very sophisticated way to build web applications that are fast and consume lower bandwidth.
Strategy – that’s a very complex thing, isn’t it? Let’s not worry about what’s going to be a corporate strategy or war strategy or anything. Given that we are software engineers, let’s focus on “Strategy” design pattern and it’s advantages.
As your data grows, it starts throwing up problems of scale. Sometimes only a set of tables grow at a very high rate as compared to others. In such cases, the indexes defined on these tables also start consuming more space. Searching through these tables becomes time-consuming. This is where you can benefit from database sharding.
Sidecar is a design pattern that allows deploying a supplementary service alongside the main application on the same host. It is a very popular pattern in microservices architecture and provides isolation to the main service from failures in supplementary services if any.