🏛️Infra/Redis

부하 테스트에서 서비스가 1초당 처리할 수 있는 작업량을 보고 Throughput이라고 부른다. 단위는 TPS(Transaction Per Seconds, 1초당 처리한 트랜잭션의 수)를 많이 활용한다.만약 내가 만든 서비스가 1초에 최대 100개의 API 요청을 처리할 수 있다면, 이 서비스의 Throughput은 100 TPS라고 얘기한다. 환경 세팅 (k6)https://velog.io/@ryuneng2/%EB%B6%80%ED%95%98-%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-Windows-K6-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95 부하 테스트란, 임계값 한계에 도달할 때까지..
✅ 아키텍처 구성 자세한 생성은 https://ehdgus1.tistory.com/110를 참고하자 Spring Boot 서버를 EC2에 배포하기전에 올렸던 게시글에서 인스턴스에 연결하여 우분투 환경에서 진행한다. ✅ 1. Ubuntu 환경에서 JDK 설치하는 법$ sudo apt update && /sudo apt install openjdk-17-jdk -y ✅ 2. 잘 설치됐는 지 확인하기$ java -vehdgus1.tistory.com ✅ EC2 생성보안 그룹 설정에서 8080번 포트 열어주는 것을 깜빡하지 말자. ✅ RDS 생성보안 그룹 설정에서 3306번 포트 열어주는 것 깜빡하지 말자. ✅ EC2에 Redis 설치$ sudo apt update$ sudo apt install redis$ ..
Board 엔티티만들기@Entity@Table(name = "boards")public class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private String content; @CreatedDate @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") @JsonSerialize(using = LocalDateTimeSerializer.class) @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime createdAt; ..
✅ 캐시(Cache)란?원본 저장소보다 빠르게 가져올 수 있는 임시 데이터 저장소를 의미한다.  ✅ 캐싱(Caching)이란?캐시(Cache, 임시 데이터 저장소)에 접근해서 데이터를 빠르게 가져오는 방식을 의미한다.   데이터를 캐싱할 때 사용하는 전략 ✅ Cache Aside (= Look Aside, Lazy Loading) 전략처음 게시판 서비스를 배포했다고 가정하자. 처음 게시판 서비스를 배포했기 때문에 데이터베이스와 레디스에는 아무런 데이터도 저장이 되어있지 않다.일부 사용자가 들어와 게시글 작성을 함으로써 데이터를 저장한다. 이 데이터는 데이터베이스에 저장된다. (레디스에 저장되지 않는다.)사용자가 데이터를 조회하려고 요청한다. 이 때, 데이터베이스로부터 바로 데이터를 조회하기 전에 레디스에..
✅ Redis란?레디스(Redis)는 Remote Dictionary Server의 약자로서, “키-값” 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 즉, Redis는 데이터 처리 속도가 엄청 빠른 NoSQL 데이터베이스이다. NoSQL 데이터베이스를 풀어서 얘기하자면 Key-Value의 형태로 저장하는 데이터베이스라고 생각하면 된다.  ✅ Redis의 장점레디스(Redis)는 인메모리(in-memory)에 모든 데이터를 저장한다. 그래서 데이터의 처리 성능이 굉장히 빠르다.  MySQL과 같은 RDBMS의 데이터베이스는 대부분 디스크(Disk)에 데이터를 저장한다. 하지만 Redis는 메모리(RAM)에 데이터를 저장한다. 디스크(Di..
말동말동현
'🏛️Infra/Redis' 카테고리의 글 목록