@nodejs_ru

Страница 2687 из 2748
Aga
15.10.2018
12:59:32
временная мера, заебался далеко смотреть :D

сокет изи 10к выдержит с норм серваком

Даже не пукнет, максимум пару раз

Eugene
15.10.2018
13:00:24
по идее, нормальный сервер - нормальная скорость
Ну в память лазить вроде как быстрее чем на диск

Google
Aga
15.10.2018
13:00:49
Памяти много понадобится, раз уж на то пошло

Eugene
15.10.2018
13:01:16
Да ну для каких-то там юзеров ещё и диск хороший

Из говна и палок норм

Aga
15.10.2018
13:01:41
я кстати думал над схемой работы "отправлено" сообщения

Типа, ты шлёшь сообщение собеседнику и сразу пушишь в список сообщение, но с пометкой "отправляется"

Aga
15.10.2018
13:02:53
Думаю как пиздато запилить получение статуса "отправлено"

Eugene
15.10.2018
13:02:59
Памяти много понадобится, раз уж на то пошло
Не думаю что больше гигабайта

Aga
15.10.2018
13:03:00
Типа, сервер ещё в БД не записал

Sent, but not read

Eugene
15.10.2018
13:03:39
Или у тебя ебать какой хайлоад?

Google
Aga
15.10.2018
13:03:51
У телеги 3 стэйта сообщения: Отправляется, отправлено и прочтено

Или у тебя ебать какой хайлоад?
у меня сложная ситуация, но как говориться, надейся на лучшее, готовьтесь к худшему

Eugene
15.10.2018
13:04:37
Ладно, не буду свои тупые советы раздавать

Aga
15.10.2018
13:04:48
у меня друг трафик перегонит, если коротко

и надо быть во все оружия

да и не хочется делать тяп-ляп

чтобы не было стыдно кому-то показать

Eugene
15.10.2018
13:05:20
А он не давал оценок на ожидаемый поток? Мб из этого лучше исходить

Aga
15.10.2018
13:05:30
от 50к юзеров

у него порно сайт

иногда 100к, иногда 500к хостов в день

но полагаюсь на минимум

Alexander
15.10.2018
13:05:59
У телеги 3 стэйта сообщения: Отправляется, отправлено и прочтено
Отправляется - не достигло собеседника Отправлено - достигло но не прочитано Прочитано - доставлено и прочитано

Сложно

Aga
15.10.2018
13:06:25
можно каждому сообщению генерить айдишник

Aga
15.10.2018
13:06:53
и когда сообщение с айдишником, который послал юзер, слать ему что саксэс

Alexander
15.10.2018
13:06:57
И нигде так ещё не делали?

Google
Vitaly
15.10.2018
13:07:00
Отправляется - не достигло собеседника Отправлено - достигло но не прочитано Прочитано - доставлено и прочитано
Не думаю, что "отправлено" это достигнуто. Разве что достигнуто самого сервера

Yadgar
15.10.2018
13:07:07
Aga
15.10.2018
13:07:10
И нигде так ещё не делали?
_id присваивается же после записи в бд

Aga
15.10.2018
13:07:20
а я должен ловить до бд

Alexander
15.10.2018
13:07:30
А ты ебашь id

Aga
15.10.2018
13:07:32
так что, костыль, но по другому никак

Yadgar
15.10.2018
13:07:33
в телеге в том числе

Aga
15.10.2018
13:07:37
или __id

_id_

Alexander
15.10.2018
13:07:53
или __id
Или _____id_____

Aga
15.10.2018
13:07:58
короче, оказалось чтобы решить проблему, надо её расписать :D

Alexander
15.10.2018
13:08:00
Хуле мелочиться?

Yadgar
15.10.2018
13:08:01
или __id
в одном сообщении пиши, 1000 флуда от тебя каждый день

Aga
15.10.2018
13:08:27
Josh
15.10.2018
13:09:19
перед тем как думать почитал бы книжки

Aga
15.10.2018
13:10:15
Да и вряд ли там будет обьясняться принцип работы этого :)

Josh
15.10.2018
13:11:36
хоть одну книжку про паттерны проектирования и архитектуры приложений на нод прочти

Google
Aga
15.10.2018
13:13:08
хоть одну книжку про паттерны проектирования и архитектуры приложений на нод прочти
Опыт нужно кровью и потом зарабатывать, а не читая чужие мнения. А паттерны, в официальной документации разработчиков прочитаю

Josh
15.10.2018
13:13:22
удачи

Aga
15.10.2018
13:13:33
удачи
Спасибо)

Alexander
15.10.2018
13:13:51
Читал, мне понравилось

Aga
15.10.2018
13:13:57
этот хуяк хуяк, чёто долго слишком идёт у меня)

"Хуяк хуяк, в длиною в жизнь"

Gor
15.10.2018
13:14:33
нельзя просто взять и редиску заюзать
Таки лучше редис для статуса. Банальный вариант key username, value last ping timestamp from front. И на запрос user-status читать оттуда. Заводишь отдельным кластером. Читаешь оттуда со всем микросервисов статуса. Можно и в монго конечно, но память приоритетнее. Эти данные не критичны к потере

Neks
15.10.2018
13:16:36
Привет, ребят, у кого-нибудь есть возможность уделить минут 5-10 и помочь со скриптом? напишу в лс

Aga
15.10.2018
13:17:13
Чтобы найти юзеров нужно сделать: Client -> Users -> Auth -> Users -> Socket -> Users -> Client, Это если хранить статус в редисе, на socket service и выдавать юзеров с user-status'oм при запросе клиента

Aga
15.10.2018
13:17:50
А если хранить у юзера в БД то получиться: Client -> Users -> Auth -> Users -> Client,

Нихуясебе ты наворотил
Микросервисы братан, микросервисы

То есть, на 2 запроса меньше. Хз, существенно это или нет, но вроде да

Gor
15.10.2018
13:18:25
Чтобы найти юзеров нужно сделать: Client -> Users -> Auth -> Users -> Socket -> Users -> Client, Это если хранить статус в редисе, на socket service и выдавать юзеров с user-status'oм при запросе клиента
Ты можешь вставить в выдачу userinfo статус так же. Плюс отдельный сервис когда просто по юзеру статус надо. Плюс в ws когда статус меняется - рассылать всем кто в чате статус

Aga
15.10.2018
13:19:31
Ты можешь вставить в выдачу userinfo статус так же. Плюс отдельный сервис когда просто по юзеру статус надо. Плюс в ws когда статус меняется - рассылать всем кто в чате статус
Так, а если хранить у юзера, то никаких запросов не потребуется делать. Послал акк нужного юзера и там уже вся user-status инфа

Nikolay
15.10.2018
13:19:40
Нихуясебе ты наворотил
Оставь его, пациент всё еще уверен, что микросервисы вылечат его от всех бед :)) ждём...

Aga
15.10.2018
13:20:06
Микросервис создавать, имея возможность избежать этого. Стоит ли?

Gor
15.10.2018
13:20:43
Так, а если хранить у юзера, то никаких запросов не потребуется делать. Послал акк нужного юзера и там уже вся user-status инфа
Тебе в таким варианте прийдется на смене статуса менять запись юзера. Что не особо хорошо в случае с монго - дополнительные write включая диск

Google
Aga
15.10.2018
13:22:28
Тебе в таким варианте прийдется на смене статуса менять запись юзера. Что не особо хорошо в случае с монго - дополнительные write включая диск
Я согласен, этот вариант будет тяжелее для монго, но стоит ли ради этой тяжести создавать микросервис и делать дополнительные запросы?

Хотя это выглядит как перераспределение нагрузки на всю систему, но хз если честно

Aga
15.10.2018
13:23:21
хотя сложный вопрос :D

Gor
15.10.2018
13:24:29
Ага. У меня есть сервис что льёт данные под 5мб/сек и вроде норм. Но там выборка по timestamp и чтение большого блока данных достаточно быстро

Но диски nvme (были ssd) что впрочем близко к работе с памятью. Ну если не считать циклы самого ssd, и платить за замену не тебе

Aga
15.10.2018
13:27:55
Но диски nvme (были ssd) что впрочем близко к работе с памятью. Ну если не считать циклы самого ssd, и платить за замену не тебе
Твой вариант конечно производительнее, вглядит как перераспределние нагрузки, что в случае микросервисов будет более правильным решением. Но в моём случае, хранить user-status у юзера в записи, в качестве временной меры более рациональнее. Но в будущем обязательно исправлю этот момент

Aga
15.10.2018
13:29:20
Спасибо, тогда пойду пилить)

Gor
15.10.2018
13:32:56
выборка по datetime быстрее будет, ( я про sql )
там монго. данные льются в хронологическом порядке. таблица с выдавливанием давних записей по размеру.

потому по умолчанию данные в хронологическом порядке. а выборки идут по другим ключам

экономия на sort

Alexander
15.10.2018
13:50:09
потому по умолчанию данные в хронологическом порядке. а выборки идут по другим ключам
т.е. в монге все документы хранятся по возрастающей? и на findOne() оно выдаст самый новый документ посути?

Gor
15.10.2018
13:53:37
т.е. в монге все документы хранятся по возрастающей? и на findOne() оно выдаст самый новый документ посути?
по порядку записи. грубо говоря сортировка по умолчанию - это id. он, хранит в себе уже timestamp. Вот прикольный сервис https://steveridout.github.io/mongo-object-time/

Alex
15.10.2018
14:05:21
Kool
15.10.2018
14:08:06
Mishell
15.10.2018
14:18:53
fs поддерживает относительный путь? У меня модуль лежит в отдельной папке. И я записываю документ с помощью fs.writeFile(__dirname + `/history.txt А как сделать, что бы документ был записан на один уровень выше? типа ../history.txt Или нужно прописывать абсолютный путь?

Страница 2687 из 2748