Alexey
схема же меняется
Alexey
микросервисы это про другое немножк
Alexey
у тебя есть класс PostService например в приложении в котором есть метод addPost($id, $title)
Alexey
в нем есть реализация
Alexey
при распиле ты делаешь отдельное приложение, которое экспортирует через рест или jsonrpc или xmlrpc свой метод addPost
Alexey
и к нему клиент-прокси PostServiceClient с методом addPost
Alexey
как-то так
Alexey
но без докера это все баловство, конечно :D
Alexey
да
Alexey
для твоего приложения все должно остаться примерно как и было 😊
Anonymous
Alexey
но у меня тоже примитивно все ) без оркестрации
Anonymous
Ну я так же, докер-композ юзаю.
Советую тебе traefik как ревес прокси 80-го порта и portainer
Anonymous
Прикольные вещи, маст хев.
Alexey
а я по старинке через nginx проксирую 😊
Alexey
а без композа да, никуда
Dmitriy
Dmitriy
Dmitriy
без разниц
тогда это не будет msa. где-то был доклад на эту тему
Юрий
set_troll_mode_on
Крым и Луганская область в выборке
Kairzhan
два раза where
Alexey
Dmitriy
Неправда
Эрик Эванс не согласен с этим. да и микросервис тогда зависит от "архитектуры" другого сервиса . что уже ад
Sam
К слову о докере, можете пояснить всё же для чего он? Мне как-то объясняли, но я слабо понял, честно говоря
Sam
А по описанию как-то не могу понять. Может где-то есть мануал для блондинок/чайников?
Alexey
Alexey
Alexey
https://2017.codefest.ru/lecture/1163
Alexey
Вот хороший доклад на эту тему
Alexey
Отличия от монолита, pros/cons
Dmitriy
Микросервисы зависеть от других сервисов, это норма
зависить от бд ? ну ну
любая БД не может быть одновременно согласованной, доступной и распределённой на несколько транзакционых центров. Микросервисы — это именно выделение нескольких транзакционных центров. Значит, у вас не будет либо гарантии согласованности данных, либо гарантии доступности сервиса, и любая операция в такой системе будет вероятностная.
Alexey
Ты путаешь чет)
Alexey
https://12factor.net/ru/backing-services
Alexey
Кури матчасть
Dmitriy
Alexey
Микросервисы это не про транзакции совсем, это про разделение места (и иногда времени) выполнения запроса
Alexey
Ты ща вообще про пайплайнинг говоришь
Alexey
А любой микросервис это просто хорошее 12-factor приложение
Дмитрий
Ребят подскажите, можно ли в АР описать связь hasOne via table ?
Alexey
Dmitriy
Dmitriy
Alexey
Не
Alexey
Это все частности
Alexey
И дополнительная точка отказа
Alexey
Архитектуре CORBA много лет и она тоже не про микросервисы)
Dmitriy
Не
изменили мы бд. значит нужно менять 100500 сервисов, а ведь 1 у нас бд то. что не сделали бы если бы у них бд были разнные
Alexey
Alexey
У тебя в кластере может одновременно работать условный PostService v1 и PostService v2 с разными интерфейсами (апи), и тебе надо это разрулить
Dmitriy
речь не про API а про зависимость любого сервиса от бд.
Децентрализованное хранение очень важно в MSA
Dmitriy
Единственный случай, когда разные службы могут использовать одно хранилище если эти службы представляют собой точные копии друг друга
Dmitriy
Dmitriy
типо так
Alexey
Просто презу с кодефеста посмотри и не останется вопросов совсем)
Dmitriy
я уже смотрел и с GOTO и Мартин Фаулера и Чед Фаулера, Эванса и еще кого-то кто.
Дмитрий
я конечно извиняюсь что встреваю в беседу о высшем, но никто не может подсказать примитивную вещь по поводу связей в АР ИИ2 ?
Dmitriy
? задавай без прилюдий
Дмитрий
короч связь есть один ко многим и соответственно многие к одному
Дмитрий
через связующую таблицу
Дмитрий
в моделе один ко многим всё ок
Дмитрий
public function getAdSpots()
{
return $this->hasMany(
AdSpot::class,
['id' => 'ad_spot_id']
)->viaTable(
'{{%ad_campaign_to_ad_spot}}',
['ad_campaign_id' => 'id']
);
}
Дмитрий
а вот в моделе многие к одному , чот не могу описать связь через таблицу
Дмитрий
и вообще это возможно ли?
Дмитрий
туплю на этом месте
Дмитрий
чтобы не заводить в самой таблице многих айди одного?
Anna
Павел
Дело Анна глаголет!
Павел
Проблема в том что у него через промежуточную таблицу связь, а не напрямую
Павел
Имхо так
Дмитрий
дада, в этом и косяк
Павел
Заведи вторую hasMany
Павел
Просто там будет. Один id всегда
Павел
Сделаешь distinct
Дмитрий
ну да, можно и так, но я думал мало ли ...
Дмитрий
спасибо
Павел
Может и мало ли. Подумай если что придумаешь умного не забудь нам рассказать
Дмитрий
хорошо
Дмитрий
опять же distinict лишняя нагрузка на запрос(