상태 저장 함수 활성화하기

상태 저장 함수 활성화하기

Pulsar 함수의 상태 저장 API — 예를 들어 putState()queryState() 관련 인터페이스 — 가 필요하면 함수 워커에서 상태 저장 함수 기능을 활성화해야 해요.

활성화 순서는 BookKeeper에서 streamStorage 서비스를 켜고 확인한 다음, 함수 워커의 stateStorageServiceUrl을 설정하는 식으로 진행돼요. 각 구성 파일의 예시를 그대로 따라가면 됩니다.

출처: 문서

본문

함수 워커에서 상태 저장 함수 기능을 활성화하려면 다음 단계를 완료해요.

  1. BookKeeper에서 streamStorage 서비스를 활성화해요. 현재 이 서비스는 NAR 패키지를 사용하므로 conf/bookkeeper.conf 파일에서 설정을 해야 해요.
##################################################################
##################################################################
# Settings below are used by stream/table service
##################################################################
##################################################################

### Grpc Server ###

# the grpc server port to listen on. default is 4181
storageserver.grpc.port=4181

### Dlog Settings for table service ###

#### Replication Settings
dlog.bkcEnsembleSize=3
dlog.bkcWriteQuorumSize=2
dlog.bkcAckQuorumSize=2

### Storage ###

# local storage directories for storing table ranges data (e.g. rocksdb sst files)
storage.range.store.dirs=data/bookkeeper/ranges

# whether the storage server capable of serving readonly tables. default is false.
storage.serve.readonly.tables=false

# the cluster controller schedule interval, in milliseconds. default is 30 seconds.
storage.cluster.controller.schedule.interval.ms=30000
  1. bookie를 시작한 후, 다음 방법으로 streamStorage 서비스가 성공적으로 시작되었는지 확인해요.
  • 입력:
telnet localhost 4181
  • 출력:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
  1. conf/functions_worker.yml 파일에서 stateStorageServiceUrl을 구성해요. bk-service-url은 BookKeeper 테이블 서비스를 가리키는 서비스 URL이에요.
stateStorageServiceUrl: bk://<bk-service-url>:4181

더 알아보기 (Learn more)

  • 상태 저장이 필요한 이유가 궁금하다면 함수 상태 저장 구성 문서를 참고해요.
  • 함수 상태 API를 사용하는 방법은 함수 상태 저장 문서에서 확인할 수 있어요.
  • BookKeeper 테이블 서비스가 궁금하다면 BookKeeper 문서를 살펴보세요.