'development/Infra'에 해당되는 글 2건

  1. 2014.07.02 WEB와 WAS 서버를 분리하는 이유는?
  2. 2014.06.18 패키지관리도구 - YUM, HOMEBREW

서비스의 서버 구성을 보다보면 모든 서버가 WEB(httpd)과 WAS(tomcat)를 따로 구성하고있었다.

내가 많이 본 서버는 Tomcat과 Apache httpd로 구성된 케이스인데 아래와 같이 2개의 형태로 나뉘어볼 수 있었다.

   타입1. web과 was서버가 하나의 물리적인 서버에 함께 있고, httpd만 L4로 로드밸런싱 하는 형태

   타입2. web과 was서버가 각각 물리적인 서버에 나뉘어있고 web서버끼리, was서버끼리 L4로 로드밸런싱하는 형태

  

그러다 보니 왜 서버를 분리해야하는지, 그리고 두가지 타입중 어떤 방식이 더 좋은지 궁금증이 생겼다.

여러모로 찾아보긴 했으나 어느것이 답인지도 모르겠지만 비용적인 측면과 보안적인 측면에 그 이유가 있는것같다.

어떤것이 더 좋은지, 어떤 상황에 무얼 고려하여 서버를 구성해야할지 의문이다.


[타입1] 

  • tomcat으로의 접근은 httpd에서 특정포트만을 오픈하여 구성하고 L4를 web서버에만 연결함으로써
    L4장비를 하나만 사용하여 비용감소(?)
  • httpd가 down되는경우 정상적으로 동작하는 tomcat서버에 트래픽이 전달되지 않음.
    (보통 이런경우 L7 check를 통해 빠르게 감지하여 장애대응)
[타입2]
  • web서버와 was 서버 각각 L4를 통해 로드밸런싱을 구성하여 특정서버가 장애발생하였을경우에도 다른 서버들은 정상적으로 서비스 가능하다.
  • 물리적으로 서버를 분리하여 web서버가 해킹되더라도 was 서버까지 영향이 미치지 않음
  • 특정서버로 부하가 몰리는것을 방지할 수 있음.



참고URL : 

http://blog.naver.com/sangmanla/100199297270


'development > Infra' 카테고리의 다른 글

패키지관리도구 - YUM, HOMEBREW  (0) 2014.06.18
Posted by dreamhopp
,

YUM (Yello dog Updater, Modified)

RPM (Redhat Package Manager) 기반 시스템을 위한 자동 업데이터 겸 패키지 설치/제거 도구.

YUM 사용법

패키지 설치 : yum install {package}
- 그룹패키지 설치 : yum groupinstall {group}
- 패키지 재설치 : yum reinstall {package}
- 패키지 삭제 : yum remove {package}
- 설치된 패키지 업데이트정보 체크 : yum check-update
- 패키지 업데이트 : yum update 
{package}
- 패키지 업그레이드 : yum upgrade {package}
- 캐시데이터 제거 : yum clean all
- 캐시데이터 생성 : yum makecache
- 패키지 의존성 테스트 : yum deplist
- 패키지 다운그레이드 : yum downgrade 
{package}
- 패키지 삭제 : yum erase 
{package}
- 패키지 검색 : yum search 
{package}
- (그룹)패키지 정보 : yum info 
{package | group}
- 그룹패키지 정보 : yum groupinfo {group}
- 특정단어가 포함된 패키지검색 : yum list {term}
- 그룹리스트 정보 확인 : yum grouplist 
{group}
- 그룹리스트 삭제 : yum groupremove 
{group}
- 특정파일을 제공한 패키지검색 : yum whatprovides {filename}
- 커널패키지에 설치된 모든 패키지 업데이트 : yum -y update

    

YUM Q&A

1. update와 upgrade의 차이점
 - yum update : 모든 의존성이 안전한경우 현재 설치된 패키지들을 업데이트한다.
 - yum upgrade [= yum update -obsolete] : 패키지를 최신으로 업데이트하고 구 패키지를 제거한다.
                      upgrade 명령어는 필요한 패키지를 지울수도 있기때문에 사용하지 않는것을 권장한다.

HOMEBREW

Apple에서 제공하지 않지만 필요한 패키지를 설치하는 OS X용 패키지 관리자.
brew에서는 package가 아닌 formula 라고 지칭한다.

BREW 사용법

- brew 패키지 설치경로 확인 : brew --cellar
- 패키지 설치 : brew install {formula}
- 특정버전 패키지 설치
   > 사용가능한 버전정보 확인 : brew versions {formula}
   > 버전별 소스 다운로드 (brew versions를 통해 조회한 버전 중 원하는 버전의 git checkout 명령어를 실행)
   > 패키지 설치 : brew install {formula}
   > 여러버전이 설치되어있는경우 원하는 버전의 패키지로 연동 : brew switch {formula} {version}
- 패키지 검색 : brew search {formula}
- 설치된 패키지 조회 : brew list
- 최신 패키지정보로 갱신(brew의 리스트만 갱신) : brew update 
- 최신 패키지로 재설치(설치된 패키지) : brew upgrade {formula}
- 설치된 패키지 삭제 : brew remove {formula}

참고URL : 
http://ko.wikipedia.org/wiki/Yum
https://access.redhat.com/site/ko/node/82093
http://nowonbun.tistory.com/114
http://unix.stackexchange.com/questions/55777/in-centos-what-is-the-difference-between-yum-update-and-yum-upgrade
http://brew.sh/index_ko.html
http://floss.zoomquiet.io/data/20111223160257/index.html
https://gist.github.com/gcatlin/1847248
http://stackoverflow.com/questions/13477363/how-can-i-brew-link-a-specific-version

'development > Infra' 카테고리의 다른 글

WEB와 WAS 서버를 분리하는 이유는?  (0) 2014.07.02
Posted by dreamhopp
,