본문 바로가기

스터디-ing/Cloud

(4)
[S3] Signed URL로 파일 업로드, 트래픽 줄이기 Signed URL? (출처 AWS 공식 문서)미리 서명된 URL의 생성자가 해당 객체에 대한 액세스 권한을 보유할 경우, 미리 서명된 URL은 URL에서 식별된 객체에 대한 액세스를 부여합니다.즉, 객체를 업로드하기 위해 미리 서명된 URL을 수신하는 경우, 미리 서명된 URL의 생성자가 해당 객체를 업로드하는 데 필요한 권한을 보유하는 경우에만 객체를 업로드할 수 있습니다. 다시 말해 미리 서명된 URL을 통해 S3에 접근 할 수 있고, 이때 일정한 권한과 만료시간을 설정해 엑세스 권한을 부여할 수 있다.하지만 만료시간이 있을 지라도 해당 URL이 오픈되면 모든 사람이 접근 가능하기 때문에 조심해야 한다.자 이제, 필자가 Signed URL을 사용하려고 결정한 이유에 대해 말하려 한다.기존에는 클라이..
[Redis] Common In-Memory Use Cases 1. Caching1.1. Query cachingHit rate 고려해서 사용1.2. full web-page cachingTTL: 설정한 기간 동안 데이터를 유지한다는 것을 보장함. TTL 지난 데이터는 바로 삭제되지 않고 여유가 될 때 지워짐Eviction: 데이터 용량이 꽉 차면 어떤 데이터부터 지울 것인지 설정해야 함key를 만들때 어렵고 복잡하게 만든다고 redis에서 파티셔닝 성능이 높아지지 않음key를 hash 함수를 이용해 hash 값으로 지정하는 것이 best practice2. Session StoreAccess Token은 Redis에 저장하고 Refresh Token은 영속성 있는 RDB에 저장해서 관리하는 경우도 있음3. LeaderboardsRDB에서 집계, 순위 함수를 사용하..
[Redis] Redis 데이터 구조 Redis는 제공하는 Data Structures를 활용해 서비스 워크로드에 맞는 설계가 가능하다.하지만 설계 시 주의할 점은 Redis는 싱글 스레드이기 때문에 BigO의 n 사이즈를 무조건적으로 고려해야한다.Redis는 데이터를 key-value 형태로 저장하는데, 이때 key에 대한 전략도 중요하다.aws 엔지니어가 말하기를 키를 저장할때는 일정한 길이, 고유 값을 고려해 해싱하여 사용하는게 좋은 방식이라 한다. Redis Keyskey-value 형태 저장키 사이즈: 512MBbinary safe strings구분자 좋은 예: deliiter(,) standard is (:)Example: app1:cart:123456String최대 512MB 길이의 텍스트 또는 바이너리 문자열을 보유할 수 있는..
[Redis] AWS Redis에 대해 오늘은 API 서버의 성능을 높이기 위한 좋은 방법중 하나인 캐싱인 aws의 Redis에 대해 공유하려 한다. 개발할때 필요한 내용만 간추린 내용이기 때문에 더 자세한 내용은 https://docs.aws.amazon.com/elasticache/ 를 참고하길~! ElasticCache memory특징인메모리, RAM, 휘발성캐시도 고가용성이 필요 함캐시가 Down되었을 때 고려하여 DB가 버틸 수 있도록 설계하는 것도 중요Memory DB, Elastic Cache 가장 큰 차이점은 Elastic Cache는 휘발성이고 Memory DB는 복구가 가능하다는 것임.Data Tiering(LRU): 접근 빈도가 높은 Hot 데이터를 더 빠른 저장장치에, 접근 빈도가 낮은 Cold 데이터를 덜 빠른 저장장치..