
Sergey
24.01.2018
23:04:23
а примеры смотреть - ну ты научишься делать ровно то же самое но ничего нового не усвоишь)

Артур Евгеньевич
25.01.2018
09:59:00
@fesor ты одно время форсил идею, что дубляж кода, это не всегда плохо.И в ряде случаев он допустим, ка кэто называется по умному и есть почитать на эту тему?

Alexandr
25.01.2018
10:01:11
https://hackernoon.com/this-is-not-the-dry-you-are-looking-for-a316ed3f445f

Aleh
25.01.2018
10:03:02
http://verraes.net/2014/08/dry-is-about-knowledge/

Google

Sergey
25.01.2018
10:12:10
ну уже скинули ссылки

Arky
25.01.2018
10:21:01
Что такое кохижен? (гугол знает только колижен)

Danil
25.01.2018
10:21:14
cohesion

Sergey
25.01.2018
10:21:52

Arky
25.01.2018
10:22:37
кк, пасиба

Andrew
25.01.2018
10:54:32
Ребята, такой вопрос.
Существует ли какой-то единный стандарт для health-check сервисов?

Борис
25.01.2018
11:03:35

Roman
25.01.2018
11:04:43
500 - это вообще пиздец

Maksim
25.01.2018
11:05:15

Andrew
25.01.2018
11:05:19
ну смотри.
Есть быстрый чек - Statsus Code 200/500
Есть более глубокая проверка. Чекнуть доступность базы, кэшеров, доступность других сервисов и все такое.
Вот пока такое что-то более менее адекватное нашел - https://github.com/hootsuite/health-checks-api

Roman
25.01.2018
11:05:50
шта?
500 - это пизда вебсерверу

Google

Andrew
25.01.2018
11:06:05
Тогда уже 5XX

Maksim
25.01.2018
11:06:08

Roman
25.01.2018
11:06:15

Maksim
25.01.2018
11:06:23
и как он соотносится с хэсчеком?

Борис
25.01.2018
11:06:25
400 хотя бы
400 это ошибка клиента, братан. В данном случае \то значит что твой HealthChecker работает неверно

Tex
25.01.2018
11:06:30

Bohdan
25.01.2018
11:06:38
и шлёт всякую фигню

Roman
25.01.2018
11:06:42

Bohdan
25.01.2018
11:06:51
типа "эй мен, че ты гонишь" = 400

Maksim
25.01.2018
11:06:59
л - логика...

Tex
25.01.2018
11:07:12
Но не веб-серверу
а хелсчекаешь ты сервер или запрос?
400 ответ на запрос вполне может быть и при корректной работе сервера

Roman
25.01.2018
11:07:26
У тебя может nginx быть поднят, а вот приложение за ним, к которому он запросы проксирует - лежать.

Борис
25.01.2018
11:07:56

Serge
25.01.2018
11:08:09
503 ?

Maksim
25.01.2018
11:08:16
коды ответов < 500 - не проблема "здоровья" сервера

Aleh
25.01.2018
11:10:42
ну как, если хелсчекер получил 4хх, то это говорит о проблеме тоже
поменялся интерфейс и хелсчекер не обновили(а может еще что не обновили, проблемка) или просто почему-то этот интерфейс, который раньше работал, теперь не работает, надо смотреть

Maksim
25.01.2018
11:11:23
это говорит о том, что клиент рукожопый, или ему надо чуток подождать (в случае ограничения числа запросов)

Google

Maksim
25.01.2018
11:11:39
что тоже говорит о том, что клиент рукожопый

Andrew
25.01.2018
11:12:15

Aleh
25.01.2018
11:12:21
это может говорить о том, что вы в api наделали BC и какие-то клиенты теперь отваливаются

Maksim
25.01.2018
11:12:57
ток к хэлс чеку это отношения не имеет. ты хочешь мониторить доступность сервиса, или тестировать его?

Aleh
25.01.2018
11:12:58
т.е. 4хх это не ошибка клиента, это ошибка запроса, а вот где ошибка еще надо посмотреть

Maksim
25.01.2018
11:13:42
а запрос из вохдуха берётся, да?) его не клиент составляет?)

Aleh
25.01.2018
11:14:02
а в апишке объекты из воздуха берутся, они не из запроса парсятся?
ошибка может быть как в разборе запроса, так и в составлении

Sergey
25.01.2018
11:14:27

Maksim
25.01.2018
11:15:29

Aleh
25.01.2018
11:15:42

Maksim
25.01.2018
11:15:46
пример

Sergey
25.01.2018
11:16:11

Aleh
25.01.2018
11:16:15
раньше можно было посылать { a: ["a"] } решили добавить еще возможность посылать числа в массиве, но строки сломали

Sergey
25.01.2018
11:16:21
либо сервер не сказал про формат
нехороший сервер

Maksim
25.01.2018
11:16:40
он доступен, он работает

Aleh
25.01.2018
11:16:53
что сломали парсинг строк на сервере? Даж не знаю

Google

Sergey
25.01.2018
11:17:04

Aleh
25.01.2018
11:17:15

Sergey
25.01.2018
11:17:16
если клиент не обновился - его проблемы

Aleh
25.01.2018
11:17:28

Maksim
25.01.2018
11:17:29
блин... рест фул апи, рест фул апи... вон даже с кодами наркомань устраивают...

Sergey
25.01.2018
11:17:47
зависит
политику не надо сюда приплетать. У тебя есть content negitiation для подобной херни

Aleh
25.01.2018
11:19:03

Sergey
25.01.2018
11:19:30
блин... рест фул апи, рест фул апи... вон даже с кодами наркомань устраивают...
нет никакой наркомани. 400 - запрос получен но не могу его обработать, попробуй послать мне нормальный запрос. Вот тебе в заголовках что я принимаю на вход (accept), вот тебе OPTIONS что бы можно было узнать как со мной общаться....
418-ый хороший пример - ты шлешь запрос а сервер тебе говорит "я чайник, попроси кого другого, не я виноват что ты шлешь запросы чайнику"

Admin
ERROR: S client not available

Maksim
25.01.2018
11:19:55

Aleh
25.01.2018
11:20:11
у меня тож нет никакой наркомании
у Сергея все правильно записано)

Sergey
25.01.2018
11:20:52
но возвращаясь к теме дискуссии - для health check надо 2xx и 5xx
или только 2xx + json ;)

Maksim
25.01.2018
11:21:17
+1
хэлсчеку срать на 4**
он не тестирует, он проверяет доступность

Sergey
25.01.2018
11:21:20
или просто порт можно проверить

Bohdan
25.01.2018
11:21:39
ну порт это уже более специфично по идее

Sergey
25.01.2018
11:22:10

Bohdan
25.01.2018
11:22:12
если висит апач/нгинкс/you name it на порту, а за ним пусто - порт ведь занят будет
слейв упал - почку удалили :D

Google

Sergey
25.01.2018
11:23:19
слейв упал - почку удалили :D
сервер знает только о двух почках которые закрыты балансером. Почек под копотом может быть и больше и даже если у тебя последний слэйв сдох - балансер может перекинуть на мастер
серверу будет казаться что у него все еще две почки
хотя он уже лежит в ванне со льдом

Bohdan
25.01.2018
11:23:43
как выгодно иметь под капотом много почек...

Sergey
25.01.2018
11:24:19
хэлстчеки это как логи или мониторинг. Кто-то знает тут какие-либо стандарты? врядли так как все зависит от системы

Bohdan
25.01.2018
11:24:31
сразу спрошу, пока умы здесь
есть какой-то the right way для построения апи?

Sergey
25.01.2018
11:24:48
и почитай про идемпотентность

Bohdan
25.01.2018
11:25:01
сердце такое "да ты чо, да я хз"
вкратце знаю, что имеется ввиду

Maksim
25.01.2018
11:25:19
как сделаешь, так сделаешь) универсальной вундервафли всё равно нет)

Sergey
25.01.2018
11:25:45
почитай еще про http verbs (в спецификации http а не на каком-нибудь бложике где post это create)

Bohdan
25.01.2018
11:26:26
да мне больше вопросы в плане заковык всяких
нет у меня нормального девелопер экспириенса по апи для spa)
о том, какие из них идемпотентны, какие нет - читал где-то

Sergey
25.01.2018
11:26:27
ну или просто возьми jsonapi или рекомендации мелкософта по построению API
https://github.com/Microsoft/api-guidelines
можешь с этого начать, как по мне оч годно

Bohdan
25.01.2018
11:26:59
уже нарыл, спасибо

Sergey
25.01.2018
11:27:44
послал запрос - он зафэйлился (интернет затупил), можешь послать еще раз и ничего страшного не случится

Bohdan
25.01.2018
11:28:24
mdn в качестве спеки по http сойдет? w3 все же читается сложнее