Friends, i'm making another try of running a YouTube channel about #softwareengineering and #systemdesign The 4th one)
I will start with rubric #ANDevHowTo and will be telling about different interesting small stuff that helping be a better dev and optimize your work and emotional experience.
I will also duplicate all this content to Linkedin and my #GitHub https://lnkd.in/eSPEMKyj Don't forget to Follow & Set a Star :)
And today we will start from #Networking and #MulticastDNS
You can find full article here: https://lnkd.in/e6VhCJmb
#ANDevHowTo #ANDevHowToNetworking #DNS
PS: I will add youtube channel a bit later, so for now I will start from articles
I will start with rubric #ANDevHowTo and will be telling about different interesting small stuff that helping be a better dev and optimize your work and emotional experience.
I will also duplicate all this content to Linkedin and my #GitHub https://lnkd.in/eSPEMKyj Don't forget to Follow & Set a Star :)
And today we will start from #Networking and #MulticastDNS
You can find full article here: https://lnkd.in/e6VhCJmb
#ANDevHowTo #ANDevHowToNetworking #DNS
PS: I will add youtube channel a bit later, so for now I will start from articles
👍7❤1🔥1🍾1
Today in our everyday adventure for #knowledge we will discuss difference between big and heavy #cluster vs few small ones #sharded by users/etc.
Both of them has their pros and cons, as any #solution you will ever made. So remember to make good #systemdesign you will need to gather #requirements very carefully and #analyse them to understand which parameters a valuable for you and which are not.
#ANDevHowTo #ANDevHowToArchitecture #systemarchitecture #architecture #sharding
Both of them has their pros and cons, as any #solution you will ever made. So remember to make good #systemdesign you will need to gather #requirements very carefully and #analyse them to understand which parameters a valuable for you and which are not.
#ANDevHowTo #ANDevHowToArchitecture #systemarchitecture #architecture #sharding
Свежее видео как обещал
https://youtu.be/iEaIjrYz14w?si=Jk7IRPIoIuYTbbrR
https://youtu.be/iEaIjrYz14w?si=Jk7IRPIoIuYTbbrR
YouTube
5. Анализ сторонних решений на базе их архитектуры. Архитектура 101.
Архитектура Graphana Loki:
https://grafana.com/docs/loki/latest/get-started/architecture/
https://grafana.com/docs/loki/latest/get-started/components/
#architecture #systemdesign #analysis #архитектура #анализ #солюшен #решение #софт #приложение #solution…
https://grafana.com/docs/loki/latest/get-started/architecture/
https://grafana.com/docs/loki/latest/get-started/components/
#architecture #systemdesign #analysis #архитектура #анализ #солюшен #решение #софт #приложение #solution…
👍3
Давно вже нічого не розповідав по теху, тому вирішив сьогодні трохи поговорити про розгортання проектів, та побудову норм інфри так щоб всі були раді)
https://youtu.be/qGLiwg4_hlQ
https://youtu.be/qGLiwg4_hlQ
YouTube
Ведем проект правильно. Terraform, Terragrunt, Helm, K8S, ArgoCD, AWS
😺 Задонатить на помощь бездомным животных - https://uah.fund/donate
Канал контроля преступлений в Украине: https://xn--r1a.website/ukrainetoughlife
🎯 Tags ------------------------------------------------------------------
#cicd #deployment #architecture #softwaredevelopment…
Канал контроля преступлений в Украине: https://xn--r1a.website/ukrainetoughlife
🎯 Tags ------------------------------------------------------------------
#cicd #deployment #architecture #softwaredevelopment…
👍5
Подключаемся на стрим
https://youtube.com/live/ERrRBBYIQe8?feature=share
https://youtube.com/live/ERrRBBYIQe8?feature=share
YouTube
Почему ChatGPT, Claude, Cursor это больше чем угадывание
😺 Задонатить на помощь бездомным животных - https://uah.fund/donate
Канал контроля преступлений в Украине: https://xn--r1a.website/ukrainetoughlife
🎯 Tags ------------------------------------------------------------------
#AI #ШІ #ChatGPT #Claude #Cursor #cleanarchitecture…
Канал контроля преступлений в Украине: https://xn--r1a.website/ukrainetoughlife
🎯 Tags ------------------------------------------------------------------
#AI #ШІ #ChatGPT #Claude #Cursor #cleanarchitecture…
👍2
🔥 Software Architect Decision: Typical Fail in Designing Search
Many services - like search engines, marketplaces, online stores, and social platforms - heavily rely on search functionality. For some, it’s absolutely core. Yet I still see developers making the same mistake over and over.
The image you see is from a #YELP Proximity Service #SystemDesign
Interview. And, again, we see the same flaw.
So what’s wrong with it?
You need to understand: search is usually a heavily loaded service and, as a core component, must be highly available with low latency.
In this design - and in many similar solutions I see on the market - the architect has split listing data: metadata goes to #ElasticSearch, while listing data is kept in a #RelationalDB.
The metadata (geo-coordinates, listing type, ID, maybe a title, etc.) is in ES, while the DB stores image paths, descriptions, titles, and so on.
So, for every user request, you first search ES for metadata, then request the rest from the DB. This approach increases system load, adds latency, introduces retry problems, creates balancing headaches (since the DB must always be more available than ES to avoid being crushed by ES-driven queries), and adds failure paths - basically increasing inconsistency and overall system complexity.
You might say cache will help. Sure, it will - to a point. But it also brings its own problems: stale cache, cascade failures, and even more complexity.
So what’s the right approach?
Instead of splitting across ES and the DB for search, make ES the only source for the search path. Add the necessary extra data to ES (usually, this increases data volume by less than 20%). Leave the DB as the source of truth, and sync ES dynamically and reliably with it.
This approach eliminates many issues and greatly simplifies support.
DISCLAIMER: As always, there’s no silver bullet. This works in many cases, but not all. Always weigh the pros and cons before choosing your architecture.
Many services - like search engines, marketplaces, online stores, and social platforms - heavily rely on search functionality. For some, it’s absolutely core. Yet I still see developers making the same mistake over and over.
The image you see is from a #YELP Proximity Service #SystemDesign
Interview. And, again, we see the same flaw.
So what’s wrong with it?
You need to understand: search is usually a heavily loaded service and, as a core component, must be highly available with low latency.
In this design - and in many similar solutions I see on the market - the architect has split listing data: metadata goes to #ElasticSearch, while listing data is kept in a #RelationalDB.
The metadata (geo-coordinates, listing type, ID, maybe a title, etc.) is in ES, while the DB stores image paths, descriptions, titles, and so on.
So, for every user request, you first search ES for metadata, then request the rest from the DB. This approach increases system load, adds latency, introduces retry problems, creates balancing headaches (since the DB must always be more available than ES to avoid being crushed by ES-driven queries), and adds failure paths - basically increasing inconsistency and overall system complexity.
You might say cache will help. Sure, it will - to a point. But it also brings its own problems: stale cache, cascade failures, and even more complexity.
So what’s the right approach?
Instead of splitting across ES and the DB for search, make ES the only source for the search path. Add the necessary extra data to ES (usually, this increases data volume by less than 20%). Leave the DB as the source of truth, and sync ES dynamically and reliably with it.
This approach eliminates many issues and greatly simplifies support.
DISCLAIMER: As always, there’s no silver bullet. This works in many cases, but not all. Always weigh the pros and cons before choosing your architecture.
🙏2