본문 바로가기

Backend5

대규모 서비스에 대한 연구2 - I/O 부하 분산과 Memory, Disk Memory와 Disk는 생각보다 많이 다르다. 지난 시간에 이어서 서버에 부하가 있을 때 해결하는 방법 중 I/O 부하를 해결하는 법에 대해 좀 더 알아보자. 개요와 대규모 트래픽 분산 처리의 기초에 대한 내용은 이전 글을 참고해주기를 바란다. 이전 글에서 I/O 부하는 단순히 로드 밸런싱만 해서는 큰 효율이 없을 수 있다고 했는데, 그 이유를 알기 위해서는 먼저 Memory와 Hard disk에 대한 이해가 필요하다. 먼저 Memory와 Hard disk에 대한 기억을 되살려보자. Memory가 빠르고 Disk는 느리다 정도는 많이 들어봤을텐데 왜 그런지 좀 더 자세히 살펴보자. 이미지에 적혀있는 것처럼 Memory는 단기 기억, 전기로 동작, 한번에 얼마나 기억할 수 있는지 Disk는 장기 기억이고.. 2023. 6. 8.
대규모 서비스에 대한 연구1 - 부하 분산(Load balancing) 백엔드 개발자는 대규모의 실시간 트래픽 경험, 고가용성의 확장 가능한 설계를 할 수 있는 것이 중요하다는 이야기를 많이 듣는다. 나는 연차로는 4년차로 아직 개발 경력이 짧지만, IT 스타트업 특성 상 짧은 기간 동안 운 좋게도 하나의 신규 서비스를 바닥부터 프로덕션 상태까지 만들고, 구조와 언어를 완전히 바꾸는 등 저연차에 경험하기 쉽지 않은 일들을 많이 할 수 있었다. 물론 아쉬웠던 점도 있었는데, 회사의 서비스가 B2B에 가깝다보니 MAU가 평균 10만 정도여서 B2C 기업에서 말하는 대규모, 대용량 서비스를 다루는 경험을 해보지 못한 것이다. 하지만 나름대로 귀여운 트래픽 안에서도 여러가지 문제가 터지고 그 문제들을 해결하며 자연스럽게 어떻게 해야 더 큰 트래픽을 더 안전하게 받을 수 있을지에 대.. 2023. 6. 7.
[Node.js] req.query, req.params route가 이렇게 주어졌다고 가정하면 app.get('/hi/:param1', function(req,res){} ); 그리고 주어진 URL이 http://www.google.com/hi/there?qs1=you&qs2=tube 이라면 query, params를 사용할 경우 가지게 될 값은 req.query { qs1: 'you', qs2: 'tube' } req.params { param1: 'there' } More Express req.params Express 4.x - API Reference Express 4.x API express() Creates an Express application. The express() function is a top-level function exported.. 2019. 7. 2.
[공유] 맥(MAC)에서 톰캣(Tomcat) 다운로드 및 설정하기 Introduction좋은 유튜브 링크를 찾아서 공유합니다. https://www.youtube.com/watch?v=h_qQOVDTxo8Referenceshttps://www.edwith.org/boostcourse-web/lecture/16684/ 제 글이 도움이 되셨다면 간단하게 '공감', '댓글' 부탁드립니다! 2019. 2. 17.