Nikita
Всегда все начинается и идеи
Вообще первая проблема, которая возникает с вебсокетами - это горизонтальное масштабирование. Вообще она решается лоад-балансером, который прикрепляет сессии по ip, например nginx так делает
Slach
А оно тут причем?
а причем тут REST и websocket ? ;)
websocket протокол обмена сообщениями
http там только при установке соединения
соответсвенно REST это типа когда мы state передаем в http заголовках
какой смысл это делать если websocket соединение уже установлено?
вы чтобы realtime приложение делать
вы же как то хотите с сервером реалтайм взаимодействовать
команды на сервер отправлять
принимать ответ
и наоборот
что-то с сервера пушить
это все через двусторонний RPC делается
Anonymous
Nikita
если это проблема и ты описал решение, то это не проблема
Потом еще проблема сессий и контекста. Например у нас есть много чатов и много юзеров. Один юзер отправляет сообщение в один чат, потом надо обновить состояние чата всех юзеров, которые в нем состоят. Если веб-сокет сервис работает как два разных процесса, уже нужен брокер сообщений, через который будет отлавливаться изменение состояния.
Мерль
Nikita
Всегда все начинается и идеи
Кстати, заменить стейтлесс рест на вебсокеты вообще легко. Достаточно просто придумать систему запроса-ответа, вот даже ссылочка есть https://mmikowski.github.io/json-pure/
Nikita
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 с большой буквы.
Anonymous
German
Не за что.
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
А что из ноды нельзя на го перейти?😂
Anonymous
Constantine️
в голове
Constantine️
Constantine️
вернее даже не так
German
Их надо в разные директории раскладывать, если по правильному.
Constantine️
ничего не юзай, все ок будет
Constantine️
Dmitry
если файлы *.go лежат в одной директории, то это один пакет, обращаться к фунциям можно ничего не импортируя
Anonymous
Dmitry
в вашем случае функции из helpers.go можно вызывать в app.go просто по имени
German
А почему го ищет файл вне пакета тогда?
Anonymous
Но меня сбили с толку в самом начале ветки.
Constantine️
конечно
German
Аа всею
Constantine️
мы сбили 🙂
Constantine️
мы, значит, помочь ему с Германом решили