일반 공개(GA)를 발표하게 되어 기쁘게 생각합니다. 카우치베이스 쿼커스 SDK 1.0이제 공식적으로 프로덕션 환경에서 사용할 수 있습니다! 이번 릴리즈는 Quarkus 프레임워크와의 기본 통합을 통해 개발자의 생산성과 애플리케이션 성능을 향상시킵니다. 이번 릴리스의 눈에 띄는 기능은 다음과 같습니다. GraalVM 네이티브 이미지 생성을 통해 매우 빠른 시작 시간과 최적화된 런타임 성능을 지원합니다.
카우치베이스 쿼커스 SDK 1.0의 새로운 기능은 무엇인가요?
새로운 쿼커스-카우치베이스 확장 프로그램은 기존 Java SDK를 Quarkus의 에코시스템에 통합합니다. 이는 클러스터 개체에 쉽게 접근할 수 있습니다. 종속성 주입 프레임워크로 실행할 수 있도록 GraalVM 호환성을 추가하고, Java SDK를 네이티브 실행 파일 모든 플랫폼에서 사용할 수 있습니다.
원활한 GraalVM 네이티브 이미지 지원:
-
- 초고속 시작 시간 및 메모리 사용 공간 감소
- 클라우드 네이티브 및 서버리스 환경에 적합
Quarkus와의 손쉬운 통합:
-
- 클러스터 주입을 위한 기본 제공 종속성 주입
- 유연한 개발을 위한 반응형 및 필수 API
- 연결성을 위한 간소화된 구성
- 마이크로미터 지표, SmallRye 상태 확인
오픈 소스 협업:
-
- 살펴보기 GitHub 리포지토리 기여하고 배우기 위해
카우치베이스 쿼커스 SDK 시작하기
1. 새 애플리케이션 만들기
다음을 통해 Couchbase 확장 기능을 사용하여 Quarkus 앱을 만드는 것이 좋습니다. code.quarkus.io. 이 링크는 자동으로 카우치베이스 그리고 REST Quarkus 확장 기능을 사용하여 새 샘플 애플리케이션을 생성합니다.
이미 애플리케이션을 사용 중인 경우 Couchbase를 종속성으로 추가하세요:
1.1. 종속성 추가
Maven
1 2 3 4 5 |
<종속성> <groupId>io.쿼키버스.카우치베이스</groupId> <artifactId>쿼커스-카우치베이스</artifactId> <버전>1.0.0</버전> </종속성> |
Gradle
1 2 3 |
종속성 { 구현 'io.quarkiverse.couchbase:quarkus-couchbase:1.0.0' } |
2. 애플리케이션 구성
에 연결 문자열과 자격 증명을 추가합니다. application.properties
에 위치한 src/main/resources/application.properties
:
1 2 3 |
쿼커스.카우치베이스.연결-문자열=카우치베이스://로컬호스트 쿼커스.카우치베이스.사용자 이름=관리자 쿼커스.카우치베이스.비밀번호=비밀번호 |
확장 프로그램은 자동으로 테스트 컨테이너를 시작하며, 원하는 경우 다음을 사용하여 비활성화할 수 있습니다:
1 |
쿼커스.개발 서비스.활성화=false |
다음 주소에서 Couchbase 클러스터 UI로 이동하는 것을 잊지 마세요. http://localhost:8091 라는 이름의 버킷을 만들고 기본값 를 사용 중인 경우.
3. 클러스터 주입
쿼커스 카우치베이스 확장 프로그램은 클러스터
콩을 사용하여 주입할 수 있습니다. @Inject
어노테이션.
1 2 3 4 5 |
가져오기 자카르타.주입.주입; 가져오기 com.카우치베이스.클라이언트.자바.클러스터; @주입 클러스터 클러스터; |
이후 사용법은 일반 Java SDK와 동일합니다.
4. 예제 4: HTTP GET 엔드포인트 만들기
에서 코드를 수정합니다. src/main/java/org/acme/GreetingResource.java
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
패키지 org.acme; 가져오기 자카르타.엔터프라이즈.컨텍스트.애플리케이션 범위; 가져오기 자카르타.주입.주입; 가져오기 자카르타.ws.rs.GET; 가져오기 자카르타.ws.rs.경로; 가져오기 자카르타.ws.rs.생산; 가져오기 자카르타.ws.rs.핵심.미디어 유형; 가져오기 com.카우치베이스.클라이언트.자바.클러스터; @애플리케이션 범위 @경로("couchbase") public 클래스 인사말 리소스 { @주입 클러스터 클러스터; @GET @생산(미디어 유형.TEXT_PLAIN) @경로("simpleQuery") public 문자열 간단한 쿼리() { var 쿼리 = 클러스터.쿼리("SELECT RAW 'hello world'를 인사말로 선택"); 반환 쿼리.rowsAs(문자열.클래스).get(0); } } |
5. 예제 5: KV 작업 수행
일반 Java SDK에서와 동일한 KV API를 사용합니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
패키지 org.acme; 가져오기 com.카우치베이스.클라이언트.자바.클러스터; 가져오기 com.카우치베이스.클라이언트.자바.json.JsonObject; 가져오기 com.카우치베이스.클라이언트.자바.kv.MutationResult; 가져오기 자카르타.엔터프라이즈.컨텍스트.애플리케이션 범위; 가져오기 자카르타.주입.주입; 가져오기 자카르타.ws.rs.GET; 가져오기 자카르타.ws.rs.경로; 가져오기 자카르타.ws.rs.생산; 가져오기 자카르타.ws.rs.핵심.미디어 유형; @애플리케이션 범위 @경로("couchbase") public 클래스 인사말 리소스 { @주입 클러스터 클러스터; @GET @생산(미디어 유형.TEXT_PLAIN) @경로("simpleUpsert") public 문자열 간단한 업서트() { var 버킷 = 클러스터.버킷("default"); var 컬렉션 = 버킷.기본 컬렉션(); JsonObject 콘텐츠 = JsonObject.create() .put("author", "mike") .put("title", "내 블로그 게시물 1"); MutationResult 결과 = 컬렉션.업서트("문서 키", 콘텐츠); 반환 결과.돌연변이 토큰().toString(); } } |
애플리케이션 실행
개발 모드에서 실행합니다:
1 |
mvn 쿼커스:dev |
개발자 UI로 이동하여 http://localhost:8080/q/dev-ui/welcome.
1 |
mvn clean 설치 -Dnative -Dmaven.테스트.건너뛰기 |
기본 이미지는 기본 이미지의 대상 디렉토리에 저장합니다.
왜 카우치베이스 쿼커스 SDK 1.0을 선택해야 하나요?
-
- 성능: GraalVM 네이티브 이미지는 비교할 수 없는 속도와 효율성을 제공합니다.
- 유연성: Quarkus와의 원활한 통합으로 개발 워크플로가 간소화됩니다.
- 확장성: Couchbase의 풍부한 기능 세트는 모든 규모의 애플리케이션을 지원합니다.
구축할 준비가 되셨나요?
지금 바로 초고속 클라우드 네이티브 애플리케이션 구축을 시작하세요! 살펴보기 카우치베이스 쿼커스 SDK 깃허브 리포지토리 에서 더 많은 리소스를 확인하고, 프로젝트에 기여하고, 피드백을 공유하세요.
애플리케이션 성능과 개발자 생산성을 함께 재정의해 봅시다!
커뮤니티 및 지원
저희는 커뮤니티와 오픈 소스 개발의 힘을 믿습니다. 카우치베이스용 Quarkus SDK 는 오픈 소스입니다.를 통해 의견을 제시하고 피드백을 제공하며 대화에 참여해 주시기 바랍니다. 지원을 받으려면 엔터프라이즈 라이선스 고객인 경우 지원팀에 문의할 수 있으며, 그렇지 않은 경우에는 종합적인 문서에 가입하여 카우치베이스 포럼 또는 카우치베이스 디스코드를 통해 문의하거나 지원 포털.
추가 읽기
자세한 내용은 문서 웹사이트를 참조하세요. 특히 트랜잭션 및 비동기 작업과 관련된 API에 대해 자세히 설명하고 있으며, 더 자세히 알아볼 수 있도록 기타 참고 자료와 샘플 바인딩 링크를 제공합니다:
지원되는 운영 체제 호환성 요구사항은 문서 웹사이트에 나와 있습니다.
행복한 코딩!
카우치베이스 팀