Node-redis: рдкреБрдирд░реНрдирд┐рдорд╛рдг рдХреЗ рдмрд╛рдж рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдЬреБрд▓ре░ 2017  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: NodeRedis/node-redis

рдиреЛрдб_рд░реЗрдбрд┐рд╕ : 2.7.1
рд░реЗрдбрд┐рд╕ : 3.2
рдордВрдЪ : рдЕрдореЗрдЬрд╝реЕрди рд▓рд╛рдЗрдирдХреНрд╕
рд╡рд┐рд╡рд░рдг:
рдЬрдм Redis 'рд╕реНрдиреИрдкрд╢реЙрдЯ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ рд░реЗрдбрд┐рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реЗ рдЕрдм рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд░реЗрдбрд┐рд╕-рдХреНрд▓реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ SAVE рдХрдорд╛рдВрдб рдЬрд╛рд░реА рдХрд░рдХреЗ рдЗрд╕реЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЬреЗ рдПрд╕

const redis = require('redis');
const redisClient = redis.createClient({
  host: config.redisEndpoint,
  port: config.redisPort,
});

redisClient.on('connect', () => {
  console.log('Connected to Redis');
  console.log('subscription_set:', redisClient.subscription_set);
});

redisClient.on('reconnecting', (stats) => {
  console.log('Reconnecting to Redis', stats);
});

redisClient.on('error', (error) => {
  console.log('Failed to connect to Redis: ', error);
});

redisClient.on('subscribe', (channel, count) => { // eslint-disable-line no-unused-vars
  console.log('Subscribed to: ', channel, count);
});

redisClient.on('message', (channel, message) => { // eslint-disable-line no-unused-vars
  console.log('Received from: ', channel, message);
});

redisClient.subscribe('test');

рд▓реЙрдЧреНрд╕

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдиреЗрдХреНрдЯ

info: Connected to Redis
info: subscription_set:
info: Subscribed to:  test 1

Redis-cli рдореЗрдВ SAVE рдХрдорд╛рдВрдб рдЬрд╛рд░реА рдХрд░рдирд╛

info: Error: Redis connection to 34.213.3.19:6379 failed - read ECONNRESET
info: Reconnecting to Redis delay=983, attempt=4, code=ECONNRESET, errno=ECONNRESET, syscall=connect, address=127.0.0.1, port=6379, total_retry_time=1118, times_connected=1
info: Connected to Redis
info: subscription_set: subscribe_test=test
info: Subscribed to:  test 1

рдпрд╣ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдЕрдм рдЪреИрдирд▓ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЛрдИ рднреА рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВ рдпрд╛ рдХреГрдкрдпрд╛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдареАрдХ рд╣реИ, рдЕрдВрдд рдореЗрдВ рдордЬрд╝рдмреВрддреА рд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд╣реИрдВ:

  • redis 3.2.0 - tcp-keepalive 0 рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
  • рдПрдХ рдЪреИрдирд▓ рд╕реЗрдЯрдЕрдк рдХрд░реЗрдВ
  • рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдФрд░ рдЪреИрдирд▓ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ
  • 2 рдШрдВрдЯреЗ рдФрд░ 1 рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ

рдЖрдк рдЬреЛ рджреЗрдЦреЗрдВрдЧреЗ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рд░ 2 рдШрдВрдЯреЗ (рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП) рдПрдХ ECONNRESET рддреНрд░реБрдЯрд┐ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╕реЙрдХреЗрдЯ рдЕрднреА рднреА рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдЦреБрд▓рд╛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдиреЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдиреЗ рдЗрд╕рдХрд╛ рдПрдХ рд╕рдВрджрд░реНрдн рдЦреЛ рджрд┐рдпрд╛ рд╣реЛ рдФрд░ рдПрдХ рдирдпрд╛ рд╕реЙрдХреЗрдЯ рдЦреЛрд▓рд╛ рд╣реЛ? рд░рд╛рддреЛрдВ рд░рд╛рдд рдореБрдЭреЗ 1 рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд╕рдВрдж рдерд╛ рдЬреЛ рдкреНрд░рддрд┐ 2 рдШрдВрдЯреЗ рдмреНрд▓реЙрдХ рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрдм рд░реЗрдбрд┐рд╕-рдХреНрд▓реА рд╕реЗ CLIENT LIST рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рднреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреБрди: рдХрдиреЗрдХреНрдЯ рд╣реЛ рд░рд╣реЗ рдереЗ рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рдереЗред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХреВрдмрдбрд╝ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рд╣рд░ рдзрдХреЗрд▓рд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкреБрд░рд╛рдиреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдирдпрд╛ рдирд╣реАрдВ рд╣реИ ... рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдХреВрдмрдбрд╝ рд╣реИред

рдЕрдм, рдореИрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдиреЛрдб_реНрд░реЗрдбрд┐рд╕ рдмрдЧ рд╣реИ рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдмрдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдпрд╣ рдЧрд▓рдд рдЬрдЧрд╣ рд╣реИ рддреЛ рдмрд╕ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рдХреЗ рдЦреБрд╢ рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛ рдпрд╛ рд╕реАрдорд┐рдд рд╕рдордп рдХреЗ рд╕рд╛рде рдХрджрдо рдмрдврд╝рд╛рдПрдЧрд╛ред

рдлрд┐рдХреНрд╕ рдХреЛ tcp-keepalive 300 рд╕реЗрдЯ рдХрд░рдирд╛ рдерд╛ рдЬреЛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рдХреНрд░рд┐рдп рд░рдЦрддрд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдЯрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@BridgeAR @iamjem # 1249 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдЖрдкрдХреЗ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рдЕрднреА рддрдХ рдЗрд╕реЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ рд╣реВрдБред рдЬрдм рдореИрдВ redis-cli рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ SAVE рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдХрдиреЗрдХреНрд╢рди рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдЬрдм рдореИрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд░реЗрдбрд┐рд╕ рд╕рд░реНрд╡рд░ рдХреЛ рдмрдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╕рдВрджреЗрд╢ рдареАрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдореИрдХ рдкрд░ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕реЗ рд▓рд┐рдирдХреНрд╕ рдкрд░ рднреА рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛

рд╣рдореНрдордо ... рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдпрд╣ рд╕реНрд░реЛрдд рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдЯреЙрдХ рд░реЗрдбрд┐рд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рд╣реЛ рд░рд╣рд╛ рдерд╛ред рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рдЬреЛ рдореИрдВрдиреЗ рдмрджрд▓рд╛, рд╡рд╣ рдерд╛ рджреВрд░рд╕реНрде рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ред рдореИрдВ рдЬрд▓реНрдж рд╣реА рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред @ рдЬреЗрдбреЗрдЧрд░

@jdegger рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд AWS рдореЗрдВ рдлрд┐рд░ рд╕реЗ

рдареАрдХ рд╣реИ, рдЕрдВрдд рдореЗрдВ рдордЬрд╝рдмреВрддреА рд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд╣реИрдВ:

  • redis 3.2.0 - tcp-keepalive 0 рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
  • рдПрдХ рдЪреИрдирд▓ рд╕реЗрдЯрдЕрдк рдХрд░реЗрдВ
  • рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдФрд░ рдЪреИрдирд▓ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ
  • 2 рдШрдВрдЯреЗ рдФрд░ 1 рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ

рдЖрдк рдЬреЛ рджреЗрдЦреЗрдВрдЧреЗ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рд░ 2 рдШрдВрдЯреЗ (рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП) рдПрдХ ECONNRESET рддреНрд░реБрдЯрд┐ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╕реЙрдХреЗрдЯ рдЕрднреА рднреА рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдЦреБрд▓рд╛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдиреЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдиреЗ рдЗрд╕рдХрд╛ рдПрдХ рд╕рдВрджрд░реНрдн рдЦреЛ рджрд┐рдпрд╛ рд╣реЛ рдФрд░ рдПрдХ рдирдпрд╛ рд╕реЙрдХреЗрдЯ рдЦреЛрд▓рд╛ рд╣реЛ? рд░рд╛рддреЛрдВ рд░рд╛рдд рдореБрдЭреЗ 1 рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд╕рдВрдж рдерд╛ рдЬреЛ рдкреНрд░рддрд┐ 2 рдШрдВрдЯреЗ рдмреНрд▓реЙрдХ рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрдм рд░реЗрдбрд┐рд╕-рдХреНрд▓реА рд╕реЗ CLIENT LIST рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рднреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреБрди: рдХрдиреЗрдХреНрдЯ рд╣реЛ рд░рд╣реЗ рдереЗ рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рдереЗред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХреВрдмрдбрд╝ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рд╣рд░ рдзрдХреЗрд▓рд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкреБрд░рд╛рдиреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдирдпрд╛ рдирд╣реАрдВ рд╣реИ ... рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдХреВрдмрдбрд╝ рд╣реИред

рдЕрдм, рдореИрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдиреЛрдб_реНрд░реЗрдбрд┐рд╕ рдмрдЧ рд╣реИ рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдмрдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдпрд╣ рдЧрд▓рдд рдЬрдЧрд╣ рд╣реИ рддреЛ рдмрд╕ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рдХреЗ рдЦреБрд╢ рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛ рдпрд╛ рд╕реАрдорд┐рдд рд╕рдордп рдХреЗ рд╕рд╛рде рдХрджрдо рдмрдврд╝рд╛рдПрдЧрд╛ред

рдлрд┐рдХреНрд╕ рдХреЛ tcp-keepalive 300 рд╕реЗрдЯ рдХрд░рдирд╛ рдерд╛ рдЬреЛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рдХреНрд░рд┐рдп рд░рдЦрддрд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдЯрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@ рд╢рдорджреЛ

рд╣рдорд╛рд░рд╛ рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ ECONNRESET рддреНрд░реБрдЯрд┐ рд╣рд░ 2 рдШрдВрдЯреЗ рдореЗрдВ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ tcp-keepalive рдХреА рдЬрд╛рдБрдЪ рдХреА, рдпрд╣ 300 рд╣реИ

CONFIG GET tcp-keepalive
1) "tcp-keepalive"
2) "300"
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

abhaygarg picture abhaygarg  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Stono picture Stono  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Atala picture Atala  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

yuany picture yuany  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

twappworld picture twappworld  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ