Backend

엘라스틱 서치의 기본 개념과 특징을 살펴보려한다. 그전에 루씬에 대해 간략히 살펴보자.  루씬검색 엔진에는 루씬이라는 시초가 있었다. 루씬이란, 자바로 만들어진 고성능 정보 검색 라이브러리이다.   엘라스틱 서치에서 왜 루씬을 언급하느냐하면, 엘라스틱 서치가 루씬을 기반으로 하기 때문이다. 엘라스틱 서치는 내부적으로 루씬을 통해 검색 기능을 수행한다.   다만, 루씬의 동작 과정이 추상화되어 있어 엘라스틱 서치를 사용하는 사용자 입장에서는 잘 드러나지 않는다. 하지만 루씬의 동작 원리를 이해하면 엘라스틱 서치의 이해에 더 큰 도움이 될 수 있다.  루씬에 대해서 간단히 살펴보겠다.  루씬 검색 어플리케이션 구조  위 그림처럼, 루씬의 검색 어플리케이션 구조는 검색 대상을 분석하는 과정과 검색 과정으로 나..
ec2 서버 상에 SpringBoot 백엔드 프로젝트와 mysql를 컨테이너로 올렸는데, 자꾸만 SpringBoot 컨테이너에서 MySQL 컨테이너를 연결하지 못하는 오류가 나타났습니다.  결론적으로 백엔드 파이프라인 구성을 잘못한 것을 파악하지 못하고, 애먼 MySQL과 SpringBoot 설정을 이리저리 삽질했습니다  혹시나 도움이 될까 기록을 정리해두고자 합니다. SpringBoot와 MySQL과의 연결은 대부분 아래 방법으로 해결이 될 것이라 생각합니다. 문제 상황 도커 백엔드 컨테이너를 실행시키면 얼마지나지 않아 자꾸 내려가는 현상이 발생했다. 분명 젠킨스에서는 빌드가 잘 되는데.. 빌드 여부와 관계 없이 백엔드 컨테이너 내부의 문제일 것 같아 로그를 출력해보았다.sudo docker logs ..
문제 상황프로젝트를 젠킨스를 통해 배포하려는데, 젠킨스에서 빌드를 시작하면 서버가 터져버리는 상황이 생겼습니다. 우주로 향하는 CPU 사용률...   ec2 프리티어의 기본 제공(t2.micro) 램 용량이 1GB 밖에 되질 않아, 젠킨스를 빌드하면 ssh도 접속하지 못하고 인스턴스를 재부팅해주어야했습니다.  해결 방법 서버를 구입해야하나 고민하다가, AWS의 친절한 게시글이 있어 SWAP 메모리를 지정해 해결하는 방법을 찾아 해결했습니다. 스왑 파일을 사용하여 Amazon EC2 인스턴스에서 메모리를 스왑 스페이스로 할당합니다.Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 스왑 파일로 사용할 메모리를 할당하고 싶습니다. 어떻게 해야 하나요?repost.aws 여기..
맥북 실리콘 환경에서 도커를 통해 ngrinder를 실행하고 포트 변경하는 경우가 많을 것 같아 여러 포스팅을 찾아보았는데,  정리된 블로그가 마땅히 없어 정리하게 되었습니다.   우선, 맥북 m1 로컬 환경에 ngrinder를 직접 설치하려하니 환경 설정을 신경쓰기가 싫어 Docker를 통해 ngrinder를 실행하고자 했습니다. 추가로, ngrinder는 기본 값으로 8080포트를 사용하는데, 저는 백엔드 로컬에서 8080 포트를 사용하고있어 7070 포트로 ngrinder가 실행되게끔 변경했습니다.  굉장히 쉬울 것이라 생각했는데 이리저리 삽질을 하다가 ㅜㅜ.. 한 분께서 정리해주신 블로그를 통해 해결했습니다. 여기서 저는 포트 변경을 추가로 수행했습니다. silicon MacBook 에서 nGri..
프로젝트에 레디스 Cache를 적용하며 많은 에러를 경험했습니다. 그리고 에러를 해결하며, 정확히 이해하지 못했던 개념들을 다시 되짚어볼 수 있었습니다.  레디스 Cache를 적용하며 겪은 에러는 크게 4가지인데, 하나씩 살펴보며 해결책과 관련 개념을 정리했습니다.   우선, 요구사항은 다음과 같았습니다.  서비스에서 이루어지는 메서드 들 중 findUsersById 를 통해 사용자 인증 과정을 거치게 했는데, 아래의 findUsersById 메서드에서 DB에 접근하는 횟수를 줄이는 것이 목표였습니다.public UserEntity findUsersById(Long userId){ return userRepository.findById(userId) .orElseThrow(()..
Docker compose 실행 중 다음과 같은 오류를 만났습니다. docker.errors.DockerException: Error while fetching server API version: HTTPConnection.request() got an unexpected keyword argument 'chunked'더보기전체 에러 코드$ sudo docker-compose up -dTraceback (most recent call last): File "/usr/lib/python3/dist-packages/docker/api/client.py", line 214, in _retrieve_server_version return self.version(api_version=False)["ApiV..
동구름이
'Backend' 카테고리의 글 목록