Google Cloud Platform에 변수를 저장하려면 어떻게해야합니까? 지금은 내 경로가 공유하는 전역 변수를 사용하고 있지만 요청이 경로에 요청 될 때마다 값은 꺼져 있습니다. 내 서버가 동일한 변수를 공유하는 여러 인스턴스를 실행하고 있기 때문이라고 생각합니다. 내 응용 프로그램에서 Node.js/Express를 사용하고 있습니다.Google Cloud Platform에 변수를 저장하는 방법
var new_posted_time = 0;
app.post('/message', function (request, response) {
message = request.body.Body;
new_posted_time = new_posted_time + 1;
console.log("This is the new time from POST: " + new_posted_time);
response.send("<Response><Message>Heyyo!</Message></Response>");
});
내 GET 경로가 /message
에 정의 new_posted_time
에 대한 값을 가져옵니다
내 POST 경로가 /display-message
가 사용하는 new_posted_time
변수를 설정합니다.
app.get('/display-message', function(req,res){
var last_updated_time = req.query.last_updated;
function checkMessage() {
var new_time = new_posted_time;
console.log("Checking messaged with new time from GET: " + new_time);
if(!last_updated_time || last_updated_time < new_time) {
updateMessage(new_time);
}
else {
console.log("No new messages at this time");
myTimeout = setTimeout(function(){
checkMessage(res);
}, 1000 * 10); //10 seconds
}
}
function updateMessage() {
console.log("Updating message now");
var output = {
success: 1,
data: message,
old_stamp: last_updated_time,
new_stamp: new_stamp
};
return res.json(output);
}
checkMessage();
});
그래서 나는 인해 실행 많은 경우 (내 생각이다)에 값이 일치하지 않기 때문에 때마다 내 응용 프로그램이 실행 구글의 데이터베이스에 어딘가에 공유 변수 new_posted_time
를 저장할 수 있어야합니다.
변수를 데이터 저장소의 엔터티로 저장하는 경우 내 인스턴스에 상태를 저장하는 것과 동일한 작업이 수행됩니까? 그렇다면 공유 변수를 저장하는 가장 효과적이고 적절한 방법은 무엇입니까? –
데이터 저장소를 사용하고 있지 않으면 '인스턴스에 상태 저장 중'과 다릅니다. 차이점은 언제나 사용할 수있는 서비스를 사용하여 데이터를 디스크에 쓰는 데이터 저장소를 사용할 때, 메모리에 데이터를 저장하는 공유 변수에 쓸 때, 자동 스캐너가 임의로 종료 할 수있는 시스템 인스턴스에있는 경우입니다. 덕분에 –
! 내 코드에서 Google datastore를 구현하는 방법에 대해 약간 혼란 스럽습니다. Node.js에서이 작업을 수행 할 수있는 몇 가지 방법이 있지만 작동하지는 않습니다. –