Diary Spirit @дневники: изнутри

среда, 16 мая 2018

Администратор

11:57 Финансовый отчет за месяц
Отчет за октябрь 2019

Доход сайта в октябре — 451 579 руб (на 33 677 руб больше, чем в сентябре), в том числе:
    145 185 руб — от рекламы (больше на 12 381 руб)
    306 394 руб — переводы пользователей (больше на 21 296 руб).

Расходы октября больше сентябрьских на 20 691 руб — 464 260 руб.
В том числе: ФЗП — 349 687 руб; хостинг и трафик — 63 868 руб; текущие расходы — 12 358 руб; "Коробочка храбрости" — 5 000 руб; налог УСН за третий квартал 2019 — 33 348 руб.
В октябре превышение расходов над доходами составило 12 681 руб.



Сентябрь 2019

Август 2019

Июль 2019

Июнь 2019

Май 2019

Апрель 2019

Март 2019

Февраль 2019

Январь 2019

2018 год

2017 год
 
 
URL
Смена караула иногда происходит внутри часовых.
http://www.gordon.ru/discus/messages/board-topics.html
http://www.donotenter.com/cool/sign...ts_of_nots.html ...
Побывал как-то в трапезной буддийского монастыря. Крайне ...
Я не ваш Ре@ниматор и нечей. Свой собственный. Персональн...
Смерть - это всего лишь продолжение жизни. Иначе люди не ...

01.08.2018 в 08:08

01.08.2018 в 08:08
Heavy Rain, я просто на нее особо внимания не обращала, ну обычный дайри-глюк, сам пройдет.)))
Больше бесили раздваивающиеся комментарии или когда отправляешь коммент, а он не высвечивается.))) И только потом отвисает.
URL

01.08.2018 в 08:21

01.08.2018 в 08:21
maskarad pluton, Больше бесили раздваивающиеся комментарии или когда отправляешь коммент, а он не высвечивается.))) И только потом отвисает.
а было ещё одновременно - и ошибка 51, и дублирующиеся комментарии. то есть, комментарий уже отправился, как оказалось, но в то же время тебе вылезла ошибка 51 о том, что надо попробовать позже. сейчас такого нет и я даже жалею об этом, раньше можно было проверить в соседней вкладке, есть ли комментарий и не долбиться больше, а теперь его там нету! а ошибка есть XD
URL

01.08.2018 в 15:15

01.08.2018 в 15:15
Я, кстати, думала, это интернет так икает. У меня такое же бывает и при отправке во вконтакте, и даже внезапно в скайпе, хотя он через хитрый поток работает. Только табличка с попробуями не высвечивается.
URL

01.08.2018 в 15:49

01.08.2018 в 15:49
Для статистики. Проблема с задвоением комментариев пропала больше, чем полгода назад, собственно, тогда же, когда и было сообщено, что с ней разбираются/разобрались.
URL

01.08.2018 в 15:55

01.08.2018 в 15:55
Nightday, не совсем пропала, у некоторых была и после этого. и в некоторых случаях это точно не было двойное нажатие.
но стала появляться гораздо реже, всё верно.
URL

01.08.2018 в 16:04

01.08.2018 в 16:04
Heavy Rain, постараюсь подробно объяснить, что там происходит, почему появляется 51 ошибка или дублируются комментарии.

Иногда дублирование комментариев получается из-за того, что пользователь, не дождавшись появления комментария, нажимает кнопку "Отправить" второй раз. Но иногда — по причине до конца нам не понятной.

Дело в том, что имеется, судя по всему, какая-то ошибка в системе межсерверного взаимодействия. У нас в структуре есть один сервер-фронтенд и несколько серверов-бекендов. С пользователями общается только фронтэнд, бэкэнды работают с базой. Получив от пользователя запрос на добавление комментария, фронтэнд передает запрос одному из бекэндов и держит соединения с юзером и бэкэндом. Бэкэнд, обработав запрос и записав комментарий в базу данных, сообщает об этом фронтэнду, а тот передает этот ответ пользователю.

В этом месте есть какой-то глюк (не нашего ПО, а на уровне общения системы запросов ngnix фронтэнда и php бэкэнда), который проявляется в том что фронтэнд, не отпуская пользователя и не дождавшись ответа от бэкэнда, обрывает связь с последним и повторно делает запрос другому серверу-бекэнду. Ответ на запрос первого бэкэнда фронтэнд забывает и уже не ждет. Получив запрос на запись в базу, второй бекэнд выполняет его записывает комментарий. При этом, мы даже не знаем, сохранил ли комментарий первый бэкэнд и по какой причине фронтэнд решил повторить запрос другому бэкэнду. По этой же причине (как и после нескольких нажатий пользователем кнопки "Отправить"), комментарий мог дублироваться не два, а несколько раз, если фронтэнд аналогичным образом разрывал связь с бэкэндами второй раз, третий, четвертый... и продолжал дублировать задания на добавление комментария.

Так было раньше, пока мы даже не подозревали, что такие ситуации могут происходить и параллельный процесс не отслеживали. Каждый из бэкэндов писал комментарии в базу, получались дубли даже при однократном нажатии пользователем кнопки "Отправить".

Весной мы доработали этот механизм, вставив проверку: когда инициируется процесс записи комментария, бэкенд выставляет флаг "Этот комментарий пишу я". Этот флаг доступен остальным бэкэндам. После того как фронтэнд внезапно разорвет связь с первым бэкэндом, пошлет этот же запрос другому бэкэнду, первый, как было сказано, уже не имеет связи с фронтендом и не может ему сообщить, что комент записан. Когда второй бэкенд получает запрос на добавление в базу, он проверяет флаги — не пишет ли этот комментарий другой бэкэнд и, если увидит "флаг", то сам не его записывает до появления другого сигнального флага — "этот комментарий записан". Тогда он просто извещает фронтенд, поскольку только он имеет с ним связь, о записи комментария первым бэкэндом, чтобы тот сообщил о добавлении комментария пользователю.

Вот я подробно все описал по этой ошибке.
Таким образом, вроде бы, исключили дублирование комментариев, но не исключили ожидание вторым бэкэндом флага от первого бэкэнда. Именно это ожидание, пользователь и видит — комментарий добавляется очень долго либо истекает лимит времени на ожидание ответа — ошибка 51. И мы не знаем, что там с ним происходит.
Мы не утверждаем, что теперь все исправлено и работает как надо. Сами видите после объяснения: то, что мы сделали — это, что называется, "костыль" — мы его быстро подставили и "оно стоит". Нам нужно сейчас понять — исчезла ли эта проблема совсем или только для основной части случаев, а для каких-то осталась. Существуют ведь и другие пути решения, другими средствами. Но они потребуют времени на доработку. Когда проблему можно воспроизвести, то ошибку можно проследить, найти и исправить. А когда она у нас не возникает, то непонятно, где что искать — на это уйдет уйма времени без гарантии результата, при этом все развитие сайта остановится.

---

Вообще говоря, не там мы это обсуждаем, через какое-то время трудно будет найти.
URL

01.08.2018 в 16:50

01.08.2018 в 16:50
Heavy Rain, я говорила про себя, у меня она, к счастью, полностью пропала :)

нос, о, спасибо за подробное объяснение, пойду сохраню в ссылочки.
URL

01.08.2018 в 16:52

01.08.2018 в 16:52
нос, постараюсь подробно объяснить, что там происходит, почему появляется 51 ошибка или дублируются комментарии.
спасибо большое за объяснения.
то есть, пока ко всему прочему известно, что ошибка 51 возникает при большой нагрузке. а ещё не у всех пользователей сразу, может у одних всё работать корректно, а у других - хрена лысого.
надеюсь однажды всё-таки удастся с этим разобраться.

Вообще говоря, не там мы это обсуждаем, через какое-то время трудно будет найти.
ничего, я себе сохраню как шпаргалку. ))
URL

01.08.2018 в 19:17

01.08.2018 в 19:17
вот читаю всё это и вспоминается что почти 10 лет назад был страаашный монстр "рассинхронизация" (если не ошибаюсь), который был виной многого непонятного на тот момент :-D
URL

02.08.2018 в 01:09

02.08.2018 в 01:09
вот читаю всё это и вспоминается что почти 10 лет назад был страаашный монстр "рассинхронизация"
.::::::::::., дааа))) Это был реальный ужас для нас всех!
URL

02.08.2018 в 11:39

02.08.2018 в 11:39
С телефона не всегда понятно, нажала ли я "отправить" или нет.
А можно ли сделать всплывашку, которая на двойное нажатие покажет: "Вы действительно хотите отправить второй такой же комментарий?"?
URL

02.08.2018 в 11:55

02.08.2018 в 11:55
la_Distance, у меня, если два раза нажала, а первый комментарий отправился, всплывает «Вы не ввели текст сообщения».
URL

02.08.2018 в 13:23

02.08.2018 в 13:23
у меня она, к счастью, полностью пропала
у меня тоже тогда же. А вот ошибка 51 нет нет, а бывает.
URL

02.08.2018 в 17:03

02.08.2018 в 17:03
можно ли сделать всплывашку, которая на двойное нажатие покажет: "Вы действительно хотите отправить второй такой же комментарий?"

la_Distance, можно, спасибо за подсказку. Но мы решили, что лучше после нажатия кнопки "Отправить" сделаем ее неактивной. После того как комментарий записался и форма отчистилась, кнопка вновь станет активной.
URL

02.08.2018 в 17:21

02.08.2018 в 17:21
emercy, наверное, это тоже зависит от браузера, у меня тупо отправляет два)

Но мы решили, что лучше после нажатия кнопки "Отправить" сделаем ее неактивной
нос, А, это тоже хорошо. Но если вдруг в момент отправки оборвался интернет, комментарий не успел отправиться, что будет когда соединение восстановится? Кнопка снова станет активной? Или ее не надо будет повторно нажимать?
URL

02.08.2018 в 18:24

02.08.2018 в 18:24
нос, Но мы решили, что лучше после нажатия кнопки "Отправить" сделаем ее неактивной. После того как комментарий записался и форма отчистилась, кнопка вновь станет активной.
отличный план, главное, чтобы корректно считывалось то, что комментарий в самом деле отправлен, а то при возникновении ошибки 51 ни комментария, ни попыток его отправить не будет.
URL

05.08.2018 в 22:08

05.08.2018 в 22:08
А это нормально, что о переносе черновиков в архив ничего и нигде не сообщали? Или это нормальная практика?
Или я не там вообще спрашиваю? =D
URL

05.08.2018 в 22:58

05.08.2018 в 22:58
Ikukihiko, черновики и должны архивироваться. Что срок хранения 2 месяца, на самой страничке черновиков указано. Был какой-то баг, из-за которого они не уходили в архив. Его починили.
URL
06.08.2018 в 00:01
Народ, у меня тут два глюка с сайтом, очень жить мешают.
Куда идти с ними?
URL

06.08.2018 в 00:03

06.08.2018 в 00:03
Имперский протектор, в техподдержку)
URL
06.08.2018 в 00:12
kenig-dragonfly, ткните меня носом, пожалуйста, где это.
URL

06.08.2018 в 04:06

06.08.2018 в 04:06
нас остановили непрекращающиеся споры пользователей (в том числе и в комментариях этой записи), о том, нужен ли вообще этот поиск
Что за инфантилизм опять? Если бы тот же Вконтакте слушал все комментарии пользователей по поводу каждого нововведения, и в страхе поднимал лапки «ой, а кому-то не понравилось», то у них так и был бы дизайн и движок 2008 года
ПРЯМО КАК У ДАЙРИ. Который именно от этого и хиреет, упс
URL

06.08.2018 в 04:30

06.08.2018 в 04:30
нас остановили непрекращающиеся споры пользователей

:apstenu::apstenu::apstenu:
URL

06.08.2018 в 05:27

06.08.2018 в 05:27
нас остановили непрекращающиеся споры пользователей
блин :gigi:
URL

06.08.2018 в 05:43

06.08.2018 в 05:43
вдруг появился вопрос: будет ли этот поиск искать и по записям блокнота?
URL

06.08.2018 в 09:59

06.08.2018 в 09:59
Споров о дизайне несравнимо больше, но вы продолжаете, потому что сервису это нужно.

Поиск - невероятно нужен, большинству - вы сами это говорите. У вас уже есть сервис "упоминаний", который давно работает и теперь бесплатен, и ситуация с "упоминанием в закрытке" возможна, однако сервис есть, им пользуются (и он очень удобен, спасибо за него). Мифический сбой как повод не пилить новый функционал - это диковато(( Сбой - такая штука, что есть поиск, что нет поиска, он может случиться. В смысле, параноики могут бояться, что вдруг у всех вообще замки слетят, например, - сбой же возможен чисто гипотетически. И ни от какого поиска это не зависит.
URL

06.08.2018 в 10:54

06.08.2018 в 10:54
непрекращающиеся споры пользователей (в том числе и в комментариях этой записи), о том, нужен ли вообще этот поиск

:lol:
URL