mongodb change streams 이용하여 polling 대체하기(python)

김재영·2021년 4월 23일
0

1. docker-compse.yml 만들기

docker

version: '3.4'
services: 
	mongo_server:
    	container_name : mongo_server
        command: mongod --replSet rs0 --bind_ip_all
        image: mongo:latest
        hostname:mongodb
        ports: -'27017:27017'
        volumes: - /volume1/docker/mongoDB/db:/data/db
        

command : docker 실행시 명령문
(change streams 를 활용하기 위해서는 replSet 을 설정해주어야함 여러가지 방법이 있지만 나는 standalone db 를 replSet 으로 사용하여 여러개 node 를 만들지 않았음)

2.docker-compose up -d

3.docker exec -it mongo

use admin
rs.initiate()

다음과 같은 결과가 나오면 성공
{
"info2" : "no configuration specified. Using a default configuration for the set",
"me" : "127.0.0.1:27017",
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1577545731, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1577545731, 1)
}

change streams

  • 특정 변화를 감지하는 것
  • 정보를 업데이트 하거나 추가했을때 이러한 변화를 감지하고 즉시 전달할 수 있다.
  • change stream 이전에는 polling 을 사용(주기적으로 검사)

0개의 댓글