Apache Karaf
Apache Karaf는 여러 프레임워크와 프로그래밍 모델(REST/API, 웹, 스프링 부트 등)을 지원하는 모듈리스 런타임입니다. 변경 가능하거나 변경 불가능한 애플리케이션으로 패키징되어, 노력 없이 바로 활용할 수 있는 턴키 기능을 제공합니다.
개요
- 핫 배포(Hot deployment): Karaf는 애플리케이션의 핫 배포를 지원합니다(deploy 디렉토리).
- 동적 구성(Dynamic configuration): Karaf는 구성 파일(properties, json 등 다양한 형식)을 위해 중앙 위치(etc 디렉토리)를 사용하며, 기존 구성 백엔드에 연결할 수 있습니다.
- 로깅 시스템(Logging System): Log4J가 지원하는 중앙 집중식 로깅 백엔드를 사용하여 Karaf는 다양한 API(JDK 1.4, JCL, SLF4J, Avalon, Tomcat 등)를 지원합니다.
- 프로비저닝(Provisioning): 라이브러리나 애플리케이션의 프로비저닝은 여러 방식으로 수행할 수 있으며, 로컬에 다운로드, 설치 및 시작됩니다. 리졸버와 상호작용하여 필요한 구성 요소를 자동으로 설치합니다.
- 확장 가능한 셸 콘솔(Extensible Shell console): Karaf는 서비스를 관리하고, 새 애플리케이션이나 라이브러리를 설치하고, 상태를 관리할 수 있는 훌륭한 텍스트 콘솔을 제공합니다. 이 셸은 새 기능이나 애플리케이션과 함께 동적으로 새 명령어를 배포하여 쉽게 확장할 수 있습니다.
- 원격 접속(Remote access): SSH 클라이언트를 사용하여 커널에 연결하고 콘솔에서 명령어를 실행할 수 있습니다.
- 보안 및 ACL(Security & ACL): JAAS 기반의 완전한 RBAC 솔루션을 제공합니다.
- 인스턴스 관리(Managing instances): Karaf는 Karaf 인스턴스 관리를 위한 간단한 명령어를 제공합니다. 콘솔을 통해 Karaf 인스턴스를 쉽게 생성, 삭제, 시작 및 중지할 수 있습니다.
- 엔터프라이즈 기능(Enterprise features): Karaf는 애플리케이션에서 사용할 수 있는 다양한 엔터프라이즈 기능(JDBC, JPA, JTA, JMS 등)을 제공합니다.
- HTTP 서비스(HTTP Service): Karaf는 완전한 기능의 웹 컨테이너를 제공하여 웹 애플리케이션을 배포할 수 있습니다.
- REST 및 서비스(REST & Services): Karaf는 Apache CXF와 같은 다양한 서비스 프레임워크를 지원하여 서비스를 쉽게 구현할 수 있습니다.
- Karaf 확장(Karaf Extensions): Karaf 프로젝트는 완전한 생태계입니다. 런타임은 Karaf Decanter, Karaf Cellar, Karaf Cave와 같은 다른 Karaf 하위 프로젝트로 확장할 수 있습니다.
- 타사 확장(Third Party Extensions): Karaf는 Apache Camel 등 많은 다른 프로젝트가 지원하는 런타임입니다.
시작하기
Apache Karaf 소스 배포판을 사용하는 경우, Apache Karaf 빌드 방법에 대한 지침은 BUILDING.md를 읽어주세요.
Apache Karaf 바이너리 배포판을 사용하는 경우, 설치 지침과 지원/비지원 기능 목록은 RELEASE-NOTES.md를 읽어주세요.
PDF 매뉴얼은 Karaf에 관한 모든 정보를 찾을 수 있는 적절한 장소입니다.
예제는 Apache Karaf에 배포하고 원하는 대로 확장/템플릿화할 수 있는 다양한 턴키 최소 애플리케이션을 제공합니다.
[NOTE]
Windows 사용자는 255자보다 긴 파일을 지원하기 위해 7zip 또는 다른 압축 해제 도구를 사용해야 합니다.
문의하기
Apache Karaf에 참여하려면:
또한 기여자 가이드도 있습니다.
추가 정보
Apache Karaf를 사용해 주셔서 감사합니다.
Apache Karaf 팀