
Ramiz
08.08.2017
08:04:05
u r welcome

Denis
08.08.2017
08:08:01
Причем тут диск? Я понимаю - жопа универсальный интерфейс и через неё можно сделать что угодно
В вашем случае это огромная куча одинакового кода

Mikhail
08.08.2017
08:08:19
одинакового?

Google

Mikhail
08.08.2017
08:08:24
почему одинакового?

Denis
08.08.2017
08:15:34
Ну Ваши ж микросервисы должны сообщаться как то между собой? Особенно те, для которых требуется наличие БД. И если это джанга, то наверняка вы пользуетесь ОРМ для обращений к базе... и из сервиса в сервис приходся таскать весь этот ОРМ. Либо Вы пользуетесь джанговским мультисайтингом, но в таком случае вам приходится таскать за собой всю кодовую базу. Либо сервисы определяются различными settings.py, но и в этом случае приходится таскать всю кодовую базу
Как итог, чтобы запусть 1 сервис вам нужен весь Ваш код

Mikhail
08.08.2017
08:19:33
микросервисы должны общаться друг с другом средствами внешних интерфейсов
REST, к примеру, или AMQP
иначе это не микросервисы получаются, а какое-то монолитно-распределённое ядро

Massimo
08.08.2017
08:20:44

Denis
08.08.2017
08:20:45
а данные эти сервисы должны откуда брать?

Mikhail
08.08.2017
08:21:30
это зависит
иногда они сами репозитории данных

Massimo
08.08.2017
08:21:44
Можно по микро сервисы прочитать где нибудь?

Google

Mikhail
08.08.2017
08:21:46
иногда им на вход прилетают данные и они стреляют ответкой

Aleksey
08.08.2017
08:21:52
посоны, чем заменить sorl-thumbnail?
кто что юзает?

Mikhail
08.08.2017
08:22:01

Massimo
08.08.2017
08:22:42

Mikhail
08.08.2017
08:22:44
кто что юзает?
я очень рекомендую thumbor (тоже как микросервис, кстати)

Aleksey
08.08.2017
08:22:51

Григорий
08.08.2017
08:23:27
@Masaaq http://pub.paradev.ru/books/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2%20%28%D1%84%D0%B0%D0%B9%D0%BB%20PDF%29.pdf

Mikhail
08.08.2017
08:23:40
Уай нот?
у меня сложилось впечатение, что Вы гонитесь за баззвордами и пытаетесь их безусловно использовать
а это неправильно, я считаю
в программировании главное не программирование само по себе, а выполнение бизнес-задач

Denis
08.08.2017
08:24:07
Простой сферический пример в вакууме: Клон аппворка. Один сервис - борда вакансий и резюме, трекер работы, лк юзера

Massimo
08.08.2017
08:24:12

Mikhail
08.08.2017
08:24:32
поставьте себе задачу типа такого: написать проект, чтобы работал, а не чтобы использовал cbv

Massimo
08.08.2017
08:24:46

Mikhail
08.08.2017
08:24:51
сделайте эт максимально быстро
а когда напишете, проанализируйте, что тут некрасиво и где можно упростить, ускорить и так далее

Denis
08.08.2017
08:25:16
каждый сервис должен использовать какую либо бд, либо свою собственную, либо общую...

Mikhail
08.08.2017
08:25:21
диванные знания тут не помогут, только практика

Google

Denis
08.08.2017
08:26:06
сам себе. Каждый сервис выполняет свою задачу

Mikhail
08.08.2017
08:26:16
океей

Massimo
08.08.2017
08:26:33

Mikhail
08.08.2017
08:26:33
ну вот у меня есть микросервис, который рендерит хтмл-ку, приходящую в POST, в pdf
какая ему нужна база данных и для чего?

Denis
08.08.2017
08:27:45
Давайте мы не будем рассматривать Ваши частные случаи? Я согласен, что есть сервисы, которые не нуждаются в общей бд или которые используют сторонние, например нейросети

Mikhail
08.08.2017
08:28:21
:) частные случаи - это кокрастыке требование микросервисом баз данных
потому что микросервисы по определению - это чёрные ящики
неважно, что у них внутри, как они работают
важно то, что они ожидают на вход и что возвращают
стандартный канал общения микросервисами - это tcp
чаще всего HTTP

Mikhail
08.08.2017
08:29:37
он тормозной, с оверхедом, но такой простой и всем известный :)

Denis
08.08.2017
08:32:58
Я понял Ваш подход, но у Вас оверхед с валидацией данных в таком случае
при чём любых данных

Mikhail
08.08.2017
08:34:30
я так и сказал
но совершенно нет поводов для паники

Denis
08.08.2017
08:35:34
А что касается чёрных ящиков, то тут некорректное сравнение. Тут больше подходят парадигмы unix каждая программа должна выполнять сввою и только свою задачу

Mikhail
08.08.2017
08:36:18
если latency в пределах миллисекунд, чего его жалеть-то

Google

Mikhail
08.08.2017
08:36:54
вот когда (если) latency будет в сотни и\или тысячи ms, тогда, конечно, нужно будет что-то делать
и сравнение вполне себе корректное
все эти штуки - unix way, solid, microservices - это ведь всё об одном и том же, хоть и сферы разные

Denis
08.08.2017
08:37:54
Дело в том что эти миллисекунды зависят напряму от расположения этих сервисов

Mikhail
08.08.2017
08:38:12
и?..

Denis
08.08.2017
08:39:11
То есть чтоб работало "хорошо" нужно обязательно держать их все либо на одной ноде, либо на соседних

Mikhail
08.08.2017
08:39:49
желательно
но не обязательно. Несмотря на то, что микросервисам, как и любым программам из unix, положено делать одну простую вещь, но делать её хорошо, вовсе значит, что микросервис - это что-то маленькое
он может быть вполне себе скейлиться, как горизонтально, так и вертикально
это будет сложно, это будет боль. Но оно ускорится, а пользователь ничего не заметит

Admin
ERROR: S client not available

Denis
08.08.2017
08:43:24
с горизонтальным проблема... при внедрении нового сервиса придётся править и остальные
или часть из них

Mikhail
08.08.2017
08:43:58
умные головы придумали service discovery
если Вы уверены, что Ваш стартап перевернёт мир (а мы ведь все в этом уверены), то Вы учтёте этот момент при начале кодингда. И тогда ничего не придётся менять

Denis
08.08.2017
08:45:35
всё, не хочу холиварить. Всё равно каждый останется при своём мнении)))
Можно было бы пофилософствовать на эту тему за пинтой пива))) В чатике это бессмысленно

Mikhail
08.08.2017
08:48:17
стыдно пить пиво

Denis
08.08.2017
08:50:08
Почему?

b0g3r
08.08.2017
08:50:16

Google

b0g3r
08.08.2017
08:50:56
тем более без добавочки "имхо", "я считаю" и "мне это помогло"

Mikhail
08.08.2017
08:51:26
общий подход к обучению - это что?

b0g3r
08.08.2017
08:51:56
это сказать "обучаться лучше вот так ..."

Mikhail
08.08.2017
08:52:10
ах, это

b0g3r
08.08.2017
08:52:25
опыт @ru_python_beginners, подсказывает, что и книжки читать - это плохо, и проекты делать - это плохо, и исходный код читать - это плохо, и задачки решать - это плохо, и вообще любые способы изучения программирования - это плохо :)

Mikhail
08.08.2017
08:52:35
тогда всё правильно. Обучаться нужно именно так
если не готовить себя к карьере олимпиадника-программиста, конечно
программист - это ремесленник, который решает прикладные задачи

b0g3r
08.08.2017
08:53:15
только как это связанно с изучением программирования - не очень ясно

Mikhail
08.08.2017
08:53:18
задачи бизнеса. За которые ему платят

b0g3r
08.08.2017
08:54:04
какой-то ты сегодня холиварный :)
у программиста, изучающего язык не стоит задача - решить задачу бизнеса, у него стоит задача - изучить язык/инструмент
а дальше уже идет холиварная тема: как этот инструмент изучать

Mikhail
08.08.2017
08:54:23
элементарно. Программист, который умеет умно рассуждать про паттерны, но при этом не может, условно, сделать генерилку прайс-листа в 2 строки - не нужен

b0g3r
08.08.2017
08:54:26
близко к реальной практике, по книжкам, по задачкам, по туторам...

Mikhail
08.08.2017
08:54:39
потому что деньги платят не за знания и не за красоту код

b0g3r
08.08.2017
08:54:54
это всё чудесно и применимо к работе, но к изучению - нет

Mikhail
08.08.2017
08:55:04
а за выполнение бизнес-целей. А бизнесу абсолютно фиолетово, используются там паттерны и нет
нужно умение решить бизнес-задачу
и этому нужно учить. А не паттерны по книжкам
гитом пользоваться - да. Тесты - обязательно (для самоконтроля). средства разработки, линуксы там всякие, контейнеры - нужны
а уж как ты будешь доставать данные из бд, голыми запросами, эктив рекордом или репозиториями - это не интересно никому, кроме твоего эго

b0g3r
08.08.2017
08:58:23
и тех людей, с которыми ты будешь работать, и которым это поддерживать :)