Page History
Alpakka 특징
...
알파카(Alpakka)는 레액티브(Reactive) 스트림 처리를 위한 라이브러리입니다. 이 라이브러리의 주요 장점은 다음과 같습니다:
다양한 스트림 처리 기술 지원: 알파카는 다양한 스트림 처리 기술을 지원합니다.
예를 들어, Apache Kafka, Amazon S3, Amazon Kinesis, RabbitMQ 등과 같은 다양한 데이터 소스와 Sink를 처리할 수 있습니다.
높은 확장성: 알파카는 대용량 데이터 처리를 위한 높은 확장성을 제공합니다.
알파카는 Akka Streams 프레임워크를 기반으로 하며, Akka는 높은 확장성을 가진 Actor 모델을 사용하여 대용량 처리를 처리할 수 있습니다.
유연성: 알파카는 다양한 데이터 형식을 처리할 수 있으며, 다양한 소스와 Sink를 조합하여 유연하게 처리할 수 있습니다. 이러한 유연성은 다양한 비즈니스 요구에 대응할 수 있도록 도와줍니다.
개발 생산성 향상: 알파카는 스트림 처리에 필요한 많은 기능을 제공하므로 개발 생산성을 향상시킵니다. 예를 들어, 알파카는 배압 처리, 에러 핸들링, 메모리 관리 등과 같은 기능을 제공합니다.
리액티브 프로그래밍 모델 지원: 알파카는 리액티브 프로그래밍 모델을 지원하므로 비동기적이고 반응적인 코드를 작성할 수 있습니다.
이러한 코드는 보다 성능이 높고 유지 보수가 용이합니다.
다양한 언어 지원: 알파카는 다양한 언어를 지원합니다. 현재는 자바와 스칼라를 지원하며, 앞으로는 더 많은 언어를 지원할 예정입니다.
개발자 커뮤니티 지원: 알파카는 매우 활발한 개발자 커뮤니티를 가지고 있습니다. 이러한 커뮤니티는 알파카를 사용하는 개발자들에게 지속적인 지원을 제공합니다.
by chat gpt
Reactive Stream을 선언한 오픈스택과 스트림처리 개발방식을 단일화 할수 있습니다.
- https://doc.akka.io/docs/akka/current/stream/stream-flows-and-basics.html - Akka Stream API가 전반적으로 이용이됩니다.
의존모듈 셋업하기
...
Code Block |
---|
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.8-SNAPSHOT'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'com.webnori'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
maven { url 'https://repo.spring.io/snapshot' }
}
dependencies {
def scalaVersion = '2.13'
def akkaVersion = '2.7.0'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-aop:2.7.0'
implementation 'org.springframework.boot:spring-boot-starter-validation:2.7.5'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
//DB
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'com.mysql:mysql-connector-j'
//AKKA
implementation platform("com.typesafe.akka:akka-bom_$scalaVersion:$akkaVersion")
implementation "com.typesafe.akka:akka-actor_$scalaVersion:$akkaVersion"
implementation "com.typesafe.akka:akka-stream_$scalaVersion"
implementation "com.typesafe.akka:akka-stream-kafka_$scalaVersion:4.0.0"
//Logging
implementation 'ch.qos.logback:logback-classic:1.2.3'
implementation "com.typesafe.akka:akka-slf4j_$scalaVersion:$akkaVersion"
//Swagger
implementation 'org.springdoc:springdoc-openapi-ui:1.6.6'
//Test
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation "org.scalatestplus:junit-4-12_$scalaVersion:3.3.0.0-SNAP2"
testImplementation "com.typesafe.akka:akka-testkit_$scalaVersion:$akkaVersion"
testImplementation "com.typesafe.akka:akka-stream-testkit_$scalaVersion"
testImplementation "com.typesafe.akka:akka-stream-kafka-testkit_$scalaVersion:4.0.0"
}
tasks.named('test') {
useJUnitPlatform()
}
|
Spring Boot -JAVA 버전에서 이용할수 있습니다.
Children Display | ||
---|---|---|
|