반응형

개발 129

WebSocket

WebSocket WebSocket은 단일 TCP 연결을 통해 클라이언트와 서버간에 전이중 양방향 통신(full duplex, 2-way communication) 채널을 설정하는 표준화 된 방법을 제공 HTTP와 다른 TCP 프로토콜이지만 80, 443 포트를 사용하고 기존 방화벽 규칙을 재사용할 수 있도록 HTTP를 통해 작동하도록 설계되었다. 더 자세한 설명은 RFC6455 참고 WebSocket 서버가 웹 서버(e.g. nginx) 뒤에서 실행중인 경우 WebSocket 업그레이드 요청을 WebSocket 서버로 전달하도록 서버를 구성해야한다. 마찬가지로 애플리케이션이 클라우드 환경에서 실행되는 경우 WebSocket 지원과 관련된 클라우드 제공자의 지시사항을 확인해야한다. STOMP Websoc..

개발 2021.02.18

WebFlux

WebClient 동기 & 비동기 구독자(block, subscribe 등)가 없으면 동작을 하지 않음(구독자가 없으면 애초에 수행할 필요가 없이때문) 동기 : block() 비동기 : subscribe() exchange vs retrieve exchange : Status, Headers, Body retrieve : Body Error 처리 doOnError : 예외가 발생했을 경우, 특정 행위를 실행시킬 경우 사용 onErrorReturn : 예외가 발생했을때 특정 값을 return onErrorResume : 에러 발생하면 다른 신호 데이터(Mono 또는 Flux)나 다른 에러로 대체 onErrorMap : 에러를 변환 onErrorContinue : 예외가 발생했을때 멈추지 않고 해당 영역만 ..

개발 2021.02.18

EHCache

EHCache는 오픈소스 기반의 Local Cache이다 속도가 빠르며 경량 Cache라는 장점이 있다. Disk, Memory 저장이 가능한 형태 서버 간 분산 캐시를 지원한다. (동기/비동기 복제) JSR107 JCache 표준을 지원한다. 따라서 JCahce에서 제공하는 Annotation을 통해 이미 작성된 코드에 간단하게 기능 추가가 쉽다. JSR-107 : (JCACHE - Java Temporary Caching API) 객체 생성, 공유 엙세스, 스풀링, 무효화 및 JVM 전반에 걸친 일관성을 포함하여 Java 객체의 메모리 캐싱에서 사용할 API에 대한 기준으로 볼 수 있다. 해당 Spec으로 구현된 cache로는 EhCache가 유명하며, Hazelcast, Infinispan, Cou..

개발 2021.02.18

Git 명령어에 익숙해지자 (자주쓰는 명령어)

IDE 내장 git tool을 사용하다보니 git 명령어들을 까먹고있다. bash가 속도가 훨씬 빠르니 습관을 들이자. IntelliJ Git command log는 git log에서 볼 수 있다. View > Tool Windows > Version Control 아래 git config 설정을 미리 해두면 편하다. 꼭 해두자. 1) prune prune 설정을 하면 fetch 시 마다, remote에 지워진 branch를 로컬에서도 clean 할 수 있다. > git config --global fetch.prune true 2) upstream push 할때마다 현재 브랜치 이름으로 push한다. > git config --global push.default current 자주 쓰는 명령어 1) 브..

개발 2021.02.03

Elasticsearch #4

성능 최적화 Document 관점 Index와 Shard 튜닝 데이터 노드 크기 샤드 크기를 설정하는 가장 쉬운 판단 기준 데이터 노드가 3개라면 기본 샤드 크기를 3개로 설정하고, 5개면 5개로 설정한다.index.number_of_shard: 3 CPU 코어 크기 기본적으로 엘라스틱서치는 병렬처리를 기반으로 동작한다. 따라서 CPU core 크기를 샤드 크기를 정할 때 판단 기준으로 사용할 수 있다. 샤드 크기를 늘리면 일반적인 색인과 검색에 대한 성능 향상 효과를 얻을 수 있지만 적절한 크기 이상으로 설정하면 오히려 성능 저하와 운영상의 어려움을 겪을 수 있으니 주의가 필요하다. azure에서는 (CPU core * node) +/- 1로 할때 가장 큰 퍼포먼스틀 낸다고 가이드한다. Document..

개발 2020.06.07
반응형