Nikita
Всегда все начинается и идеи
Вообще первая проблема, которая возникает с вебсокетами - это горизонтальное масштабирование. Вообще она решается лоад-балансером, который прикрепляет сессии по ip, например nginx так делает
Slach
А оно тут причем?
а причем тут REST и websocket ? ;) websocket протокол обмена сообщениями http там только при установке соединения соответсвенно REST это типа когда мы state передаем в http заголовках какой смысл это делать если websocket соединение уже установлено? вы чтобы realtime приложение делать вы же как то хотите с сервером реалтайм взаимодействовать команды на сервер отправлять принимать ответ и наоборот что-то с сервера пушить это все через двусторонний RPC делается
Nikita
если это проблема и ты описал решение, то это не проблема
Потом еще проблема сессий и контекста. Например у нас есть много чатов и много юзеров. Один юзер отправляет сообщение в один чат, потом надо обновить состояние чата всех юзеров, которые в нем состоят. Если веб-сокет сервис работает как два разных процесса, уже нужен брокер сообщений, через который будет отлавливаться изменение состояния.
Nikita
Всегда все начинается и идеи
Кстати, заменить стейтлесс рест на вебсокеты вообще легко. Достаточно просто придумать систему запроса-ответа, вот даже ссылочка есть https://mmikowski.github.io/json-pure/
Fedor
Эээ
Fedor
Какое отношение rest имеет к браузерному приложению?
Fedor
Я был уверен что ты про api говоришь
Anonymous
Юзаю либу telegram bot
Anonymous
С каждой обработкой сообщения прога память отжирает, и так доходит до 11-12 мб, потом на месте стоит
Anonymous
Это норма?
Anonymous
Простой example запустил
Slava
Это норма?
скорее всего да, можешь запустить pprof и увидишь сколько памяти реально под объектами, а сколько в сборщике ждёт
Anonymous
Люди, где можно прочесть как мне локальные пакаджи прикручивать к проекту?
Anonymous
Всё, нашёл.
Anonymous
Кто-нить дебагером пользуется в атоме?
Anonymous
Два рядом файла в проекте app.go и helpers.go. Могу ли я как-то из app.go вызывать функции helpers.go, где почитать на русском можно по пакетам?
German
Пакет helpers.go надо подключить в app.go. И назвать функции в helpers.go с большой буквы.
German
Не за что.
Anonymous
Не за что.
Чот не получилось.
German
Ошибка?
Anonymous
German
Какие?
German
Просто скопируй их из консоли.
Anonymous
cannot find package "helpers" in any of: /usr/lib/go-1.9/src/helpers (from $GOROOT) /home/marlik/go/src/helpers (from $GOPATH)
German
Покажи как ты подключил helpers.go в app.go.
German
Скопируй import
Constantine️
и pwd сделай в этой папке
Anonymous
app.go package main import ( "bots/config" "gopkg.in/telegram-bot-api.v4" "helpers" ) helpers.go package helpers import ( "gopkg.in/telegram-bot-api.v4" )
Anonymous
pwd /home/marlik/go/src/bots
Constantine️
"helpers" —> “bots/helpers"
Constantine️
вот так попробуй
Constantine️
не помню сработает ли
German
helpers внутри bots лежит что ли?
Constantine️
ага
Constantine️
судя по пвд
Anonymous
“bots/helpers" это если папку создать helpers и в неё пакет helpers.go положить, а на данный момент у меня helpers.go лежит рядом с app.go
Constantine️
нет
Constantine️
ты неправильно думаешь 🙂
Anonymous
ну чё нет, у мну так конфиг лежит "bots/config"
Constantine️
"bots/config" "gopkg.in/telegram-bot-api.v4" "helpers"
Constantine️
ага, именно так и лежит 😉
Constantine️
привет, я твоя невнимательность 😄
Anonymous
"helpers" это сейчас, "bots/helpers" также пробовал
German
Я тоже не заметил😂
German
У тебя наверное так: bots/helpers.go?
Constantine️
да, покажи скрин плиз
Constantine️
что у тебя с папками
Constantine️
если путь, как говорит Герман, то это main пакет, а не helpers
Anonymous
go clean -i -n cd /home/marlik/go/src/bots rm -f bots bots.exe bots.test bots.test.exe app app.exe helpers helpers.exe marlik@noutbok:~/go/src/bots$ go build app.go app.go:5:2: cannot find package "bots/helpers" in any of: /usr/lib/go-1.9/src/bots/helpers (from $GOROOT) /home/marlik/go/src/bots/helpers (from $GOPATH) marlik@noutbok:~/go/src/bots$ go clean -i -n cd /home/marlik/go/src/bots rm -f bots bots.exe bots.test bots.test.exe app app.exe helpers helpers.exe marlik@noutbok:~/go/src/bots$ go build app.go app.go:7:2: cannot find package "helpers" in any of: /usr/lib/go-1.9/src/helpers (from $GOROOT) /home/marlik/go/src/helpers (from $GOPATH)
Anonymous
Ща попробую main
Anonymous
в helpers указать
German
А ты случайно не удалил папку helpers?
Constantine️
да по ходу нет там папки )
Constantine️
Марлик, ты не из ноды ли пришел в го?
German
Помоему тебе надо helpers.go сунуть в директорию helpers внутри bots. Должно получится так: bots/helpers/helpers.go А подключить так: import bots/helpers
Constantine️
+
Anonymous
Я же спрашивал, про положить рядом helpers.go и app.go и юзать из app.go функции helpers.go
German
А что из ноды нельзя на го перейти?😂
Constantine️
А что из ноды нельзя на го перейти?😂
да я про понимание лоадинга сейчас ) если из простигоспадипхп прийти, то там все равно папки будут )
Anonymous
Constantine️
в голове
Constantine️
юзай main пакет
Constantine️
вернее даже не так
German
Их надо в разные директории раскладывать, если по правильному.
Constantine️
ничего не юзай, все ок будет
Anonymous
Их надо в разные директории раскладывать, если по правильному.
Никуа, а как же gopkg.in/telegram-bot-api.v4 лежат несколько филе рядом?
Dmitry
если файлы *.go лежат в одной директории, то это один пакет, обращаться к фунциям можно ничего не импортируя
Dmitry
в вашем случае функции из helpers.go можно вызывать в app.go просто по имени
German
А почему го ищет файл вне пакета тогда?
Anonymous
Но меня сбили с толку в самом начале ветки.
Constantine️
конечно
German
Аа всею
Constantine️
мы сбили 🙂
Constantine️
мы, значит, помочь ему с Германом решили