개-발/Infra

problemec2에 올릴 수 있었지만 ec2 메모리가 부족해서 이렇게 된거 ElastiCache 를 사용해보려고 한다.solutionElastiCache 란Amazon ElastiCache는 인 메모리 데이터베이스 캐싱 시스템을 제공하여 애플리케이션이 데이터를 검색 할 수있는 성능, 속도 및 중복성을 향상시키는 클라우드 캐싱 서비스이다.https://ap-northeast-2.console.aws.amazon.com/elasticache/home https://ap-northeast-2.console.aws.amazon.com/elasticache/home?region=ap-northeast-2#/ ap-northeast-2.console.aws.amazon.com1. Start위 링크에 접속해서 오른..
problem프로필 , 로고 업로드 기능을 위해 서버에서 이미지 처리 기능으로 S3를 사용 했다.S3 의 버켓에 특정 확장자 업로드를 방지하는 정책을 적용 해보기로 했다.solution적용 할 버킷에 접속한다.권한 탭으로 이동 후 아래에 내려오면 버킷 정책이 있다{ "Version": "2012-10-17", "Id": "Policy1717078661759", "Statement": [ { "Sid": "Stmt1717078657627", "Effect": "Deny", "Principal": "*", "Action": [ "s3:GetObject", ..
problem"action_request_validation_exception""Validation Failed: 1: type is missing;"두 예외에 대한 설명도 아래에 담는다폐쇄망(내부망)에서 엘라스틱서치 인덱스의 데이터를 옮기려고 한다해당 인덱스의 데이터를 json 파일로 받아 다시 새로운 인덱스로 옮기는 작업을 했다.solution1. 데이터 -> JSON 파일 추출# 1. 첫 번째 요청으로 스크롤 ID 얻기curl -X GET "http://localhost:9200/index/_search?scroll=1m&size=1000" -H 'Content-Type: application/json' -d'{ "query": { "match_all": {} }}' > my_index.j..
설정버전이 굉장히 중요하다.elasticsearch 버전 별로 deprecated 되는 주요 기능이 있다.ElasticSearch 8.xSpringBoot 3.0.xSpring data ElsticSearch 8.5.3//build.gadle.ktsimplementation("org.springframework.boot:spring-boot-starter-data-elasticsearch")implementation("com.fasterxml.jackson.core:jackson-databind:2.17.0")ConnectorApi key를 사용해도 되고 계정을 추가하고 권한을 넣어 사용해도 된다.키바나에 아래 내용을 입력하면 api-key 가 생성된다.POST /_security/api_key{ "n..
더보기 검색 문구 엘라스틱서치 개념 엘라스틱서치 구문 엘라스틱서치 query 엘라스틱서치 쿼리 엘라스틱서치 쿼리 구문 엘라스틱서치 검색 엘라스틱서치 개념 score - 요청된 단어와 얼마나 유사한지 수치를 계산하여 높은 데이터를 반환한다 index ( 데이터의 집합 / 테이블 ) - 관련된 문서들의 집합 document ( 문서 / 데이터 ) - 실제로 저장된 데이터를 나타낸다. JSON 형식으로 표현되며 하나 이상의 필드를 가진다 Test 용 document ( 데이터 ) { "contents" : "여러개의 물건들", "kor_contents" : "여러개의 물건들", "keyword_field": "여러개의 물건들" } 데이터를 삽입하면 nori 분석기로 analyze 하면 위와 같이 tokeniz..
problem DB 동시성제어 (PessimisticLock) : https://soobysu.tistory.com/127 [Spring] 선착순 이벤트 구현 ( 동시성 Pessimistic Lock) 문제 발급 가능 수량은 100장의 쿠폰이 있다. 10000명이 동시 접근 할때 쿠폰 발급을 정상적으로 수행 가능하게 하려면 어떻게 해야 할까 ? 냅다 코드를 짜버리면 이런식으로 100개 이상의 쿠폰이 soobysu.tistory.com 이전 글에서는 db의 PessimisticLock을 사용하여 공유자원에 대한 동시성 문제를 해결 했다. 이번 글에서는 레디스를 이용해 분산락을 사용하여 동시성 문제를 해결 하고자 한다. solution 분산락은 분산시스템으로 부터 들어오는 공유자원의 데이터의 무결성을 위해 ..
Problem 카프카로 서버간의 restAPI 통신을 구현을 하려고 하던 중... 게시판에는 멤버정보 들어간다. 게시판 생성요청 정보에는 게시판 제목 멤버 id 게시판 완료 게시판 제목, 멤버 이름(작성자) 게시판 생성요청시에 작성자id 를 가지고 멤버 서버로 멤버 정보를 요청하는 방식을 해보려고 한다. 카프카를 사용할때 1 . 게시판서버 게시판생성메서드에서 프로듀서로 작성자id 를 특정 토픽에 보내고 2 . 멤버서버에서 컨슈머 리스너를 통해 해당 토픽에 요청정보가 들어오면 3 . 요청을 처리하고 다시 객체를 반환 해줘야 하는데 이것을 다시 프로듀서로 작성하고 4 . 게시판서버에서 리스너로 응답받은 객체를 생성메서드에서 처리를 완료하여 게시판객체를 완성시키려고 했다.. 찾아보니 컨슈머리스너는 void 이..
시나리오 A사용자가 B사용자에게 메세지 / 멘션 / 댓글 을 달면 B사용자에게 알림이 가는 API를 만들려고 한다. FLOW 웹을 열때 각 사용자는 SSE로 자기 이름으로 구독을 시작한다. A사용자가 B사용자에게 메세지 보냄 > 카프카에 메세지를 보냈다고 프로듀싱 > 카프카 컨슈머가 토픽을 Listen > SSE로 구독하고 있는 B사용자의 알림 메서드 보냄 > B사용자 종에 빨간불 ON 서버는 클라이언트에게 요청을 스스로 보낼 수 없다. 그렇기 때문에 중간에 소통을 해줄 기술이 따로 필요하다. Poling / WebSoket / SSE (Server Sent Events) 등이 있다. 이 세가지 기술을 모두 설명하진 않고 SSE를 채택한 이유는 알림 서비스는 [ 새로운 알림이 있는지 , 실시간성 보장 ..
imSoo
'개-발/Infra' 카테고리의 글 목록