Как-то мне попалась в руки хорошая папира, хоть и от microsoft research, про "eventually consistent transactions": http://research.microsoft.com/pubs/15763...
И довольно удачно, потому что в работе подобное пригодится, вероятно.
И вот, дошли руки прочитать. Отзыв писал другому человеку, но процитирую тут.
"
вник таки в eventually consistent. настолько, что в формальности вникать нужды нет, хотя раньше очень хотел.
что мне не очень нравится: "кто последний — тот и папа". а именно, если есть точка слияния изменений (предположим, базовый тред t и порождённый от него давно тред t'), то к текущему состоянию треда t при слиянии с t' применяются все изменения, прошедшие от момента порождения t'. с другой стороны, вариантов нет.
конечно, можно сделать так, чтобы эффекты сливались как-то аккуратно, но надо уже думать о том, как это обеспечить. в худшем случае окажется 1. или слитые изменения из t' будут перезаписывать другие, тоже важные изменения из t или других порождённых тредов, 2. или надо будет отменять изменения, сделанные в t', если они вообще идут в разрез с текущим состоянием t.
то есть, опять, никакого идеального решения, да ещё и гемор с такой моделью, которая будет удобна для пользователей, настолько, чтобы программа переживала краткосрочные пропадания сети.
однако, если придётся делать [...], то, так или иначе, будет либо синхронное, либо eventually consistent. но синхронного не будет (в глобальном масштабе, по крайней мере — между датацентрами, например). поэтому надо будет брать большую ложку и начинать постепенно дегустировать фекалии.
на этом вопрос с eventually consistent transactions с моей стороны закрыт, использовать их на практике смогу.
"
gds
27.02.2012 10:08 umodni25C5D581
Do you really want to delete ?
> Survey on Refactoring Practices at Microsoft
Мне кажется, это не то, что предполагалось.
точно, совсем не то. глупо ошибся. правильная ссылка: http://research.microsoft.com/pubs/15563...