상태 저장 함수 활성화하기
상태 저장 함수 활성화하기
Pulsar 함수의 상태 저장 API — 예를 들어 putState()와 queryState() 관련 인터페이스 — 가 필요하면 함수 워커에서 상태 저장 함수 기능을 활성화해야 해요.
활성화 순서는 BookKeeper에서 streamStorage 서비스를 켜고 확인한 다음, 함수 워커의 stateStorageServiceUrl을 설정하는 식으로 진행돼요. 각 구성 파일의 예시를 그대로 따라가면 됩니다.
출처: 문서
본문
함수 워커에서 상태 저장 함수 기능을 활성화하려면 다음 단계를 완료해요.
- 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
- bookie를 시작한 후, 다음 방법으로 streamStorage 서비스가 성공적으로 시작되었는지 확인해요.
- 입력:
telnet localhost 4181
- 출력:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
conf/functions_worker.yml파일에서stateStorageServiceUrl을 구성해요.bk-service-url은 BookKeeper 테이블 서비스를 가리키는 서비스 URL이에요.
stateStorageServiceUrl: bk://<bk-service-url>:4181
더 알아보기 (Learn more)
- 상태 저장이 필요한 이유가 궁금하다면 함수 상태 저장 구성 문서를 참고해요.
- 함수 상태 API를 사용하는 방법은 함수 상태 저장 문서에서 확인할 수 있어요.
- BookKeeper 테이블 서비스가 궁금하다면 BookKeeper 문서를 살펴보세요.