전체 글

imSoo TecBlog
Zookeeper 분산 코디네이션 서비스를 제공하는 오픈소스 프로젝트로 직접 어플리케이션 작업을 조율하는 것을 쉽게 개발할 수 있도록 도와주는 도구이다. API를 이용해 동기화나 마스터 선출 등의 작업을 쉽게 구현할 수 있게 해준다. 주키퍼는 분산 어플리케이션을 위한 코디네이션 시스템으로, 분산되어 있는 각 어플리케이션의 정보를 중앙에 집중하고 구성,관리,그룹 관리 네이밍,동기화 등의 서비스를 제공한다. 설정관리 클러스터의 설정 정보를 최신으로 유지하기 위한 시스템 클러스터 관리 클러스터의 서버가 추가되거나 제외될 때 그 정보를 클러스터 내 서버(브로커)들이 공유하기 위한 시스템 리더 채택 다중 어플리케이션 중 어떤 노드를 리더로 산출할 지 정하는 로직을 만드는 시스템 락,동기화 클러스터에서 쓰기 연산..
한글 형태소 분석기: Nori 확장 플러그인 엘라스틱서치에서 한글 형태소 분석기 중 가장 널리 사용되는 것은 “nori”이다. nori는 카카오에서 개발한 형태소 분석기로, 엘라스틱서치에서 공식적으로 지원된다. 아래와 같이 elasticsearch가 루트 디렉토리에 analysis-nori 를 설치해서 사용한다. docker exec -it 엘라스틱서치컨테이너이름 ./bin/elasticsearch-plugin install analysis-nori 엘라스틱서치 컨테이너의 엘라스틱 플러그인을통해 nori를 설치한다. 위 사진과 같이 nori 설치가 완료되면 엘라스틱서치를 restart해주어야 한다 docker-compose restart 필자는 도커 컴포즈 파일로 ELK Stack을 구성해놓앗기 때문에 ..
docker run -d --name redis -p 6379:6379 --network redis-net redis # 볼륨 설정하기 docker run --name redis -p 6379:6379 --network redis-net -v /Users/jiyeonpark/Desktop/redisvolume -d redis:latest redis-server --appendonly yes 도커 이미지를 올릴때 network를 설정해주는데 이 네트워크의 역활은 뭘까 ? docker network ls 브릿지(Bridge): 기본적으로 도커에서 사용하는 네트워크 모드입니다. 컨테이너는 호스트 시스템과 독립적인 IP 주소를 할당 받아 독립된 네트워크 인터페이스를 가집니다. 이 모드에서는 컨테이너 간에는 가상..
혼자 공부를 하면서 하고싶은 기술들을 넣어 차곡차곡 기술을 익혀보려고 한다. 목표는 다음과 같다. 1. 카프카(Event Queue) / ELK 스택 / 클러스터링(분산시스템) 에 익숙해지기 2. 테스트를 중심적으로 개발해보기(무조건 TDD를 하겠다는건 아니다) 다음은 토이 프로젝트에 필요한 서버리스트이다. 1. CI/CD를 위한 Jenkins 2. NginX 웹서버 3. 로그 분석용 ELK Stack / 주키퍼 / 카프카 4. Api WAS 서버 5. 이미지를 저장할 수 있는 AWS S3 이미지 서버 6. 세션 클러스터링을 위한 Redis 7. 데이터 저장을 위한 DB 8. 부하 테스트를 하기 위한 nGrinder
도커 비슷한것 끼리 묶을 순 없을까 ? - 2가지 방법 --label (레이블) --network (네트워크) --label / -l / 레이블 레이블은 컨테이너에 메타데이터를 추가하는 데 사용됩니다. 예를 들어, 컨테이너의 역할, 환경 설정, 버전 정보 등을 레이블로 지정할 수 있습니다. 레이블을 사용하여 컨테이너를 그룹화하거나 특정 속성을 식별하는 데 도움이 됩니다. 레이블은 컨테이너에 추가적인 정보를 부여하고 관리하기 쉽게 해줍니다. --network 네트워크는 컨테이너 간의 통신을 관리하는 데 사용됩니다. 도커 네트워크는 컨테이너가 서로 통신하고 외부와 통신하는 데 필요한 IP 주소및 포트 매핑을 관리합니다. 네트워크를 사용하..
1. Filebeat image 다운로드 docker pull docker.elastic.co/beats/filebeat:7.15.2 2. 설정 환경파일 다운로드 curl -L -O https://raw.githubusercontent.com/elastic/beats/7.15/deploy/docker/filebeat.docker.yml 3. 환경파일 수정 filebeat.config.modules path - 사용할 모듈의 설정 파일 경로 지정 reload.enabled - 활성화 시 주기적으로 설정 파일 변경 사항 확인 filebeat.autodiscover.providers - 현재 상태로 filebeat를 실행하면 elasticsearch, kibana의 모든 로그를 수집하여 로그파일이 어마어마하게..
엘라스틱서치를 설치하고 키바나를 들어가면 이러한 화면이 뜬다. Configure Elastic to get started 1. 비밀번호 초기화 : 재설정 엘라스틱서치 Bash 들어가서 비밀번호를 초기화 해준다. docker exec -it 엘라스틱서치컨테이너이름 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic New value : ZibwbEY3Rje5M3L+vMFd 이부분을 복사해준다. 2.인증서 파일 복사 docker cp 엘라스틱서치컨테이너이름:/usr/share/elasticsearch/config/certs/http_ca.crt . 복사하면 http_ca.crt 파일이 복사가 된다. 3. 연결확인 패스워드 : 1번에 넣엇..
프로그램을 실행 해주는 주체 = 프로세스 🏡 자신만의 고유 공간과 자원을 할당받아 사용 프로그램 단위 프로세스는 최소 하나 이상의 쓰레드를 보유 각각 별도의 주소 공간을 독립적으로 할당 받는다 (code,heap,stack) 📌 프로세스 만으로 작업을 처리할때의 문제점 - 프로세스 생성에 큰 오버헤드가 있음. * 프로세스 생성시 많은시간 소요 - 다른 프로세스 사용시 컨텍스트 스위칭의 비효율성이 생김. - 프로세스 사이에 통신이 어려움. 비용이 비싼 IPC 사용해서 통신을 한다. (또는 LPC, 공유 메모리) 작업을 처리 해주는 주체 = 쓰레드 💁 쓰레드는 프로세스안에서 작업을 처리하는 주체 이다. 쓰레드는 자원 중에 stack 만 따로 할당받고 나머지 영역은 쓰레드끼리 서로 공유한다. 📌 쓰레드가 해..
imSoo
sudoSoooooo