BLANCO
-> П
« 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...24 25 »
.es_cluster
Вот так сейчас выглядит карта одного индекса в кластере ElasticSearch:

Синий кружок - нода (сервер)
Зеленый - шард
Желтый - индекс
Звездочка стоит у  Primary node/shard.
Шард (Shard) без звездочки - это реплика (replica).
Данные одного индекса "размазываются" по всем нодам (nodes).
 
Возьмем пример отказоустойчивости. Пускай бомба упадает на сервер Statistics 01. Он содержит  Primary shards: 1, 3.
При запросе ES смотрит, ага, нода 01 лежит и она содержит шарды 1, 3. Ищем реплики на других нодах. Берем данные:
1 шарда с реплики сервера Statistics 02;
3 шарда с реплики сервера Statistics 03.
 
Все хорошо. Нода лежит, но данные остаются доступны.
 
P.S. Как же хранятся данные?
Имеем 3 ноды.
Представим, что индекс A содержит следующие данные:
Text
[1, 2, 3, 4, 5, 6, 7, 8, 9]

К конфиге указано, что индекс содержит 3 шарда и 2 реплики.
ES делит данные между шардами. Например:
Text
шард 1: [1, 2, 3]
шард 2: [3, 4, 5]
шард 3: [6, 7, 8, 9]

Далее, ES определяет на какой ноде лежат эти шарды.
Text
Шард 1: нода 1
Шард 2: нода 1
Шард 3: нода 2

Осталось распределить реплики по остальным нодам. Например так:
Text
Шард 1, реплика 1: нода 2
Шард 1, реплика 2: нода 3
Шард 2, реплика 1: нода 2
Шард 2, реплика 2: нода 3
Шард 3, реплика 1: нода 1
Шард 3, реплика 2: нода 3

Примерно так делятся данные между серверами, обеспечивая отказоустойчивость. Чем больше серверов, тем более надежным будет кластер.
Автор: Йакуд | O-- | .мыслей 2 [ +1 ]
.genetic_atlas
Продолжаю пилить атлас. Уже можно выбирать отдельные образцы из группы. Начал делать поиск с elasticsearch'ем.
 
Автор: stasundr | O-- | .мыслей 1 [ +3 ]
.genetic_atlas
Раз кластерер кластирует, а парсер парсирует, то значит пришла пора подумать о реализации поиска среди образцов и их сортировке по возрасту и прочим параметрам. Здесь, видимо, нам понадобится elasticsearch.
Автор: stasundr | O-- | .мыслей 7 [ +2 ]
.genetic_atlas
Присобачил к генетическому атласу MarkerClustererPlus Happy Теперь нужно написать небольшой парсер списка образцов, чтобы импортировать его в Redis и все эти образцы можно было наблюдать на карте.
 
Еще нашел описание реализации дуг между точками на карте - необходимая штука для изображения результатов ALDER (такой вид анализа генетического родства). Но сначала парсер.
 
update: написал парсер для первой коллекции образцов Smile
Автор: stasundr | O-- | .мыслей 0 [ +3 ]
.lhmg-expeditions
Записал на видео процесс разработки lhmg-expeditions Smile Ускорил видео примерно в 5 раз, потому что иногда просто зависал и втыкал в экран. За неимением опыта программирую очень медленно.
 

Чтобы посмотреть на результат можно отмотать на самый конец (секунд за 30 до окончания).
 
Автор: stasundr | O-- | .мыслей 6 [ +2 ]
.git
Продолжаю свои попытки подружиться с jQuery, Redis и Node.js Smile Попутно поражаюсь факту, что сейчас можно написать (пускай и примитивный) клиент-сервер в 100 строк кода. До чего техника дошла Happy
 
Автор: stasundr | O-- | .мыслей 2 [ +1 ]
.webstorm
Немного приболел, совсем мало кодил. Сейчас уже лучше. Думаю, в ближайшие пару дней покажу, что получилось. Наконец, начал пользоваться гитхабом и променял sublime text на webstorm (тоже по совету Лёши, за что ему спасибо).
 
Кстати, на webstorm очень легко получить бесплатную лицензию, чему я был несказанно рад Smile
Автор: stasundr | O-- | .мыслей 0 [ +1 ]
.genetic_atlas
Настроил Redis; связал его с Node.js. "Научился" рисовать карту и отмечать на этой карте маркеры. Пока маркеры жёстко зашиты в генерируемую html-страницу (и хранятся там в виде js массива). Так что следующей задачей будет хранение маркеров в виде не массивов, а объектов и получение этих объектов из Redis.
 

update: теперь маркеры в виде объектов. Приступаю к работе с key-value хранилищами. Лёша сказал, что хорошей идеей будет запрос и обработка его результатов при помощи jQuery (на клиентской стороне). Это позволит получать только данные о маркерах, не перезагружая всю страницу с картой.
 
update2: всё, клиент получает маркеры по запросу Smile Нужно экспортировать нынешний список образцов в Redis, чтобы потом можно было радостно наблюдать их на карте. После этого, наверное, нужно будет прикручивать MarkerClusterer, чтобы маркеры на карте группировались, а не накладывались друг на друга.
Автор: stasundr | O-- | .мыслей 2 [ +1 ]
.msp430
Меня тут спросили забросил я пайку или нет. Не забросил Smile На новый год подарили вот такую крутую штуку, называется "третья рука":
 

Теперь паять будет намного удобнее. До этого приходилось раскорячиваться на полу Happy Еще заказал несколько плат: ESP8266- wifi-модуль для отправки данных по воздуху и Black Swift - в миллион раз более производительная плата, по сравнению с msp430. Жду, когда все это дело придет Smile
Автор: stasundr | O-- | .мыслей 0 [ +2 ]
genetic_atlas
Продолжаю работать над атласом. Так как я не в теме всей этой нынешней веб-разработки, оказалось, что все немного не так, как я себе представлял Smile В итоге, пришел к тому, что нужно писать сервер на javascript и крутить его код при помощи node.js. Для чего это нужно? Для динамической генерации веб-страниц. Еще Лёша подсказал, что elasticsearch и Redis не дружат, потому что у elasticsearch'а своё хранилище данных. Оставлю пока это без комментариев, так как абсолютно не разбираюсь в этом.
 
Примитивный сервер я написал. Запустил на локальной виртуальной машине - работает. Этот сервер в зависимости от введённого адреса отдаёт разные страницы. Эти страницы я могу генерировать на лету. Теперь нужно запустить этот сервер на реальной машине и подключиться к нему извне. После этого буду прикручивать к серверу Redis.
 

update: внезапно, запустить сервер на реальной машине оказалось ультралегко. Так неожиданно Happy
 
Автор: stasundr | O-- | .мыслей 0 [ 0 ]