Posts

Showing posts from December, 2015

CAP теорема

Теорема відзеркалює основні характеристики побудови distributed систем (DS): Consistency - дані в системі мають бути найновіші Availability - система має бути постійно доступною для запису та читання Partition tolerance - у випадку split-brain (один з класгерів (датацентрів) виявився недоступний,...) система має працювати без збоїв, а коли недоступний кластер "з’явться" вирішити всі проблеми пов’язані з недоступністю. Ці характеристики описуюють будь-яку distributed систему, і ніколи не можуть бути реалізовані всі три разом в повній мірі в одній системі. Отже, мусимо вибирати :( Partition tolerance має бути обов’язково реалізоване, тому вибір між A  i C. Hashing Consistency В DS має сенс розглядати побудову кластера та методи збереження даних. Для побудови ефективної структури нам не вигіно використовувати master - slave відношення, всі частини кластера мають бути активні. Як тоді зберігати дані? Хешуванням ключів. Кожна частинка кластера відповідає ...

Consumer Driven Contact

Passing the training course Software Architecture Fundamentals. Peoples Skills find out new (for me) idea for continuous delivery - Consumer Driven Contact (CDC). The sense of CDC is to simplify development in teams in a project, increase quality. CDC is an agreement that one team will deliver product of specified quality to other teams. Who specify the quality - other teams. They write unit or functional tests for this product (macro/micro service). They run this tests periodically on this product, and until tests fail they have no any to discuss with the production team. Production team can do anything they want with own product, but it must pass tests. In case of tests fail teams should meet and discuss an issue.