'proxy'에 해당되는 글 3건

  1. 2017.07.17 [esquery-proxy] Elasticsearch 용 RESTful API Gateway/Proxy
  2. 2013.01.07 proxy server 구성 및 wget proxy 설정
  3. 2012.11.07 외국 사이트 proxy 설정으로 우회 해서 보기

[esquery-proxy] Elasticsearch 용 RESTful API Gateway/Proxy

ITWeb/검색일반 2017.07.17 19:01

Elasticsearch 를 서비스 용도로 많은 분들이 사용하고 계시는 것으로 압니다.

저 처럼 Java API를 사용하고 계신 분들도 계실 테고 RESTful API 를 사용하고 계신 분들도 계실 것으로 압니다.

그냥 버전 업그레이도 해야 하고 해서 재미 삼아 가볍게 만들어 보았습니다.

관련해서 

- 단순 기능 동작 유무만 확인했습니다. (잘 됩니다.)

- 성능 테스트 하지 않았습니다.

- 안정성 테스트 하지 않았습니다.

그래서 가져다 막 고쳐서 사용하시면 좋겠습니다. 


일단 만들게 된 동기는

- Search 와 Aggregation 에 대해서 사용할 목적으로 만들었습니다.

- Elasticsearch JAVA API 버전 관리에 대한 유지보수 비용을 절감 해야 했습니다.

- Elasticsearch Cluster 에 대한 Version Upgrade 도 수행 해야 했습니다.

- Multi Cluster 에 대한 Concurrent 처리가 가능 해야 했습니다.


프로젝트 코드를 보시면 아시겠지만 매우 간단 합니다.


사용한 Framework)

- SpringMVC + Maven Project

- pom.xml  내 dependency 참고 하시면 됩니다.


지원 가능한 API)

- Elasticsearch에서 제공하는 거의 모든 RESTful API 를 제공 합니다.

- HTTP POST 만 구현해 놨기 때문에 POST 를 지원하지 않는 API 는 동작 하지 않습니다.

- 조만간 시간 나는데로 추가해 보겠습니다.

- Single Request 뿐만 아니라 Multi Request 도 지원 합니다.

- Single Cluster 뿐만 아니라 Multi Cluster 로 Request 를 보낼 수 있습니다.

-  서로 다른 Version 의 Cluster 라도 상관 없습니다.


Single Request Example)

[WAS Endpoint]

http://localhost:8080/query


[Method]

POST RAW


[Request Body]

{

  "target":"http://{YOUR-CLUSTER}/{YOUR-INDEX}/_search",

  "query":{}

}

- target

-  요청할 Elasticsearch Cluster 의 RESTful Endpoint 를 작성 하시면 됩니다.

- {YOUR-INDEX} 는 alias, single index, multi index  모두 사용 가능 합니다.

- query

- 기존에 사용하시던 QueryDSL 문을 그대로 넣어 주시면 됩니다.

- match_all  query 가 실행 됩니다.


Multi Request Example)

[WAS Endpoint]

http://localhost:8080/mquery


[Method]

POST RAW


[Request Body]

[

{

  "target":"http://{YOUR-CLUSTER1}/{YOUR-INDEX1}/_search",

  "query":{}

},

{

  "target":"http://{YOUR-CLUSTER1}/{YOUR-INDEX2}/_search",

  "query":{}

},

{

  "target":"http://{YOUR-CLUSTER2}/{YOUR-INDEX1}/_search",

  "query":{}

},

{

  "target":"http://{YOUR-CLUSTER2}/{YOUR-INDEX2}/_search",

  "query":{}

}

]


 Multi Request 의 경우 _msearch API 와 비슷 하게 동작은 합니다.

다만, _msearch의 경우 서로 다른 클러스터간에 통신은 지원 하지 않습니다.



추가 Parameters)

- routing

이 기능은 특정 key 를 가지고 문서를 저장 하기 위한 대상 shard 를 지정 하기 위해 사용 합니다.

문서 저장 시 해당 key 에 대한 Grouping 이나 Classify 를 위해 사용 합니다.

자세한 내용은 Elastic 사의 Reference 문서를 참고하세요. (클릭)

- preference

이 기능은 검색 질의 시 아주 유용하게 활용이 가능 합니다.

특정 shard 를 지정 할 수도 있고 질의 하고 싶은 node 를 선택 할 수도 있습니다.

자세한 내용은 Elastic 사의 Reference 문서를 참고하세요. (클릭)


Github Repository)

https://github.com/HowookJeong/esquery-proxy

저작자 표시 비영리 변경 금지
신고
Trackback 0 : Comment 0

proxy server 구성 및 wget proxy 설정

ITWeb/서버관리 2013.01.07 18:39

centos 에 proxy server 구성과 wget proxy 사용법에 대해서 간략하게 작성 합니다.


[설치 : sudo 또는 root 권한]
sudo yum -y install squid*
또는
sudo yum install squid

이렇게 하시면 관련 패키지 목록을 보여 주면서 설치 진행 합니다.


[실행 및 ACL 설정]
설치 후 설정파일은 /etc/squid/squid.conf
ACL 은 아래와 같이 구성

acl office_networks src 10.101.0.0/16
http_access allow office_networks
http_access deny all

저장 후 실행
실행 : sudo /etc/rc.d/init.d/squid start
중지 : sudo /etc/rc.d/init.d/squid stop

이전 CIDR 참고 : http://jjeong.tistory.com/396


[Client wget 설정]
이전글 참고 : http://jjeong.tistory.com/448


신고

'ITWeb > 서버관리' 카테고리의 다른 글

맥 + virtualbox + window7 설치.  (0) 2013.04.05
맥북 단축키 URL  (0) 2013.04.01
proxy server 구성 및 wget proxy 설정  (0) 2013.01.07
Tomcat 에서 IP Restriction 하기.  (0) 2012.10.24
메일발송 시 리턴 에러 코드.  (0) 2012.08.30
netstat, lsof 로 port 확인하기.  (0) 2012.08.02
Trackback 0 : Comment 0

외국 사이트 proxy 설정으로 우회 해서 보기

블로깅 2012.11.07 13:12

한국에서 구글play 접속이 안되는 몇몇 페이지들이 있어서 proxy 설정 후 우회 해서 확인 하는 방법을 공유 합니다.

[proxy 주소구하기]
- http://www.freeproxylists.net

[proxy swicher 구하기]
- https://chrome.google.com/webstore/search/proxy%20switch

저는 proxy switchy 를 사용했습니다. :)
그럼 도움이 되시길 ~

신고
tags : proxy
Trackback 0 : Comment 0