Software Architecture in Golang: Cache-Aside Cloud Design Pattern for Scalability

preview_player
Показать описание
Welcome to another Software Architecture in Go video, in today's episode we are discussing caching, specifically Cache-Aside, please look at the links for more details!

Why is "caching" necessary?

The idea behind caching is no new concept, in Microservices specifically is a concept we have to clearly understand to properly use it; to avoid its overuse and to know when and how to react accordingly to possible deficiencies caused by excessive caching.

When used properly caching allows returning results back to our users faster. Examples of those results could be database records, rendering pages or any other _expensive computation_.

On the other hand, if caching is not used correctly it could lead to extra latency (in case of distributed datastores like memcached), running out of memory (in case of local in-process caching), stale results or even internal errors that make our services fail.

"Cache-Aside" consists of lazy-loading resources depending on whether the resource already exists in the memory store or not.
---

RELEVANT LINKS

00:00 Start
00:11 What is the caching?
01:00 What is Cache-Aside?
02:50 Caching and Cache-Aside example in Golang
06:18 Cache-Aside Golang Conclusion

---

Who am I:

Hello👋🏼! I'm Mario, a Hands-on Software Architect and Lead Backend Engineer with more than 16 years of professional experience building all kinds of software including on-premise Industrial Automation Systems, Linux Accessibility Desktop and Browser Components as well as Distributed Advertising Microservices.

Every week I will share with you different topics I've learned while working for small startups and large companies including the processes I've followed over the years for successfully delivering complex enterprise systems from start to end.

Subscribe if you like Software Development, Software Architecture and Systems Design!

Keep it up. Don't give up!

#golang #microservices #softwarearchitecture

--- Our affiliate links below

--- Our Vlog Channel

Рекомендации по теме
Комментарии
Автор

if my career in go excels, it's because of you!

fullstack_journey
Автор

Mario gracias por esto! This is the type of Golang content that's missing out there!!! Most of the things out there tend to be old or aimed at people very new to code.

Exito!

ecam
Автор

Hey Mario do you think you could go over using gRPC and Protobuf to create a microservice, and how to properly structure the project for production?

jared
Автор

Sir please make a tutorial playlist of any Golang framework, It'd be really helpful considering there are no proper tutorials

bavan
Автор

Excellent. memcache is 'c' based and Elastic is java.
Are there any native Go cache or similar?

cqdbijo