분류 전체보기 1274

RabbitMQ - Receive Message

※ simplequeue 라는 이름으로 큐를 먼저 만들고 시작할것package com.terry.rabbitmq.queue; import org.slf4j.Logger;import org.slf4j.LoggerFactory; import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import com.rabbitmq.client.QueueingConsumer; public class MessageReceiver { Logger log = LoggerFactory.getLogger(MessageReceiver.class); public String rec..

RabbitMQ - Send Message

※ simplequeue 라는 이름으로 rabbitmq 콘솔에서 먼저 큐를 만들고 시작할것 package com.terry.rabbitmq.queue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; public class MessageSender { Logger log = LoggerFactory.getLogger(MessageSender.class); public boolean sendMessage(String uri, String q..

Amazon VPC (Virtual Private Cloud) 소개

Amazon VPC (Virtual Private Cloud)조대협 (http://bcho.tistory.com) VPC는 Virtual Private Cloud의 약자로 아마존 클라우드 내에서 private ip를 사용하는 일종의 가상 private network 망을 만들어줄 수 있게 해주는 서비스이다.이 서비스 전에는 EIP 이외에는 정적 서비스를 사용할 수 없었으며, 또한 10.0.x.x와 같은 private ip를 사용할 수 없었다. VPC 서비스와 함께, 내부 ip 대역을 사용할 수 있게 되었으며 조금 더 유연한 네트워크 관리가 가능하게 되었다. VPCVPC는 Amazon 콘솔에서 생성하면 되는데, VPC의 범위는 , 하나의 VPC는 하나의 Region내에서만 생성이 가능하다. 즉 VPC를 두..

아마존 S3 소개 (성능 향상)

Amazon S3 (Simple Storage Service)AWS S3 (Simple Stoage Service)는 파일을 저장하기 위한 스토리지이다. 일반적인 파일시스템의 개념과는 약간 다르고, 파일 이름을 대표하는 key와 파일 자체로 구분되는 Object Storage이다.용량 저장할 수 있는 파일의 크기는 개당 1byte~5TB이고, 총 저장 용량에는 제한이 없다. 디렉토리와 비슷한 개념으로, bucket이라는 개념을 가지고 있다. 기본적으로 3 copy를 지원하여, 데이타를 복제하고, 이 복제는 Amazon availability zone (AZ) 단위로 복제가 되기 때문에 데이타 센터 장애에 대한 대응성을 가지고 있다. 단 region 간 복제는 지원하지 않는다. 복제에 관련된 옵션으로는 R..

배포 자동화 (Continuous Deployment)

Continuous Deployment (Auto Deployment) 빌드와 테스트까지 자동화 했으면 그 다음 문제는 배포이다.수동으로 배포하는 경우 한 두개의 서버라면 별 걱정이 없겠지만, 개발,테스트,운영 환경과 같이 여러 환경에 또한 각 환경에 수십대의 서버에 배포를 해야 한다면, 문제는 달라진다. 그래서 요즘에서 CI에 배포의 개념을 더한 CD (Continuous Delivery 또는 Continuous Deployment)라는 개념이 유행하는데, 이는 빌드가 완료된 후, 배포까지 자동화 하는 방법이다. 이런 배포를 지원하는 도구는 여러가지 타입이 있다.① 특정 솔루션에 종속적인 도구Tomcat이나 WebLogic 같은 WAS의 경우 각 제품에 특화된 배포 도구를 가지고 있다. Tomcat의 ..

License Key Management

License Key Authentication에 대한 간단한 아키텍쳐 Anonymous client에 대한 라이센스 발급 방식 1. 클라이언트에서, CPU ID나 MAC 주소와 같은 signature를 이용하여 hash 값을 만들어서 서버에 라이센스 키를 요청2. 서버에서는 이 내용을 바탕으로 새로운 키를 생성하고, 이 키를 private key로 encrypt하여 클라이언트에 보냄3.4. 클라이언트는 이 메세지를 public key로 풀어서 text 내용은 미리 상호 약속한 내용 (예를 들어 CPU ID 등) * request에 클라이언트를 인증하기 위한 user id,password등을 같이 실어서 보낼 수 있음* 라이센스 키 체크는 클라이언트에서 저장된 public key로 풀어서 일치 하지 않으..

아키텍쳐 2013.08.01

maven repository인 nexus pro에 대한 고급 기능 소개

nexus pro에 대한 고급 기능소개 조대협 (bwcho75@지메일) nexus는 maven repository로 매우 유명한 솔루션이다. 오픈 소스 버전은 maven을 사용하는 경우에는 거의 필수적으로 사용이 된다고 해도 과언이 아니다.nexus의 상용 버전인 nexus pro의 경우 CLM (Component Life-cycle Management) 개념을 도입하여, 접근제어나 컴포넌트에 대한 security 나 license risk등을 관리 통제할 수 있다.이 글에서는 nexus pro에 대한 몇 가지 고급 기능에 대해서 살펴보고, 이를 통해서 컴포넌트(라이브러리)의 관리가 단순한 중앙 집중형 공유만이 아닌 일종의 life cycle 개념이 있다는 것을 이해하도록 해보자 Nexus의 상용 버전인..

git 사용법과 소스 관리

소스 코드 관리와 git조대협 (bwcho75@지메일)소프트웨어 개발에 있어서, 소스코드의 관리는 중요한 포인트 중의 하나이다. 다양한 버전과 변경 관리, 협업을 위해서는 소스코드를 저장 및 관리할 수 있는 시스템이 필요하고, 이를 VCS (Version Control System) 또는 SCM (Source Code Management) System이라고 한다. 소스코드 관리 시스템의 주요 기능은 다음과 같다.협업을 위한 코드 공유 - 여러 사람들이 협업을 할 경우, 코드를 각 개발자와, 팀간에 공유할 수 있어야 하며, 접근 제한 - 사용자의 권한 등급에 따라 접근을 제한해야 한다.다양한 버전(형상) 관리 - 소프트웨어 개발 버전 또는 릴리즈 (브랜치) 마다, 다른 코드를 저장할 수 있어야 한다. 예를..

ALM/SCM/VCS 2013.07.28