Некоторое время назад мы с вами успешно разобрались, что такое Cassandra, а также как установить и настроить Cassandra-кластер в облаке от Amazon. В чем мы не разобрались, это в том, как использовать Cassandra в наших программах. Настало время исправить столь вопиющую несправедливость!

В опросе, ссылка на который была приведена в предыдущих «находках в сети», всего приняло участие более 500 человек. Из них 93% проголосовали за то, что линкоблог нужен и закрывать его нельзя. А значит, в обозримом будущем в начале каждого нового месяца вас ждет очередная подборка интересных ссылок. Предыдущие выпуски: июнь 2015, май 2015, апрель 2015, март 2015.

В этот раз я сосредоточил свое внимание на книгах, посвященных Cassandra и Couchbase, так как мне это сейчас нужно по работе. Но также не обошлось без книг и на другие интересные темы. Предыдущие мои рецензии на прочитанные книги вы найдете здесь: одиннадцатый десяток, десятый десяток, девятый десяток, восьмой десяток.

Property-based тесты — довольно простая, но очень полезная штука. Идея в следующем. Вы описываете инвариант в стиле «для любых данных, таких, что … выполняется условие …». При этом, в отличие от обычных тестов, вы не задаете явно все тестовые примеры, а только описываете свойства, которым они должны удовлетворять. Сами же примеры генерируются автоматически фреймворком для property-based тестирования. Если после определенного числа прогонов со случайными данными, удовлетворяющих описанию, условие действительно выполняется, тест считается пройденным. Иначе фреймворк пытается как можно сильнее сжать (shrink) пример, на котором тест завалился, после чего выводит его и завершает тест с ошибкой.

RabbitMQ — приложение, предоставляющее шину для обмена сообщениями по протоколу AMQP. Написан «кролик» на Erlang, а следовательно автоматически масштабируем, отказоустойчив и учится за две недели :) RabbitMQ используют в таких компаниях, как VMware, Mozilla и AT&T, а также в бесчисленном количестве веб-сайтов. В этой заметке мы попытаемся разобраться, для каких практических задач нужен RabbitMQ, а также как поднять RabbitMQ-кластер в облаке Amazon’а.