āĻ•ā§āĻ˛ā§‹āĻ¸ā§āĻŸāĻžāĻ° → āĻ¸āĻšāĻœ āĻ“āĻŸāĻŋāĻĒāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž

āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻĢāĻ˛ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§€āĻ˜ā§āĻ° āĻŦāĻž āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ…āĻ¨ā§āĻ­ā§‚āĻŽāĻŋāĻ• āĻ¸ā§āĻ•ā§‡āĻ˛āĻŋāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ…āĻ¨ā§‡āĻ• āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ˛ā§‹āĻĄ āĻ—āĻĄāĻŧ āĻ•āĻŽāĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ¤āĻŦā§‡ āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ¤ā§āĻšā§āĻ› āĻ˜āĻŸāĻ¨āĻžāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨ā§‹āĻĄ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻœāĻžāĻ¨ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§‡ āĻ•āĻžāĻœā§‡āĻ° āĻšāĻžāĻĒ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤

āĻ•ā§āĻ˛ā§‹āĻ¸ā§āĻŸāĻžāĻ° → āĻ¸āĻšāĻœ āĻ“āĻŸāĻŋāĻĒāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž

āĻāĻŸāĻž āĻāĻ¤ āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻžāĻ¨ āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ erlang, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻāĻ° āĻŽāĻ¨ā§‹āĻ°āĻŽ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻāĻ° āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻšāĻžāĻ‡āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ, āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽ-āĻļā§āĻ°ā§‡āĻŖā§€ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨. āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤ā§āĻšā§āĻ› āĻļā§‹āĻ¨āĻžāĻšā§āĻ›ā§‡:

āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨ā§‹āĻĄā§‡āĻ° āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻāĻŦāĻ‚ āĻŽāĻ¨āĻŋāĻŸāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻžāĻ¸ āĻšāĻšā§āĻ›ā§‡, āĻ¸ā§āĻŦāĻšā§āĻ› [â€Ļ]

āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻāĻ•āĻŸā§ āĻŦā§‡āĻļāĻŋ āĻœāĻŸāĻŋāĻ˛āĨ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ erlang āĻŦāĻŋāĻ•āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯āĻ–āĻ¨ "āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°" āĻŽāĻžāĻ¨ā§‡ āĻļāĻŋāĻĒāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ˛ā§‹āĻšāĻžāĻ° āĻŦāĻžāĻ•ā§āĻ¸, āĻāĻŦāĻ‚ "āĻĄāĻ•āĻžāĻ°" āĻ›āĻŋāĻ˛ āĻ˛āĻ‚āĻļā§‹āĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻļāĻŦā§āĻĻāĨ¤ āĻ­āĻŋāĻ¤āĻ°ā§‡ IP4 āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ…āĻŦā§āĻ¯āĻ•ā§āĻ¤ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ›āĻŋāĻ˛, āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦā§āĻ°ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ‡āĻāĻĻā§āĻ°ā§‡āĻ° āĻ¤āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšāĻŋāĻŦāĻžāĻ¨ā§‹āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ˜āĻŸā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻ—āĻĄāĻŧ āĻ†āĻĒāĻŸāĻžāĻ‡āĻŽ āĻ•āĻ¯āĻŧā§‡āĻ• āĻĻāĻļāĻ•ā§‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¸āĻ•āĻ˛ā§‡āĻ‡ āĻ…āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻĄ āĻāĻŦāĻ‚ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻŦāĻŋāĻ¤āĻ°āĻŖ erlang āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽāĻ¨ā§‡āĻ¸ā§‡āĻ° āĻ¨ā§€āĻ¤āĻŋāĻ¤ā§‡ āĻšāĻ¸ā§āĻ¤āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻžāĻ°ā§‡āĻ° āĻŦāĻžāĻŽ āĻ—ā§‹āĻĄāĻŧāĻžāĻ˛āĻŋāĻ¤ā§‡ āĻ…āĻĻā§ƒāĻļā§āĻ¯ āĻšāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŦāĻ¯āĻŧāĻ˛āĻžāĻ°āĻĒā§āĻ˛ā§‡āĻŸ āĻ•ā§‹āĻĄā§‡āĻ° āĻ—āĻžāĻĻāĻž āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¤āĻ°āĻŖ erlang, āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§‚āĻ˛ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻ¤ā§‡, āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨.

āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯: āĻ†āĻŽāĻŋ āĻ¸āĻšā§‡āĻ¤āĻ¨ āĻ¯ā§‡ āĻ†āĻ›ā§‡ libcluster. āĻāĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤, āĻāĻŸāĻŋāĻ¤ā§‡ āĻāĻ• āĻšāĻžāĻœāĻžāĻ°ā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¤āĻžāĻ°āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ˛ā§‡āĻ–āĻ• āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ–ā§āĻ¯āĻžāĻ¤ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§ā§ˇ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻšāĻ¯āĻŧ, āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ–ā§āĻļāĻŋāĨ¤ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻ•ā§āĻ°āĻŽā§‡, āĻ†āĻŽāĻžāĻ° āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§ āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤ āĻ†āĻŽāĻŋ āĻ¸ā§‡āĻŸāĻ†āĻĒāĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĒā§āĻ¨āĻ°ā§āĻ—āĻ āĻ¨ā§‡āĻ° āĻĨāĻŋāĻ¯āĻŧā§‡āĻŸāĻžāĻ°ā§‡ āĻŦāĻžāĻ‡āĻ°ā§‡āĻ° āĻĻāĻ°ā§āĻļāĻ• āĻšāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¨āĻžāĨ¤

āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž

āĻ†āĻŽāĻžāĻ° āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛ āĻ¤āĻž āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ¨ā§‡āĻŦā§‡ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•āĻŦā§‡:

  • āĻ¨ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ°ā§āĻĄ-āĻ•ā§‹āĻĄā§‡āĻĄ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻ†āĻŦāĻŋāĻˇā§āĻ•āĻžāĻ° āĻ‰āĻ­āĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸ā§āĻŦāĻšā§āĻ› āĻ•āĻžāĻœ erlang;
  • āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŸāĻĒā§‹āĻ˛āĻœāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• (āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¨ā§‹āĻĄ, āĻāĻ–āĻžāĻ¨ā§‡ āĻ¨ā§‹āĻĄ, āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ…āĻ¸ā§āĻĨāĻŋāĻ°āĻ¤āĻž, āĻŦāĻŋāĻ­āĻžāĻœāĻ¨);
  • āĻĻā§€āĻ°ā§āĻ˜ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¨āĻžāĻŽ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻšā§āĻ› āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ :nonode@nohost;
  • āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĄāĻ•āĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĨ¤

āĻĒāĻ°ā§‡āĻ°āĻŸāĻŋāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻ†āĻŽāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ :nonode@nohost, āĻ…āĻĨāĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§ƒāĻ¤ā§āĻ°āĻŋāĻŽāĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ test_cluster_task, āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§ āĻĻā§ŒāĻĄāĻŧāĻžāĻ¤ā§‡ āĻšāĻžāĻ‡ docker-compose up --scale my_app=3 āĻāĻŦāĻ‚ āĻĻā§‡āĻ–ā§āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ•ā§‹āĻ¨ āĻ•ā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĄāĻ•āĻžāĻ°ā§‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ¯ā§‡āĻŽāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻļā§€āĻ˛ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻžāĻ‡ mnesia - āĻ¯āĻ–āĻ¨ āĻŸāĻĒā§‹āĻ˛āĻœāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻĒāĻ°ā§āĻĻāĻžāĻ° āĻ†āĻĄāĻŧāĻžāĻ˛ā§‡ āĻ¤āĻžāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ•āĻŋāĻ• āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ˛āĻžāĻ‡āĻ­ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°ā§‡āĨ¤

āĻŽāĻ  āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻĢāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻšāĻ¤ā§‡ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ›āĻŋāĻ˛ āĻ¨āĻž. āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ°ā§‚āĻĒāĻžāĻ˛ā§€ āĻŦā§āĻ˛ā§‡āĻŸ āĻ¨āĻ¯āĻŧ āĻ¯āĻžāĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ•ā§‡āĻ¸ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻž āĻŦāĻž āĻāĻ•āĻžāĻĄā§‡āĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡ āĻ…āĻ°ā§āĻĨā§‡ āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ•āĻ°āĻž CS āĻāĻ‡ āĻĒāĻĻā§‡ āĻ°āĻžāĻ–ā§āĻ¨āĨ¤ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻĒāĻ°āĻŋāĻŦā§‡āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻ–ā§āĻŦ āĻŦāĻĄāĻŧ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻŦā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§‚āĻ˛ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻ¤āĻ°āĻŖāĻ•ā§ƒāĻ¤ āĻ‡āĻ˛āĻžāĻ¸ā§āĻŸāĻŋāĻ• āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§āĻŦāĻšā§āĻ›āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻžāĨ¤

āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻŽāĻ  āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻĻāĻŋāĻ“ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻāĻŦāĻ‚ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ Cloister.Manager āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻ­āĻžāĻ‡āĻœāĻžāĻ° āĻ—āĻžāĻ›ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ˛ā§‡, āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ config, āĻ¯āĻž āĻĨā§‡āĻ•ā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒāĻĄāĻŧā§‡:

config :cloister,
  otp_app: :my_app,
  sentry: :"cloister.local", # or ~w|n1@foo n2@bar|a
  consensus: 3,              # number of nodes to consider
                             #    the cluster is up
  listener: MyApp.Listener   # listener to be called when
                             #    the ring has changed

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ†āĻ•ā§āĻˇāĻ°āĻŋāĻ• āĻ…āĻ°ā§āĻĨā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻŦā§‹āĻāĻžāĻ¯āĻŧ: āĻŽāĻ  OTP āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ :my_app, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ¸āĻŽā§‚āĻš erlang āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ†āĻŦāĻŋāĻˇā§āĻ•āĻžāĻ° āĻ¨ā§‹āĻĄ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡, āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ¤āĻŋāĻ¨āĻŸāĻŋ, āĻāĻŦāĻ‚ MyApp.Listener āĻŽāĻĄāĻŋāĻ‰āĻ˛ (āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ @behaviour Cloister.Listener) āĻŸāĻĒā§‹āĻ˛āĻœāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒā§‡āĻ¤ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨.

āĻāĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨, āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻ™ā§āĻ—ā§‡ āĻŽāĻ  āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻ•ā§āĻ°āĻŽā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨, āĻāĻ•ā§āĻ¯āĻŽāĻ¤ āĻ¨āĻž āĻĒā§ŒāĻāĻ›āĻžāĻ¨ā§‹ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŽā§‚āĻ˛ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ•ā§‡ āĻŦāĻŋāĻ˛āĻŽā§āĻŦāĻŋāĻ¤ āĻ•āĻ°āĻž (āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤) āĻāĻŸāĻŋ āĻŽā§‚āĻ˛ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡ āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ, āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻ¯āĻ–āĻ¨āĻ‡ āĻŸāĻĒā§‹āĻ˛āĻœāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ (āĻāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•āĻŦā§‡, āĻ•āĻžāĻ°āĻŖ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸āĻ­āĻžāĻŦā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻ¨āĻž), āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻ•ā§‡ āĻĄāĻžāĻ•āĻž āĻšāĻŦā§‡ MyApp.Listener.on_state_change/2. āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻŽā§‡āĻ¸ā§‡āĻœ āĻĒāĻžāĻ‡ āĻ¤āĻ–āĻ¨ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻ•āĻ°āĻŋ %Cloister.Monitor{status: :up}, āĻ¯āĻžāĻ° āĻ…āĻ°ā§āĻĨ: "āĻšā§āĻ¯āĻžāĻ˛ā§‹, āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤"

āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ consensus: 3 āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻ†āĻ°ā§‹ āĻ¨ā§‹āĻĄ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ†āĻļāĻž āĻ•āĻ°āĻ˛ā§‡āĻ“, āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻšāĻŦā§‡ status: :rehashing → status: :up āĻ¨āĻ¤ā§āĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻŦāĻž āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻ•ā§‹āĻ¨ā§‹ āĻ¨ā§‹āĻĄā§‡āĨ¤

āĻŦāĻŋāĻ•āĻžāĻļ āĻŽā§‹āĻĄā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ consensus: 1 и āĻŽāĻ  āĻ¯āĻ–āĻ¨ āĻ¤āĻŋāĻ¨āĻŋ āĻĻā§‡āĻ–ā§‡āĻ¨ āĻ¤āĻ–āĻ¨ āĻ†āĻ¨āĻ¨ā§āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡āĻ¨ :nonode@nohostāĻ…āĻĨāĻŦāĻž :node@hostāĻ…āĻĨāĻŦāĻž :[email protected] - āĻ¨ā§‹āĻĄāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ (:none | :shortnames | :longnames).

āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž

āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻļā§‚āĻ¨ā§āĻ¯ā§‡ āĻ¨āĻ¯āĻŧ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ mnesia. āĻāĻ•āĻ‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĨā§‡āĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ•ā§āĻˇā§‡ āĻ¸āĻšāĻœ on_state_change/2. āĻāĻ–āĻžāĻ¨ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ mnesia āĻĢā§āĻ˛āĻžāĻ‡ āĻ‡āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŽāĻ .

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻŽāĻ  āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŸāĻĒā§‹āĻ˛āĻœāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡ āĻĢāĻŖāĻž āĻ…āĻ§ā§€āĻ¨ā§‡. āĻ†āĻŽāĻ°āĻž āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¨āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ†āĻ—ā§‡ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻœāĻžāĻ¨āĻŋ āĻ•āĻŋāĻ¨āĻž āĻŦāĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ/āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§‡āĻˇā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻšāĻ˛ā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‹āĻĄ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡āĻ‡ āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻŋāĻļā§‡āĻˇ āĻĄāĻ•āĻžāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°ā§‡āĻ° āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡, āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻŦāĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ¨ā§‡āĻ‡āĨ¤ :nonode@nohost. āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨.

āĻ¯āĻĻāĻŋāĻ“ āĻŸāĻĒā§‹āĻ˛āĻœāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻœāĻŸāĻŋāĻ˛ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻŽā§āĻ­āĻŦ MyApp.Listener, āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ•ā§āĻˇāĻĒāĻžāĻ¤āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻŽāĻžāĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻž āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻļā§āĻ§ā§ āĻ‰āĻĒāĻ°ā§‹āĻ•ā§āĻ¤ āĻ¨āĻŋāĻ¨ libcluster, āĻ¯āĻž āĻ†āĻ°āĻ“ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ-āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯, āĻŦāĻž āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¨āĻŋāĻœā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻ‡ āĻ•ā§‹āĻĄ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻĻā§ƒāĻļā§āĻ¯āĻ•ā§‡ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻž āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦā§āĻ¯āĻĨāĻž āĻāĻŦāĻ‚ āĻ•āĻˇā§āĻŸāĻ•āĻ° āĻ•āĻĒāĻŋ-āĻĒā§‡āĻ¸ā§āĻŸ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĻā§ƒāĻļā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤

āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡ āĻŽā§‚āĻ˛ āĻļāĻŦā§āĻĻāĻŸāĻŋ āĻ›āĻŋāĻ˛ "āĻšā§āĻ¯āĻžāĻĒāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻŋāĻ‚!", āĻāĻŦāĻ‚ āĻ‡āĻ¯āĻŧāĻžāĻ¨āĻĄā§‡āĻ•ā§āĻ¸, āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻŋ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻŋ (āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž), āĻ†āĻŽāĻžāĻ•ā§‡ "āĻšā§āĻ¯āĻžāĻĒāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻŋāĻ‚!" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ­ā§‚-āĻ°āĻžāĻœāĻ¨ā§ˆāĻ¤āĻŋāĻ• āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ†āĻ˛ā§‹āĻ•ā§‡ āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻ­āĻžāĻ˛ā§‹ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ…āĻ¸āĻŽā§āĻ­āĻŦāĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨