Etherpad-lite: рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдИрдерд░рдкреИрдб

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЕрдкреНрд░реИрд▓ 2020  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ether/etherpad-lite

рд╣рдо рдИрдерд░рдкреИрдб рдХреЛ рдПрдХ рдмрдбрд╝реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХрд░ рд░рд╣реЗ рдереЗ рдЬрдм рдпрд╣ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛ред рд╣рдо рдХреНрд▓рд╛рдЙрдб рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ (рдПрдЪрдП) рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рддрд▓рд╛рд╢ рд╣реИ рд▓реЗрдХрд┐рди рд╕рд╡рд╛рд▓ рдмрдирд╛ рд╣реБрдЖ рд╣реИ - рдХреНрдпрд╛ рдИрдерд░рдкреИрдб рдХреЛ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдмрдирд╛рдиреЗ рдХреА рдХреЛрдИ рдкрд╣рд▓ рд╣реИ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдЗрд░реНрдж-рдЧрд┐рд░реНрдж рдХреБрдЫ рдореБрджреНрджреЗ рдкрд╣рд▓реЗ рд╣реА рдЙрдард╛рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВред рд╕рдВрднрд╡рддрдГ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдореЗрдВ, рдореБрдЭреЗ рдпреЗ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ:

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

рдЗрд╕ рд╕рдордп рдИрдерд░рдкреИрдб рдХреЛ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкрд╣рд▓ рдирд╣реАрдВ рд╣реИ, рд╣рдо рдЖрдкрдХреЛ рдЗрд╕ рдкрд░ рдиреЗрддреГрддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЦрд╛рдиреЗ рд▓рд╛рдпрдХ рд╣реИред

рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдЬрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╣рдордиреЗ рдереНрд░реЗрдб рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рд┐рдореБрд▓реЗрд╢рди рдкрд░ рд╣рдорд╛рд░реЗ рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рд╕рдВрдЦреНрдпрд╛рдПрдВ (рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЯреВрд▓ рджреЗрдЦреЗрдВ) рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рдЧрднрдЧ рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдЕрдиреНрдп рдмрдбрд╝реЗ рдХреНрд▓рд╛рдЗрдВрдЯ (рдПрдо рдХреЗ рдкреИрдб, 5k рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рддрд┐ рджрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХреЗ рдкрд╛рд╕ рдПрдХ рд╢рд╛рд░реНрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреВрдЖрд░рдПрд▓ рд╡рд╛рд▓реЗ рдкреИрдб рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рджрд┐рдП рдЧрдП рдЯреБрдХрдбрд╝реЗ рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рддреЛ рдкреИрдб a рд╕реЗ рд╕рд░реНрд╡рд░ 1, oz рд╕реЗ рд╕рд░реНрд╡рд░ 2 рдФрд░ рдХреЛрдИ рдЕрдиреНрдп рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд░реНрдг #!'; рдЖрджрд┐ рд╕реЗ рд╕рд░реНрд╡рд░ 3. рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХрд╛ рдЕрдкрдирд╛ рдмреИрдХрдПрдВрдб рднреА рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдХрд╣рд╛, рд╣рд╛ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ ... :)

рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рд╣рдо рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдереНрд░реЗрдб рдкрд░ рджрд┐рдП рдЧрдП рдкреИрдб рдХреЗ рд▓рд┐рдП рд╕рднреА рдСрдкрд░реЗрд╢рдирд▓ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдСрдкрд░реЗрд╢рдВрд╕ рдХреЛ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрдо рд░рдЦ рд╕рдХреЗрдВред 5 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдУрдЯреА рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рд╡рд╛рд▓реЗ 10 рд╕рд░реНрд╡рд░ рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡рд┐рд▓рдВрдмрддрд╛ рдФрд░ рдирд╛рдЬреБрдХрддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдЧрд╛ред рддреЛ рдЖрдЦрд┐рд░рдХрд╛рд░ рдореЗрд░реА рд░рд╛рдп рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рд╣реЛ рдЧрдП рд╣реИрдВ рддреЛ рднреА рдЖрдк рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкреИрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдлрд┐рд░ рднреА, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореБрдЭрд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ / рдПрдЪрдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдЗрд╕реЗ рджреЗрдЦреЗ рд╣реБрдП 5+ рд╕рд╛рд▓ рд╣реЛ рдЧрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд╛рди рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдмрд┐рд▓реНрдХреБрд▓ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрддреНрд╕реБрдХ рд╣реВрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛

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

рдЗрд╕ рд╕рдордп рдИрдерд░рдкреИрдб рдХреЛ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкрд╣рд▓ рдирд╣реАрдВ рд╣реИ, рд╣рдо рдЖрдкрдХреЛ рдЗрд╕ рдкрд░ рдиреЗрддреГрддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЦрд╛рдиреЗ рд▓рд╛рдпрдХ рд╣реИред

рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдЬрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╣рдордиреЗ рдереНрд░реЗрдб рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рд┐рдореБрд▓реЗрд╢рди рдкрд░ рд╣рдорд╛рд░реЗ рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рд╕рдВрдЦреНрдпрд╛рдПрдВ (рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЯреВрд▓ рджреЗрдЦреЗрдВ) рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рдЧрднрдЧ рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдЕрдиреНрдп рдмрдбрд╝реЗ рдХреНрд▓рд╛рдЗрдВрдЯ (рдПрдо рдХреЗ рдкреИрдб, 5k рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рддрд┐ рджрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХреЗ рдкрд╛рд╕ рдПрдХ рд╢рд╛рд░реНрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреВрдЖрд░рдПрд▓ рд╡рд╛рд▓реЗ рдкреИрдб рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рджрд┐рдП рдЧрдП рдЯреБрдХрдбрд╝реЗ рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рддреЛ рдкреИрдб a рд╕реЗ рд╕рд░реНрд╡рд░ 1, oz рд╕реЗ рд╕рд░реНрд╡рд░ 2 рдФрд░ рдХреЛрдИ рдЕрдиреНрдп рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд░реНрдг #!'; рдЖрджрд┐ рд╕реЗ рд╕рд░реНрд╡рд░ 3. рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХрд╛ рдЕрдкрдирд╛ рдмреИрдХрдПрдВрдб рднреА рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдХрд╣рд╛, рд╣рд╛ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ ... :)

рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рд╣рдо рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдереНрд░реЗрдб рдкрд░ рджрд┐рдП рдЧрдП рдкреИрдб рдХреЗ рд▓рд┐рдП рд╕рднреА рдСрдкрд░реЗрд╢рдирд▓ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдСрдкрд░реЗрд╢рдВрд╕ рдХреЛ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрдо рд░рдЦ рд╕рдХреЗрдВред 5 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдУрдЯреА рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рд╡рд╛рд▓реЗ 10 рд╕рд░реНрд╡рд░ рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡рд┐рд▓рдВрдмрддрд╛ рдФрд░ рдирд╛рдЬреБрдХрддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдЧрд╛ред рддреЛ рдЖрдЦрд┐рд░рдХрд╛рд░ рдореЗрд░реА рд░рд╛рдп рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рд╣реЛ рдЧрдП рд╣реИрдВ рддреЛ рднреА рдЖрдк рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкреИрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдлрд┐рд░ рднреА, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореБрдЭрд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ / рдПрдЪрдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдЗрд╕реЗ рджреЗрдЦреЗ рд╣реБрдП 5+ рд╕рд╛рд▓ рд╣реЛ рдЧрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд╛рди рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдмрд┐рд▓реНрдХреБрд▓ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрддреНрд╕реБрдХ рд╣реВрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЗрд╕реЗ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдереНрд░реЗрдб рдкрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдХреЗ рдкреАрдЫреЗ рддрд░реНрдХ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕рдордЭрддрд╛ рд╣реВрдВред рдЕрднреА рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реНрдЯреЗрдЯрдлреБрд▓ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рд┐рд░реНрдл рдПрдХ POC рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЕрднреА рднреА рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдСрд░реНрдЧрдирд╛рдЗрдЬреЗрд╢рди рдмрд╛рдп-рдЗрди рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рд╣реЛрдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реВрдВред

рдПрдЪрдП рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмрд╕ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдХреНрдпреЛрдВ рдорд╛рдВрдЧ рд░рд╣рд╛ рд╣реВрдВред рд╣рдо рдПрдХ рдЙрджреНрдпрдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓рддрд╛ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред HA рд╣рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдЪреНрдЫреЗ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЬреАрд╡рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдХрдард┐рди рд╣реИ рдЗрд╕рд▓рд┐рдП рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рд╣рд░ рдЯреБрдХрдбрд╝рд╛ рдорджрдж рдХрд░рддрд╛ рд╣реИ! рдФрд░ рди рдХреЗрд╡рд▓ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЗ рд▓рд┐рдП ... рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкрдХреНрд╖ рдиреЗ рдЬрд▓реНрджреА рд╕реЗ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдПрдЪрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдореВрд▓реНрдп рджреЗрдЦрддрд╛ рд╣реИред рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЗ рд╣рд╛рдереЛрдВ рдХреЛ рддрджрд░реНрде рдХрд╛рд░реНрдп рдФрд░ рдЕрдЧреНрдирд┐рд╢рд╛рдордХ рд╕реЗ рдореБрдХреНрдд рдЫреЛрдбрд╝рдиреЗ рд╕реЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирдП рдореВрд▓реНрдп рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдзрдиреНрдпрд╡рд╛рдж; рд╣рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░рддреЗ рд░рд╣реЗрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдирд╛рдкрд╕рдВрдж/рдХреНрд╡рд┐рд░реНрдХ/рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╢реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдПрдПрд╕рдкреАрдПрдкреА рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред

рдирдорд╕реНрддреЗ: рд▓рд╣рд░:

рд╣рдордиреЗ (OpenFUN) etherpad-lite рд▓рд┐рдП рдПрдХ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдбреЙрдХрд░ рдЫрд╡рд┐ рд╡рд┐рдХрд╕рд┐рдд рдХреА рд╣реИ: https://github.com/openfun/etherpad-docker

рд╣рдо рдЗрд╕ рдЫрд╡рд┐ рдХреЛ k8s (рдУрдХреЗрдбреА) рдкрд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдареАрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рджреЗрдЦреЗрдВ https://pad.education), рд▓реЗрдХрд┐рди рд╣рдо рдЕрдкрдиреЗ рдкреЙрдбреНрд╕ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдореБрджреНрджреЛрдВ рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реИрдВред рд╣рдордиреЗ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЗрдбрд┐рд╕-рдЖрдзрд╛рд░рд┐рдд рдЕрдореВрд░реНрдд рдкрд░рдд рдХрд╛ рдорд╕реМрджрд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рднреА рдШрдЯрдирд╛рдПрдВ рдЗрд╕ рдЕрдореВрд░реНрдд рдкрд░рдд рдореЗрдВ рдкрд╛рд░рдЧрдорди рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИрдВ ... рдЖрдк рд╣рдорд╛рд░реЗ рдкреАрдУрд╕реА рдХреЛ рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/openfun/etherpad- рдбреЛрдХрд░/рдкреБрд▓/8

@ottomattas рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ k8s рд╕рдВрджрд░реНрдн рдореЗрдВ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рд╣рдо рд╕реЗрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: рдкреНрд░рд╛рд░реНрдердирд╛ рдХрд░реЗрдВ:

@JohnMcLear рд╕реЙрдХреЗрдЯ. io-redis рдПрдбреЙрдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рд▓рд╛рд╣ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛрдЧреАред :рдкреНрд░рд╛рд░реНрдердирд╛:

Pad.education рдкреИрдб рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдЕрдЧрд░ рдореИрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рддреЛ рдЦреБрд╢реА рд╣реЛрдЧреА, рдЖрдкрдХрд╛ рд╢реЗрдбреНрдпреВрд▓ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?

Pad.education рдкреИрдб рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдирд╣реАрдВ, рдпрд╣ рдкреИрдб рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ! рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдИрдерд░рдкреИрдб рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╣рдо "рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╡реЗ" рдХреЛ рд╕реНрдХреЗрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (_i.e._ рдРрдк рдХреА рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝рдХрд░ рдФрд░ рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рд╛рде рд░реВрдЯ рдЕрдиреБрд░реЛрдз)ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ websockets рдХреЗ рдХрд╛рд░рдг рдерд╛, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдордиреЗ рдПрдХ socket.io-redis рдПрдбреЗрдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рдИрдерд░рдкреИрдб рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдмрдВрдзрд╛ рди рд╣реЛред рд▓реЗрдХрд┐рди, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдШрдЯрдирд╛рдПрдВ рдЗрд╕ рд░реЗрдбрд┐рд╕ рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рдирд╣реАрдВ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИрдВ, рдФрд░, рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдпреВ [1], рд╣рдо рдЖрд╡реЗрджрди рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдореИрдВ рд╕рд╣реА рд╣реВрдБ?

рдЕрдЧрд░ рдореИрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рддреЛ рдЦреБрд╢реА рд╣реЛрдЧреА, рдЖрдкрдХрд╛ рд╢реЗрдбреНрдпреВрд▓ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдирдИ рд╕реЗрд╡рд╛ рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ (рд╕рдм рдХреБрдЫ рдареАрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ), рд▓реЗрдХрд┐рди рд╣рдо рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рд░реЗрдбрд┐рд╕ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдПрдбреЙрдкреНрдЯрд░ рдПрдХ рдореГрдд рдЕрдВрдд рд╣реИ?

рдпрджрд┐ рдИрдерд░рдкреИрдб рдХреЛ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдмрдирд╛рдирд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдРрдк рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдиреНрдп рд╡реИрдХрд▓реНрдкрд┐рдХ рдпреЛрдЬрдирд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдмрддрд╛рдП рдЧрдП рд╢рд╛рд░реНрдкрд┐рдВрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХрд░реАрдм рд╣реИрдВ [2]ред рдореИрдВ рдРрдк рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдХреБрд╢рд▓/рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдлреАрдбрдмреИрдХ рдПрдХрддреНрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

[1] https://github.com/ether/etherpad-lite/issues/3680#issuecomment -566809617
[2] https://github.com/ether/etherpad-lite/issues/3848#issuecomment -610942249

@jmaupetit , рдЕрднреА, рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рд╣рдореЗрдВ рдПрдЪрдП рдФрд░ рд▓реЛрдб-рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВ рдИрдерд░рдкреИрдб рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕реЗ 2 рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд╣реБрдВрдЪ рд╡рд┐рддрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рдЧрднрдЧ 5,000 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╕рд╛рде рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╢рд╛рдпрдж рдЕрдзрд┐рдХред 2 рдИрдерд░рдкреИрдб рд╕рд░реНрд╡рд░ рдПрдХ рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рдлрд▓-рдУрд╡рд░ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдлрд╝реЙрд▓-рдмреИрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрд╛ред

@ рдЬреЙрди рдореИрдХрд▓рд┐рдпрд░

рд╣рдорд╛рд░реЗ рдЕрдиреНрдп рдмрдбрд╝реЗ рдХреНрд▓рд╛рдЗрдВрдЯ (рдПрдо рдХреЗ рдкреИрдб, 5k рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рддрд┐ рджрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХреЗ рдкрд╛рд╕ рдПрдХ рд╢рд╛рд░реНрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреВрдЖрд░рдПрд▓ рд╡рд╛рд▓реЗ рдкреИрдб рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рджрд┐рдП рдЧрдП рдЯреБрдХрдбрд╝реЗ рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рддреЛ рдкреИрдб a рд╕реЗ рд╕рд░реНрд╡рд░ 1, oz рд╕реЗ рд╕рд░реНрд╡рд░ 2 рдФрд░ рдХреЛрдИ рдЕрдиреНрдп рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд░реНрдг #!'; рдЖрджрд┐ рд╕реЗ рд╕рд░реНрд╡рд░ 3. рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХрд╛ рдЕрдкрдирд╛ рдмреИрдХрдПрдВрдб рднреА рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдХрд╣рд╛, рд╣рд╛ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ ... :)

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

@jgribonvald рдпрд╣рд╛рдВ рдкреВрд░реНрдг рдЕрд╕реНрд╡реАрдХрд░рдг: рдореИрдВ рдпрд╣ рдХрд╛рдо рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рджреИрдирд┐рдХ рджрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдУрдкрди рд╕реЛрд░реНрд╕ рдХреА рднрд╛рд╡рдирд╛ рдХреЗ рднреАрддрд░ рдФрд░ рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рд╕рдореБрджрд╛рдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд░реНрдирд┐рд╢ рд╡реАрд╕реАрдПрд▓ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝-рддреЛрдбрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╢реЗрдпрд░рд┐рдВрдЧ

    vcl 4.0;

    backend static {
        .host = "staticcontent.etherpad.com";
        .port = "9001";
        .connect_timeout = 6000s;
        .first_byte_timeout = 6000s;
        .between_bytes_timeout = 6000s;
    }

    backend ep1 {
        .host = "192.168.0.1";
        .port = "9001";
        .connect_timeout = 6000s;
        .first_byte_timeout = 6000s;
        .between_bytes_timeout = 6000s;
    }

    backend ep2 {
        .host = "192.168.0.2";
        .port = "9001";
        .connect_timeout = 6000s;
        .first_byte_timeout = 6000s;
        .between_bytes_timeout = 6000s;
    }

    sub vcl_recv {
           if (req.url == "^/static/*$") {
              set req.backend_hint = static;
           } else {
        set req.backend_hint = vm1;
        }

   .. logic for socket header stickiness [ secret sauce I can't copy/pasta (see below for understanding)]

    sub vcl_recv {
           if (req.url == "^/[a-g]/*$") {
              set req.backend_hint = ep1;
           }

    sub vcl_recv {
           if (req.url == "^/[h-z]/*$") {
              set req.backend_hint = ep2;
           }

рдЖрдк рд╢рд╛рдпрдж req.http.header рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреБрдирд░реНрд▓реЗрдЦрди рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЗ рд▓рд┐рдП рдкреИрдбрдЖрдИрдб рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпреВрд░реА рд╣рдореЗрд╢рд╛ /socket.io/ ред рд╣реЗрдбрд░ рдореЗрдВ padId рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдИрдерд░рдкреИрдб рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪрд┐рдкрдХрд╛

рдХрд┐рд╕реА рднреА рдХреБрдВрдЬреА/рдореВрд▓реНрдп рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдкреИрдб рд╕реНрддрд░ рдХреА рд░реВрдЯрд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдкреБрдирд░реНрд▓реЗрдЦрди рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдореЗрдВ рд╕рд░реНрд╡рд░<>padId [1 рд╕реЗ 1 рд╕рдВрдмрдВрдз] рдХрд╛ рдПрдХ рд╕рд╛рдЭрд╛ (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рддреНрд╡рд░рд┐рдд рдкрд╣реБрдВрдЪ) рд╕реНрдерд╛рди рд╣реЛрдЧрд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд░реВрдЯрд┐рдВрдЧ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЗрд╕ рд╕рдВрдмрдВрдз рд╕реЗ рдЕрд╡рдЧрдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреИрдбрдЖрдИрдбреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд░реВрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдиреНрдп рдмрдбрд╝реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рд╣реИ, рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рднреА рдкреИрдб рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдЕрднреА рднреА рддреЗрдЬ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрддрд┐рд╢реАрд▓ рд╣реИ (рдЖрдИрдИ рдкреИрдб рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рднреМрдЧреЛрд▓рд┐рдХ рдирд┐рдХрдЯрддрд╛), рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ Google рдХрд░рддрд╛ рд╣реИред

рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдирд╛

рдИрдерд░рдкреИрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд░реЛрд▓ рдЖрдЙрдЯ рдХреА рднрд┐рдиреНрдирддрд╛ (рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐) рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ devops / sys рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдорд┐рддреНрд░реЛрдВ рдХреЛ рдореМрдЬреВрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди рдХреЛ рдЙрд╕ рдкреИрдорд╛рдиреЗ рдкрд░ рд╣рд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реМрдВрдкрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдЖрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕реЗ рдИрдерд░рдкреИрдб рдореЗрдВ рдмреЗрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@JohnMcLear рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ

рдпрд╣ рднреА рджреЗрдЦреЗрдВ https://github.com/ether/etherpad-lite/issues/3335

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

ljoets picture ljoets  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kernelfreak picture kernelfreak  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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