私は 3 つの dyno を使用する Heroku アプリを持っています。1 つの Web と 2 つのワーカー dyno です。ダイノ間通信には memcachier を選択します。すべては nodejs を使用して実装されます。
Web-Dyno は memcacher サービスに問題なく接続でき、魅力的に動作しますが、worker dyno に接続しようとすると失敗し、TCP 接続がリセットされます。
MemJS: Server <mc5.dev.ec2.memcachier.com:11211> failed after (2) retries with error - write ECONNRESET
サービスに接続する方法は、Web-Dyno で既に機能している方法と同じです。
問題はどこだ?
このコード:
var MemJS = require('memjs').Client,
memjs = MemJS.create();
setInterval(function () {
memjs.set('test', 'test');
memjs.get('test', function (err, buf) {
if (err)
console.log('ERROR with the damn memcache service ' + err);
else
console.log('Memcache service working: ' + buf.toString());
});
}, 5000);
web-dyno では動作しますが、worker-dyno では動作しません。