본문 바로가기

전체 글110

Opensearch Alert 설정하기 준비 사항1. Slack webhook API ( 저 같은 경우 slack으로 알림 받으려고 설정하였습니다. ) 알림 받을 Channels생성 notifications 접속 후 Channels 클릭 2. Create channel   Channel Type 및 관련 정보 기입   send test message로 테스트 후 Create경고( Alerts ) 생성Alerts 접속 후 Monitors로 이동.Create Monitor원하시는 monitor type 선택   저는 per query monitor 선택했습니다.Monitor defining method   Extraction query editor 선택Schedule   본인이 원하는 주기 선택. ( 저는 5분 주기로 했습니다. )Query저 같.. 2024. 10. 30.
Opensearch에 Latency API 대쉬보드 설정하기 준비되어야할 사항1. 로그 포맷할 때 responseTime(API 호출~반환까지의 시간) 필드가 있어야한다.     - API 주소도 포함되어있어야 한다.대시보드 설정하기1. Visualize 접속Create Visualization원하는 visualization type을 선택한다. ( 저는 Data Table 선택했어요 )Metric   Count로 설정Metric 추가 Average 설정field   responseTime ( API 호출~반환까지의 시간 )Buckets   Terms 선택 후 Field에 api 주소 필드를 설정 ( 어떤 API인지 식별하기 위해 )order by    Metric:Count 설정order   Descending으로 설정 size   원하는 개수 설정Filter .. 2024. 10. 30.
HTTP / HTTPS 세션 연결 차이점 & 구글에서 검색어 입력시 네트워크 과정 구글에 검색어를 입력하고 검색을 하면 다음과 같은 네트워크 과정 클라이언트(사용자) 측에서 구글 검색 페이지 URL을 입력합니다. 클라이언트(사용자) 측에서 브라우저가 HTTP GET 요청 메시지를 생성합니다. 이 요청 메시지는 검색어와 함께 구글 서버로 전송됩니다. 클라이언트(사용자)와 구글 서버 간의 TCP/IP 연결을 수립합니다. 이 과정에서 3-way handshake가 일어나며, 클라이언트(사용자)와 구글 서버 간의 안전한 통신이 가능한 세션 키가 생성됩니다. ( 3-way handshake가 일어난 후 https 통신으로 ssl/tls 핸드세이크과정이 일어나 안전한 통신을 위한 세션키가 생성됨) 구글 서버 측에서 검색어에 대한 적절한 결과를 검색합니다. ( 데이터를 뽑아온다) 구글 서버 측에서.. 2023. 4. 2.
세마포어 || 뮤텍스 뮤텍스 [ mutex ] 공유된 자원의 데이터 혹은 임계영역등에 하나의 Process 혹은 Thread가 접근하는 것을 막아준다. 동기화 대상이 하나 임계구역을 가진 스레드들의 실행시간이 서로 겹치지 않고 단독으로 실행되도록 하는 기술입니다. 뮤텍스는 Key에 해당하는 어떤 오브젝트가 있으며 이 오브젝트를 소유한 (쓰레드,프로세스) 만이 공유자원에 접근할 수 있다. locking 메커니즘 사용 세마포어 [ semaphore ] 공유된 자원의 데이터 혹은 임계영역등에 여러 Process 혹은 Thread가 접근하는 것을 막아준다. signaling 메커니즘 사용 사용하고 있는 스레드/프로세스의 수를 공통으로 관리하는 하나의 값을 이용해 상호배제를 달성한다. 공유 자원에 접근할 수 있는 프로세스의 최대 허.. 2023. 3. 3.
ElasticSearch 기본 개념 Elasticsearch Apache Lucene( 아파치 루씬 ) 기반의 Java 오픈소스 분산 검색 엔진입니다. Elasticsearch를 통해 루씬 라이브러리(Java에서 개발한 정보 검색용 라이브러리)를 단독으로 사용할 수 있게 되었으며, 방대한 양의 데이터를 신속하게, 거의 실시간( NRT, Near Real Time )으로 저장, 검색, 분석할 수 있습니다. Elasticsearch와 관계형 DB 비교 흔히 사용하고 있는 관계형 DB는 Elasticsearch에서 각각 다음과 같이 대응시킬 수 있습니다. 보통 RDB와는 다르게 한 스키마안에 멀티 테이블 생성이 안된다 위에서 인덱스는 RDB의 스키마이고, 타입은 RDB의 테이블이라고 하였다. 하나의 스키마에 여러 테이블을 가지듯이, Elasti.. 2022. 8. 15.
GRPC 란? GRPC 란? Google Remote Procedure Call 구글에서 개발한 어느 환경에서 실행할 수 있는 최신 오픈 소스 고성능 RPC 프레임워크이다. 장점 유지 보수하기가 쉽다. (Protocol Buffers를 사용하여 자동으로 소스가 생성된다.) 다양한 언어와 플랫폼을 지원한다. (공식적으로 지원하는 언어는 https://www.grpc.io/docs/languages/ 참고.) Http/2 기반으로 양방향 스트리밍 가능하다. 단점 protobuf http/2 에 대한 러닝 커브가 있다. 기존 rest api 와 다르게 메시지가 바이너리로 전달되기 때문에 테스트가 쉽지 않다. 메시지 구조 등이 많이 변할 경우, 놓치는 부분이 생길 수 있으므로 CI 등을 도입하여 안정성을 확보할 필요가 있다... 2022. 5. 21.