[TIL] 회사에서 사용했던 스택들 찍먹(?)

choi seung-i·2023년 2월 28일
0

공부로그

목록 보기
1/20
post-thumbnail

오늘의 주제는

  • 회사에서 사용했던 STACK 찍먹 2탄 (1탄은 회사다닐때 했었다..)
    • ELK
    • Kafka
    • Redis
    • AWS (Lambda, S3, CloudFront, Route53)

스택에 관한 스터디는 우리끼리 알아보고 공유하는거라 정확하지 않을 수 있고, 너무 겉핥기이겠지만 정말 어떻게 사용했었는지, 왜썼는지정도는 알아야 할 것 같아서 시작되었다.


ELK

Elastic Search, Logstash, Kiana

  • Elastic Search : 데이터 저장, 가공
  • Logstash : 데이터 수집
  • Kibana : 모니터링

굳이 순서로 이해해보면

  1. Logstash로 필요한 데이터를 수집해주고
  2. Elastic Search에 ( Documents라는곳에 저장됨 ) 저장하여 가공한다.
  3. 로그를 붙였다면 kibana에서 로그를 확인할 수 있다.

실제로 어디에 사용하였는가 ?

  1. 검색기능 : EL
    왜 DB에서 하지않고 ES에서 하는가?
    => 자연어처리(동의어 / 유의어, 오타 보정), 유사도 등을 제공해준다.

  2. 로그 모니터링 : ELK
    logback(로깅프로그램)을 이용하여 Logstash에 커스텀해준채로 넘겨주고, ES에 저장을 하여 kibana에서 로그를 확인한다.


Kafka

크롤링을 위해 사용
Producer - Topic - consumer
Topic은 여러개의 Partition을 가지고있음 : 분산처리를 위해

내가 이해하도록 적어보자면...

producer(크롤러)가 데이터를 가져오면 지정해둔 Topic-Partition에 차곡차곡 쌓아두고, consumer는 그 Topic-Partition을 구독하여 데이터를 사용한다.
Topic-Partition에 쌓이고 해당 Topic-Partition을 중간에 컨슈머가 구독을하여도 그동안의 Topic-Partition 히스토리들을 가져올 수도 있다.


Redis

캐시사용을 위해 !

  • In-memory Storage(DB) : RAM
  • key-value 형식으로
  • Replication : 여러대의 서버를 두어서, 한쪽이 죽어도 다른곳에 캐시가 남아있으므로 안전함

실제로 어디에 사용하였는가 ?

  • 유저에따라 바뀌지 않는 데이터(홈화면, 카테고리 등..)

AWS

Lambda

severless 플랫폼

  • severless : 서버관리(환경셋팅같은)가 필요없어 비즈니스 로직에만 집중. (실제로는 서버가 있지만, 서버가 없는것처럼 느껴진다)
  • 요청당 과금 (일반 서버는 시간당 과금)

CloudFront

CDN : Contents Delivery Network

  • 본 서버에서 분산 네트워크를 두고, 근처에있는 분산 네트워크로 접속하여 사용하도록 하는 것
  • 어느 분산네트워크를 사용할지는 캐시처리된다
  • 대체도메인을 통해 접근
  • 유튜브,넷플릭스 등 큰 기업에서도 많이 씀
  • S3에 직접 접근하면 보안문제도 있어서 CloudFront에서 origin 설정을하여 접근할 수 있음

실제로 어디에 사용하였는가 ?

  1. 크롤러가 S3에 이미지 저장
  2. 이미지 호출
  3. CloudFront에 있으면 그걸 사용, 없으면 S3까지 갔다와야함
    (처음 호출하여 CloudFront에 쌓이고나면 S3까지 갔다올 필요 없어서 빠름)
버킷 : 폴더인데 다양한 기능이 있는 폴더 ..

Route53

  • IP주소 : 네트워크 주소 (www.naver.com 처럼 사람이 알아보기 쉬운게 도메인)
  • MAC주소 : 기기별로 부여되는 주소
  • 포트 : App 별 주소

*.domain_name : *(서브도메인)은 커스터마이징이 가능하고, 서브도메인에따라 보내주는 경로를 지정해줄 수 있다.


공부하며 정리&기록하는 ._. 씅로그

profile
Front-end

0개의 댓글