유용한 정보 62

검색엔진 비교_Solr vs ElasticSearch

안녕하세요. 검색엔진을 개발하는 이슈가 생겨 현재의 인프라 환경에 적합한 오픈소스를 찾다 Apache Lucene을 알게 되었고, 개발하게 되었습니다. 그리고, Lucene을 적용하기 위해 레퍼런스와 여러 문서들을 찾으면서, 새로운 의문점들이 생겨났습니다. 정말 이 검색엔진이 가장 좋은가? 성능 면에서 어떤 검색엔진 오픈소스가 더 뛰어난가? 어떤 검색엔진 오픈소스가 관리하거나 구축하기 쉬운가? 해당 질문에 대해 항상 명확하고 적용 가능한 답변이 있는 것은 아니지만 어느 목적으로 사용하느냐에 따라 보다 나은 혹은 올바른 선택을 하는데 도움이 될 것입니다. Lucene를 이용하여 검색엔진을 개발을 완료한 지금 뭔가 더 좋은 검색엔진으로 업그레이드 하고 싶은 욕심이 생겨 다시 비교분석을 해보게 되었습니다. 위..

유용한 정보 2020.03.19

AWS를 이용한 서버 구축2_아마존 EC2로 구축하기

안녕하세요. 오늘은 AWS를 이용한 서버 구축 1편에 이어 2편을 소개해드리려고 합니다. 혹시 1편에 대한 내용이 궁금하시다면, AWS를 이용한 서버 구축1 을 통해 내용을 확인해주세요~ 1. 클라우드란? EC2 구축에 들어가기 앞서 클라우드에 대해 간략하게 알아보겠습니다. 1) 클라우드 정의 니콜라스 카스의 정의에 따르면 IT 자원을 구매하거나 소유할 필요 없이 필요한 만큼 사용료를 주고 사용하는 서비스 입니다. 2) 클라우드 분류 ① IaaS : 인프라 자원을 서비스 ② PaaS : 개발에 필요한 환경 서비스 ③ SaaS : 사용자가 원하는 소프트웨어 서비스 3) IaaS 종류 ① Amazon EC2 ② Microsoft Azure ③ Google Cloud Platform ④ Naver Cloud ..

유용한 정보 2019.09.03

AWS를 이용한 서버 구축1

AWS (Amazon Web Services) 아마존닷컴이 제공하는 원격 컴퓨팅 서비스이며, 클라우드 서비스의 대표적인 아마존 웹 서비스 (AWS)를 이용한 서비스를 구성하기 위하여 AWS의 기본 개념을 알아 보도록 하겠습니다. 1. 리전 (Region) - 지리적 위치 (서울, 도쿄, 북경 등) - 장애 발생 등을 고려하여 최소 2개 이상의 가용 영역으로 구성 - 아마존 사이트를 통하여 리전 위치와 개수 확인 가능 - AWS 클라우드는 전세계 18개의 지리적인 리전이 있으며 서울에도 리전이 있음 - 리전에 따라 과금 체계가 다르기 때문에 비용을 고려한 리전 선택이 필요 https://aws.amazon.com/ko/about-aws/global-infrastructure 2. 엣지 (Edge Locat..

유용한 정보 2019.09.03

성능 TEST를 위한 보고서 3

1. nGrinder nGrinder는 The Grinder라는 오픈소스를 기반으로 네이버에서 개발한 성능 측정 오픈소스 프로젝트입니다. Jython(Java + Python) 언어를 이용하여 테스트 스크립트 코드를 직접 작성할 수 있어 JMeter에 비해 다소 무겁지만 세밀한 성능테스트를 진행할 수 있습니다. 또한 jython뿐만 아니라 groovy, groovy+maven을 지원하며, Controller는 WAS기반으로 동작합니다. 2. nGrinder Architecture nGrinder는 Controller, Agent, Target으로 나뉘어 있습니다. Controller 성능테스트를 위해 웹 인터페이스를 제공하며, 테스트 프로세스를 조정할 수 있습니다. 또한, 테스트 결과를 수집하여 통계로 ..

유용한 정보 2019.07.09

성능 TEST를 위한 보고서 2

1. JMeter Apache JMeter는 웹 애플리케이션처럼 클라이언트-서버 구조로 된 소프트웨어의 성능 테스트를 위해 만들어진 자바 프로그램입니다. Apache Tomcat의 테스트를 위한 코드에서 시작되어 GUI와 기능을 추가하여 지금의 JMeter가 만들어졌습니다. 원래는 웹 응용 프로그램을 테스트하기 위해 설계되었지만, 현재는 단위/성능/스트레스 테스트 등 많은 곳에서 활용할 수 있습니다. 프로토콜도 계속 추가되어 TCP, HTTP(S), FTP, JDBC, LDAP, SMTP 등 현재 범용으로 사용되는 프로토콜 대부분을 지원합니다. JMeter는 실행 시 마치 브라우저(또는 여러 개의 브라우저)에서 동작하는 것처럼 느껴집니다. 그러나 JMeter는 브라우저가 지원하는 모든 작업을 수행하지 않..

유용한 정보 2019.06.28

성능 TEST를 위한 보고서 1

1. 성능 TEST ? 서비스 및 서비스 시스템의 성능을 확인하기 위해 실사용 환경과 비슷한 환경에서 테스트를 진행하는 것입니다. 2. 성능 TEST의 종류 성능테스트는 목적에 따라 다음과 같이 나뉩니다. Load 테스트 시스템의 성능을 벤치마크 하기 위한 테스트를 의미합니다. 이 테스트는 부하(Load)를 순차적으로 증가시키면서 응답시간이 급격히 증가하거나 더는 처리량이 증가하지 않거나 시스템의 CPU와 Memory 등이 기준 값 이상으로 증가하는 등 비정상 상태가 발생하는 임계점을 찾아 이를 바탕으로 성능 이슈에 대한 튜닝과 테스트를 반복합니다. Stress 테스트 임계값 이상의 요청이나 비정상적인 요청을 보내 비정상적인 상황의 처리 상태를 확인하고 시스템의 최고 성능 한계를 측정하기 위한 테스트를 ..

유용한 정보 2019.06.18

OPEN Source를 이용한 검색엔진 개발(2)

지난 포스팅에 OPEN Source를 이용한 검색엔진에 대한 기본적인 내용을 공유 하였고 이번 회차에서는 검색엔진의 수집, 색인, 검색에 대한 내용에 대해 상세히 공유 하도록 하겠습니다. 수집 – 검색엔진의 목적에 맞게 사용자가 필요로 하는 정보를 준비하는 과정 - 다양한 형태로 존재하는 비정형 데이터(정보)를 필요에 따라 추출 - 가장 많이 사용되는 웹 페이지 크롤링과 DBMS에 저장된 데이터를 수집하는 과정을 통해 예를 들어 설명 1. 크롤링 웹 페이지를 그대로 가져와서 데이터를 추출해 내는 행위. 크롤링을 하는 소프트웨어를 크롤러라고 부름 - 검색 엔진에서는 웹 상의 다양한 정보를 자동으로 검색하고 색인하기 위해 사용. - 일일이 해당 사이트의 정보를 검색하는 것이 아닌 끊임없이 새로운 웹 페이지를..

유용한 정보 2019.03.22

OPEN Source를 이용한 검색엔진 개발(1)

OPEN Source를 이용하여 자체적으로 검색엔진을 개발한 내용입니다. 검색엔진 제작을 위한 개요 부분과 수집, 색인, 검색에 대한 내용으로 2번에 걸쳐 내용을 공유하도록 하겠습니다. 검색엔진이란? 사용자가 필요로 하는 정보를 수집하여 내용을 분석한 뒤 찾기 쉬운 형태로 조직하여(색인), 정보에 대한 요구가 발생할 때 해당 정보를 빠르게 찾아 제공(검색)하는 시스템이나 프로그램 검색엔진의 구조 1. 수집: 검색엔진의 목적에 맞게 사용자가 필요로 하는 정보를 준비하는 과정 - 대부분의 오픈소스 검색엔진 솔루션에서는 DB, File(doc, xls, pdf 등), Log에 존재하는 데이터를 수집하는 기능을 제공 - Web page의 경우는 크롤링을 이용 2. 색인: 수집된 내용을 분석하여 특정 데이터를 빠..

유용한 정보 2019.03.12

java10 및 서블릿 jsp 어플리케이션 구조

java10오라클이 3월 20일 Java SE 10(JDK 10) GA(general availability)를 발표했다. JDK 10은 자바 커뮤니티 프로세스 내 JSR 383에 명시된 대로 자바 SE 10 플랫폼의 상용 가능한 구현입니다.2018년 3월 20일 발표. 일반 지원은 2018년 9월에 종료될 예정이다. var 키워드를 이용한 지역 변수 타입 추론, 병렬 처리 가비지 컬렉션, 개별 쓰레드로 분리된 Stop-The-World, 루트 CA 목록 등이 추가되었다. 또한 JDK의 레포지토리가 하나로 통합되었으며, JVM 힙 영역을 시스템 메모리가 아닌 다른 종류의 메모리에도 할당할 수 있게 되었다. 실험 기능으로 Java 기반의 JIT 컴파일러가 추가되었고, 이전 버전에서 Deprecated 처리..

유용한 정보 2018.09.28

오라클 자바 라이선스 정책 변경 이슈

1. 자바 유료화?지난 6월 오라클의 ‘자바 SE 서브스크립션’ 모델 발표 이후로 현재까지 자바 유료화에 대한 많은 논쟁이 있었다. 관련하여 IT관련 기사와 커뮤니티, 오라클 OTN 등을 검색하면서 알게 된 내용들을 정리하여 공유하고자 한다.일단, 자바라는 언어는 GPL라이선스로 무료이다. 다만 오라클이 제공하는 자바 SE는 사용목적에 따라 달라진다. 일반적인 목적의 컴퓨팅에선 무료이나 상업용, 업무용등 상업 목적인 경우는 별도의 라이선스가 필요하다. 또한 내장 장치에 JRE를 사용하거나 상용 기능을 사용 하려면 Oracle로부터 라이센스 비용이 필요하다.그렇다면 상용기능은 어떤 것이 있는지 살펴보자 Java SE Advanced 및 Java SE Suite에는 다음과 같은 상용기능이 포함되어 있다. J..

유용한 정보 2018.09.14