분류 전체보기 (93) 썸네일형 리스트형 Blocking vs NonBlocking , Synchronous vs Asynchronous Blocking vs NonBlocking호출되는 함수가 바로 리턴 되는가? - yes : NonBlocking - 함수 결과를 기다리지 않고 리턴 후 다른 작업 수행 - no : Blocking - 함수 결과가 나올 때 까지 대기 Synchronous vs Asynchronous호출되는 함수의 작업 완료를 기다리는가? - yes : Synchronous - no : Asynchronous - Callback 으로 받음 Blocking은 Syncronous와 비슷하고 NonBlocking은 Asynchronous와 비슷하다 Blocking vs Synchronous함수가 리턴을 기다리는 동안 대기큐에 머무는게 필수인가? - yes : Blocking - no : Synchronous NonBlocking.. undertow Java Servlet 3.1 표준과 WebSocket 을 구현하고 Http Upgrade를 지원또한 서블릿 배포 환경에서 고성능 Non-Blocking 핸들러를 사용할 수 있음 I/O 부분은 JBoss 프로젝트 중 하나인 XNIO를 이용하여 처리함Java로 작성된 유연하면서 고성능의 웹서버이며 NIO기반의 blogcking / Non-blocking API를 제공컴포지션 아키텍처를 제공하여 작은 단위의 용도를 갖는 핸들러들을 연결하여 웹서버를 구축 할 수 있음컴포지션 아키텍처는 Full Java EE Servlet 3.1 컨테이너에서 부터 Low Level의 Non-blocking 핸들러 또는 그 중간 수준의 기능을 선택을 할 수 있는 유연성을 제공해 줌쉽게 사용할 수 있는 높은 수준의 Builder .. 자료구조 내장 라이브러리가 있는 선형 자료구조 - 정적 배열 - 동적으로 크기가 변하는 배열 https://www.slideshare.net/SOPT/sopt-01 정렬 - O(n^2) : 버블, 선택, 삽입 - O(nlogn) : 병합, 힙, 퀵 - O(n) : 계수, 기수, 버킷https://www.slideshare.net/SOPT/sopt-03 탐색 - O(n) : 선형 - O(nlogn) : 이진 - O(1) : 해싱 linked list - 검색에 비효율적 - 삽입, 삭제에 용이 stack - LIFO 구조 queue - FIFO 구조https://www.slideshare.net/SOPT/sopt-02 내장 라이브러리가 있는 비선형 자료구조https://www.slideshare.net/SOPT/so.. Elasticsearch 구성 디렉토리 구조 - elasticsearch 설치 파일의 압축을 풀면 bin, config, lib 디렉토리만 존재하고, 나머지 디렉토리는 실행할 때 생성 됨bin : elasticsearch 실행에 필요한 스크립트와 플러그인 설치 스크립트config : elasticsearch.yml과 logger.yml 파일lib : 검색엔진에서 사용하는 라이브러리data : 별도 path를 지정하지 않으면 기본 index store의 위치logs : 검색엔진에서 기록하는 로그파일plugins : 검색엔진에서 사용하는 모든 플러그인이 설치되는 위치work : 임시 파일 경로 실행 - bin/elasticsearch -f Cluster각 node를 cluster명 기준으로 grouping 하여 서비스 함 - 이름이 다르.. Elasticsearch 주요 용어 1. Index데이터를 저장하기 위한 장소. RDBMS의 데이터베이스와 유사함. 인덱스는 하나 또는 여러개의 document type을 가질 수 있음 2. Shard대량의 데이터를 분산 처리하기 위한 개념으로 큰 크기의 인덱스를 여러개의 작은 인덱스로 나누어 저장하는 것 - Primary Shard : 색인 시 가장 먼저 생성되는 인덱스, 복제의 기본 소스가 됨 - Replica Shard : replica 설정에 따라 primary shard를 복제하여 생성 된 shard 3. Replica서비스 장애 발생 시 서비스의 지속성 보장과 검색 처리량을 높이는 데 유용한 방법. replica는 분산된 다른 노드에 shard와 같은 데이터를 복제하여 서비스의 안정성 및 유연성을 제공 4. Document ty.. Elasticsearch 특징 1. 실시간으로 발생하는 데이터를 기반으로 검색 질의 시 결과에 반영하거나 분석을 통한 결과를 실시간으로 제공2. 데이터의 분산과 병렬 처리가 되므로 실시간 검색 및 분석 가능3. SPOF (single point of failure) 대응을 위한 높은 가용성 제공4. 하나의 클러스터 내에서 indice와 document type을 활용하여 멀티 클라이언트 구성 및 서비스 가능5. 검색엔진을 직접 수정하지 않고 필요한 기능에 대한플러그인을 적용하여 기능을 확장할 수 있음6. NoSQL과 같은 schema free, JSON 기반의 문서구조7. Full text search 지원 circuit breaker 분산 서비스 환경에서 네트워크 중 하나에 장애가 발생한다면 의존성이 있는 서비스까지 연쇄적으로 장애가 발생할 가능성이 생긴다. 이러한 상황을 막기 위해서는 장애가 발생한 서비스에 대해 접속 차단을 해줘야 한다. 원격 접속의 성공/실패를 카운트하여 에러율이 임계치를 넘어섰을 때 자동적으로 접속을 차단하는 것을 circuit breaker 라고 한다. [참조]https://engineering.linecorp.com/ko/blog/detail/76 memcached vs redis vs arcus memcached - 분산 메모리 캐싱 시스템 - 결과 데이터를 작은 단위의 key - value 형태로 메모리에 저장 - 필요로 하는 메모리가 부족한 경우 시스템에서 가져다 쓰기 편하게 함 - 논리적 결합으로 각각의 서버 메모리를 합해서 하나의 메모리 처럼 사용할 수 있게 해줌 (메모리 효율성이 좋음) redis - 가장 단순한 key - value 구조를 가지고 있음 - 다양한 데이터 타입 지원 (string, set, sorted set, hashes, list) arcus - memcached와 zookeeper를 기반으로 개발 됨 - memcached 프로토콜을 지원하고, memcached의 기본 성능 혜택은 유지 됨. - memcached 에서 확장 되어 추가로 제공하는 기능 - zookeep.. 이전 1 ··· 7 8 9 10 11 12 다음