
The
10.05.2018
11:53:55
тут есть немного простеньких примеров, за чем-то большим нужно гуглить, сходу не вспомню

Daniel
10.05.2018
11:54:24

Dmitri
10.05.2018
11:56:01
пример реализации микросервиса
А чо там в примере писать? Смотри, тебе надо abc, bcd, cde обрабатывать разными "плагинами". И у тебя УЖЕ есть сервер с https, вероятно, nginx. Ты делаешь 3 приложения abc, bcd, cde, каждое слушает свой порт. Нжынксом настраиваешь locatoin'ы с прокси эндпоинтов на нужные порты

Google

Dmitri
10.05.2018
11:56:26
Это и будет "микросервисная архитектура")))

Pawel
10.05.2018
11:56:51
на самом деле - go довольно проходной инструмент, на мой взгляд, и основная его ценность в том, что он задал для индустрии новую планку. как первый айфон, сам по себе был телефоном довольно скучным, но заставил остальных участников рынка шевелиться.
ценность Го в том, что он скрывает event loop от программиста. В то время как большинство хайповых технологий его навязывают (async/await, tEA, redux, промисы, callbacks, frp, ). Людям надоело писать конечные автоматы, хочется простого синхронного кода

Anton
10.05.2018
11:57:16
у меня была идея использовать nginx, написать модуль - чтобы по своему протоколу общался и потом возвращал результат. Так вот никак не подберусь к nginx

Dmitri
10.05.2018
11:58:12

Daniel
10.05.2018
11:58:19
зачем модуль? в nginx все есть уже ровно для задачи фронта к микросервисам

Vadim
10.05.2018
11:58:22
Код, который действительно очень просто читать.

Anton
10.05.2018
11:59:45

Roman
10.05.2018
12:00:13
а где не странно?
а еще хочу я произвольные fd добавлять во внутренний поллер, который в internal

Dmitri
10.05.2018
12:00:59
ну вот json-завернуть и json-развернуть это уже не совсем задача фронта, имхо... оно тебе фронт по производительности в гумно просадит...
ну и, собственно, изобретать свой протокол - тоже "так себе" задача, которую еще, пожалуй, обосновать стоит...

Daniel
10.05.2018
12:02:18

Google

Dmitri
10.05.2018
12:02:19
у тебя есть json, xml - искаропки, protobuf - с полпинка...

Roman
10.05.2018
12:02:31

Daniel
10.05.2018
12:02:33

Roman
10.05.2018
12:02:52
зачем?!
пакетики отправлять/получать быстро без лишних контекст-свитчей.
сейчас для udp надо по сисколлу на пакет

Dmitri
10.05.2018
12:03:27

Roman
10.05.2018
12:03:35
*mmsg амортизирует стоимость

Dmitri
10.05.2018
12:03:45
оно у тебя один хрен в ядро упрется же...

Roman
10.05.2018
12:04:01

Anton
10.05.2018
12:04:37

Dmitri
10.05.2018
12:05:08
ну почему же?
ну, какбэ, последние наработки этих ваших фейсбучеков и прочих гугелей в области скорости сетевого стека идут, в основном, в сторону "пустить, насколько возможно, сетевой стек мимо ядра..."

Daniel
10.05.2018
12:05:13

Vadim
10.05.2018
12:05:37

Roman
10.05.2018
12:06:44

Dmitri
10.05.2018
12:07:13
с чего вдруг такой тезис и без профайлинга? )
ну, тут, какбэ, два забавных наблюдения:
1. оно не будет быстрее, чем ему позволит его нижележащая платформа
2. оно не будет быстрее, чем ему позволит сборщик мусора
например
Как правило, заради производительности, в первую очередь, отказываются именно от GC...

Roman
10.05.2018
12:08:27

Dmitri
10.05.2018
12:09:16

Anton
10.05.2018
12:09:25

Google

Daniel
10.05.2018
12:10:33

Meow
10.05.2018
12:10:40

Dmitri
10.05.2018
12:11:01

Anton
10.05.2018
12:12:03

Roman
10.05.2018
12:15:11

Daniel
10.05.2018
12:15:38
ну можно же один раз сделать и заопенсорсить!

Roman
10.05.2018
12:16:02

Daniel
10.05.2018
12:19:08
3 миллиона сисколов по 73ns занимают примерно 0.22 секунды.

Meow
10.05.2018
12:20:30
Чего там, лучше уж тогда напечатать ASIC под свои нужды ?

Pawel
10.05.2018
12:21:58

Николай
10.05.2018
12:23:54
Господа, такой вопрос. Как лучше сделать вывод изображений на клиент? По средствам обработки запроса в golang? Или пробрасывать к файлу по nginx?

Pawel
10.05.2018
12:24:22

Yerbol
10.05.2018
12:24:55
асинк авейт удобные штуки
не гоните

Roman
10.05.2018
12:25:14

Daniel
10.05.2018
12:25:51

Николай
10.05.2018
12:26:17

Daniel
10.05.2018
12:27:17
а, да, https - строго пофиг, потому что все равно будет чтение блоками и передача в шифратор

Roman
10.05.2018
12:30:40

Daniel
10.05.2018
12:31:27
для читателя - да

Google

Daniel
10.05.2018
12:32:01
впрочем, async/await тоже недорогой
но дороже

Vadim
10.05.2018
12:33:41

Meow
10.05.2018
12:34:20
Можно и так

Vadim
10.05.2018
12:35:31
Похоже, самый оптимальный вариант. Кстати, всегда интересовал вопрос, как вы справляетесь с json объектами?)

Meow
10.05.2018
12:37:50
А что с ними справляться? Если есть четкая структура - легко.

Admin
ERROR: S client not available

Vadim
10.05.2018
12:38:41
Очень любят такую херню большие крипто биржи. У меня случались проблемы, когда они просто брали и добавляли какую-нибудь маленькую переменную и у меня уже бот переставал работать.
Крипта разная бывает) что тебя интересует?
Ещё массивы с разными типами вызывают проблемы.
Я через интерфейсы решал эту проблему

Meow
10.05.2018
12:56:06
Проверкой конкретного поля?

Vadim
10.05.2018
12:57:49
Там ещё с интерфейсами играться надо. Вроде бы по этому поводу куча статей в интернете, но с другой стороны проблема вечная и из-за недобросовестных парней, которые пишут свое API не думают о разрабах, которые пишут на строго типизированных.

Pawel
10.05.2018
13:27:28
а вообще кто-то видел более или мене серьёзный бэкенд на async-await-ах? я - нет. Уверен,что это в принципе невозможно. Вот фронт - это можно, там и так адок.

Roman
10.05.2018
13:45:36

Google

Kirill
10.05.2018
14:00:43
раз тут подняли тему производительности го
насколько го будет эффективен в задаче где нужно 2 набора данных взаимодействую между собой, каждая еденица данных из первого набора взаимодействует с каждой из 2ого набора
апи веб сервис
сейчас это сделано на си шарпе и работает фигово, проблема с памятью, работой гц

The
10.05.2018
14:01:29

Kirill
10.05.2018
14:01:39
ну там логика ифы и арифметика
в одном наборе данных сотни, в другом тысячи обьектов

The
10.05.2018
14:03:04
а нагрузки какие?
и как часто меняются сами наборы?

Kirill
10.05.2018
14:03:39
100 запросов в секунду, но железо у нас не резиновое
тысячи лежат в кеше, сотни каждый запрос новые приходят

Dmitri
10.05.2018
14:06:25
Подскажите, можно ли в fmt.Sprintf заигнорить % ?
Хочу сформатировать строку с процентами типа 0.5%, естественно передать %s% не работает. Долепить знак процента уже вне темплейта?

The
10.05.2018
14:06:41
кмк, тут нету никаких проблем, да и саму задачу на сколько я понял можно написать на Go за неделю, попивая вискарь.

Kirill
10.05.2018
14:08:38

Dmitri
10.05.2018
14:08:56

Pawel
10.05.2018
14:31:38
ну или теже мьютексы.

Roman
10.05.2018
14:38:24

Daniel
10.05.2018
14:43:53
@pragus , а про 3М udp ответов в секунду что скажешь?