7/05/2016

Maven과 Ant

현재 진행중인 프로젝트는 폐쇄적이다. 다시말하면 폐쇄망 환경이다. Maven의 Central Repository는 꿈도 꾸지 못하는 환경이다. 내부 Nexus를 통해서 3rd party library를 지원해야 한다. 이런 환경에서 굳이 Maven을 사용해야 하는지에 대해서 의구심을 가지는 사람들이 있다. Ant와 Maven중 어느 것이 더 나은가?는 논쟁거리이지만, 본 글에서는 몇 가지의 차이점을 명확히 하고자 한다.


Ant는 고전이다. 빌드 프로세스로서는 훌륭하다.
Maven은 Apache Turbine 프로젝트의 빌드를 단순화하기 위해서 탄생했다.
Apache Turbine 프로젝트는 여러 프로젝트마다 Ant 빌드와 Jar파일들이 있었고 이런 환경들이 빌드를 복잡하게 만들었고 프로젝트가 점차 커져감에 따라 프로젝트를 관리하고 빌드하는 표준 방법이 필요하게 되었기 때문에 Maven이 세상에 나왔다.
끝으로, Ant는 오랫동안 자바 빌드의 최고 자리를 지켜왔고 여러 곳에서 현재도 널리 쓰이고 있다. 반면에 Maven은 프로젝트 관리 플랫폼 그 이상이다. 빌드 관리 작업을 간단하게 해주고 프로젝트 사이의 공통 인터페이스를 조성하는 것을 도와준다. Maven은 빌드 도구 그 이상의 것(a set of standards, 공통 인터페이스, Life cycle, standard repository, layout..,)을 포함하고 있다.
폐쇄망 환경에서 Library 등록이 귀찮다는 이유로 Maven을 사용하지 않는일이 없길 바란다.

비오는 날엔.,


7/01/2016

Apache Storm 테스트

저번에 설치한 Apache Storm을 가지고 몇 가지 테스트를 진행하였다. 굳이 테스트를 진행하지 않고도 결과는 예측이 가능했지만….,
#테스트 목적
  • Spout, Bolt가 Single node일 경우 Sequential이 보장되는가?
  • Spout, Bolt가 Parallel node일 경우 Sequential이 보장되는가?
우선, 테스트를 위해 JsonFormatterBolt, DataMapperBolt, ResultBolt와 SingleTopology, ParallelTopology 클래스를 만들었다.
결론은 생각한바와 같이 Single worker 작업시에만 Sequential을 보장한다.
소스는 이곳을 참조