yopp
Были где-то. Так руки и не дошли выложить :)
Aleksey
ну вон те трое которые явились только что они за ними пришли да:)
yopp
Ого.
yopp
А какие скриншоты нужны? Там же графана, а её скриншотов полно
Aleksey
в церкви просто вопрос возник чо как монгу мониторить я твой конечно посоветовал
yopp
Судя по слухам лучше брать перконовский. Его хоть поддерживают :)
yopp
А метрики там по-моему те-же самые.
Aleksey
они тоже с коллекций научились ?
yopp
@SvPupok перконовский коллектор научился собирать данные с каждой коллекции?
V
Ребят а подскажите вот есть кластер три ноды монго (1 мастер) как настроить лоад беленсер который автоматически на мастера будет указывать ?
Aleksey
дрова клиента сами разбирутся
Aleksey
монга в этом отношении умная. топологию рассказывает сама
V
дрова клиента сами разбирутся
вот тут не ясно если пакет insert прилетит изза LB на data node
V
точка входа ведь одна
Aleksey
в ответ датанода скажет чо сумасошел и отправит с этим инсертом куда подальше.
Aleksey
приложение видимо отработает :)
V
приложение видимо отработает :)
ну Алекс серьезно чтоли не нормально LB использовать для кластера mongo ?
Aleksey
неа не нормально
Aleksey
у монги на эту тему всё своё имхо
V
у монги на эту тему всё своё имхо
а как тогда правильно указывать например кластер из 10 нод ?
V
в приложении
V
десять коннектов прописывать чтоли ?
Aleksey
не делать кластер из 10 нод для начала.
V
не делать кластер из 10 нод для начала.
а есть обьяснения этому пределу ?
Aleksey
да. монга хочет не чётное колво серверов
Gleb
😂
Nick
нечетное должно быть уже с учетом арбитра
Aleksey
9 + арбитр даже
https://university.mongodb.com/courses/M103/about
Aleksey
бесплатные курсы скачать на полной скорости без смс и регистрации
Nick
десять коннектов прописывать чтоли ?
https://docs.mongodb.com/manual/reference/program/mongo/#cmdoption-mongo-host
Nick
по аналогии думаю и для остальных драйверов
Nick
ну и смотреть соотвевенно спеку драйвера через который лезете
Nick
если эти десять нод - 10 шардов за mongos, то везде указывается только адрес монгос
V
ну и смотреть соотвевенно спеку драйвера через который лезете
драйвер как я понимаю сам выявляет что нода недоступная и к ней не обращается и ищет другую ?
Aleksey
драйвер как я понимаю сам выявляет что нода недоступная и к ней не обращается и ищет другую ?
так и есть. драйвер у монги должен быть умным. и любая нода при коннекте говорит топологию
Aleksey
поэтому прятать монгу за haproxy довольно странный и специфичный способ стрельнуть в ногу
ᅠ ᅠ ᅠ ᅠ
Ребят, такой вопрос, вот у меня есть кластер, к которому я могу подключиться через compass и shell. В программе я указываю новую базу и что туда добавить. Когда начинаю запускать программу, то база добавляется по такому пути при запуске команды mongo - mongodb://127.0.0.1:27017, хотя я указываю в программе путь MongoClientURI connectionString = new MongoClientURI("mongodb://логин:пароль@cluster0.mongodb.net/");.
ᅠ ᅠ ᅠ ᅠ
я так понимаю мне нужно при запуске команды mongo указывать еще и путь к кластеру? Потому что самой базы в кластере нет, она появляется только здесь mongodb://127.0.0.1:27017
SvPupok
парни, а вы не путаете кластер с репликасетом?
ᅠ ᅠ ᅠ ᅠ
парни, а вы не путаете кластер с репликасетом?
может и путаю, что конкретно нужно указать. в доке вижу пример, где указывается путь к кластеру
ᅠ ᅠ ᅠ ᅠ
вот здесь смотрю https://docs.atlas.mongodb.com/driver-connection/#java-driver-example
SvPupok
может и путаю, что конкретно нужно указать. в доке вижу пример, где указывается путь к кластеру
просто в случае с шардированным кластером, точкой входа является монгос
ᅠ ᅠ ᅠ ᅠ
просто в случае с шардированным кластером, точкой входа является монгос
а где об этом можно прочесть? Вот смотрю раздел connect to a cluster, такого не вижу
SvPupok
а где об этом можно прочесть? Вот смотрю раздел connect to a cluster, такого не вижу
я все таки думаю, вы пытаетесь подключиться к репликасету.
SvPupok
https://docs.mongodb.com/manual/reference/connection-string/
yopp
а как тогда правильно указывать например кластер из 10 нод ?
В монге есть две технологии. Одна для устойчивости (HA/FT) — репликация с автоматическим восстановлением после сбоев. Называется Replica Set. Вторая для масштабирования — сегментирование и балансировка данных. Называется Sharding. Первую технологи можно в некотором виде использовать для масштабирования, но она для этого не предназначена. Это официальная позиция разработчиков монги. Если у вас 10 нод в replica set и вы их используете для масштабирования, вы решаете свою задачу неподходящим инструментом.
yopp
Исходя из того что вы ищите балансировщик, вы хотите именно масштабирование. Балансировщик есть, но он является частью механизма шардирования.
yopp
Официальная позиция монги — шардируйте как можно раньше. Чем больше накопится данных, тем сложнее шардировать.
V
Официальная позиция монги — шардируйте как можно раньше. Чем больше накопится данных, тем сложнее шардировать.
можем уже сейчас шардингом заниматься я так понял мастер умеет собирать данные во едино
V
кстати а у монги есть транзакции
yopp
Второй момент: шардирование почти на порядок увеличивает операционную сложность. Шардированный кластер очень сложно администрировать.
yopp
кстати а у монги есть транзакции
Нет, но будут частично в 4.0 и к 4.2 будет уже похоже на правду.
V
Мастер не умеет собирать данные.
а как тогда клиент получает документы если они по всем нодам раскиданы
yopp
Праймари может принимать записи и транслировать их остальным участникам кластера.
yopp
а как тогда клиент получает документы если они по всем нодам раскиданы
Данные не раскиданы по всем нодам , это не кассандра
Mikhail
А то вопрос затеряется )
yopp
почему ?
Потому что появляется ещё две операционных единицы: config server replica set и mongos. И возрастает сложность резервного копирования.
Aleksey
и балансировка.
Aleksey
меня она пугает больше всего
V
блин ну вы даете Что это за инструмент то я могу обычным cli или mongodb compass изучить это и настраивать ?
yopp
а как тогда клиент получает документы если они по всем нодам раскиданы
В replica set есть единственный source of truth — ноду с ролью primary. Все записи идут на неё и как следствие эта нода единственная обладает последним состоянием данных
yopp
yopp
вот у нас реплика сет получается три ноды один мастер
Праймари будет иметь «последнюю известную версию», а все остальные участники кластера будут получать с нее копию данных.
V
шардинг кстати у него ведь есть тоже понятия реплика тоже но несколько точек входа ?
yopp
Строительной единицей шарда является реплика сет
yopp
Входной точкой является mongos, который использует данные о топологии данных хранящихся в config server для маршрутизации запросов
SvPupok
шардинг кстати у него ведь есть тоже понятия реплика тоже но несколько точек входа ?
точкой входа в шардированный кластер является сервис mongos. который знает, на каких сегментах кластера лежат данные, и может собирать их исходя из твоего запроса
yopp
В шардированном кластере клиентам запрещено подключаться мимо mongos. Прямое подключение допустимо только для технического обслуживания
SvPupok
топология распределения данных хранится в конфигурационном репликасете
V
а чтение кстати происходит со всех нод или тоже через мастера
SvPupok
по умолчанию с мастера.
SvPupok
но есть понятие read preference которое определяет источник чтения
V
но есть понятие read preference которое определяет источник чтения
а это через драйвер определяется ? мы используем mongoos