Как стать автором
Обновить
0
1.2

Пользователь

Отправить сообщение

На главной странице https://microservices.io/patterns/index.html приведена схема, где ядром Application Patterns является консистентность данных. Ну и в целом вся архитектура построена на обмене сообщениями. Композиция апи - это лишь малая часть, прием организации взаимодействия.

А какой смысл экономить на человеке лям в год, если он заруинит проект на 100 лямов? Это так не работает. Ты либо работаешь хорошо и получаешь хорошую зп, либо нахер всю эту затею.

Если вы почитаете статью Фаулера полностью (рекомендую перевести в яндекс браузере), то вы увидете раздел Smart endpoints and dumb pipes, в котором как раз таки есть такие слова "Applications built from microservices aim to be as decoupled and as cohesive as possible / Приложения, построенные на основе микросервисов, должны быть максимально независимыми и согласованными" - это фактически означает, что вы не должны через rpc клиент дергать какой-то микросервис, либо делать это осознанно, в качестве исключения. И сбоку кстати висит плашка о том, чтобы не путали сервис ориентированную архитектуру а микросервисной, как раз таки намекая на независимые части. Ну сами посудите, какой смысл заменить в монолите вызов методов через память, вызовом методов через какой-то транспорт и назвать это микросервисом. Ну комон, это глупо.

Если вы решаете проблему реализации разных частей приложения разными командами и языками - то тут в первую очередь нужно говорит о сервис ориентированной архитектуре а не микросервисной. Кстати, вот вам какие-то ребята дали сервис, который они написали на несусветном языке, использую несусветные знания, которые не смогли реализовать в рамках модуля в вашем монолите - что будет, если вы вызовите их сервис, а они в это время будут делать деплой новой версии? То то же.

Ну и в целом, основная мякотка в монолите - это возможно запуска логики в рамках транзакции СУБД, а в микросервисах вам уже нужно самим обслуживать целостность и согласованность данных.

Машалла... У вас изначально было не 15 микросервисов, а просто зоопарк приложений, общающихся между собой через RPC вызовы (вы же не называете СУБД микросервисом хранения данных, а что, довольно таки узкая задача). Архитектура - это как раз таки единый свод правил и принципов построения приложения или его частей. И если эти части реализуются кому как нравится - то это даже архитектурой назвать нельзя. Хотя, отсутствие архитектуры - тоже архитектура (архитектурлесс сервисес)

Основное отличие микросервисной архитектуры - это общение между микросервисами через шину сообщений: микросервису плевать кто отправил и кто получит сообщение, так называемая слабая связность. А то что вы изобрели - уже как лет 15, если не больше, изобретено в Django.

А вы знаете чем asyncio.Queue отличается от queue.Queue ?

Можно узкой плоской, практический по диагонали, срезать штрих код, найти самый короткий штрих и в несколько итераций распознать код, пока он не совпадет с контрольной суммой. Это будет быстрее чем позиционировать код

А что на счет асинхронного логирования?

Ну вот смотрите, один провод нагревается и через него начинает течь меньше тока. Ток перетикает в менее нагретый провод, соотвественно менее негретый провод начинает нагреваться, а более нагретый провод - остывать, ну и таким образом происходит авто балансировка токов и нагрева :)

Типичный случай смены базы - моки для запуска тестов. Просто иногда без тестов банально страшно выкатывать продукт. А если ваш контроллер вызывает User::where('is_active', true)->get(), то такой код протестировать трудно.

Глубоко копаете, всё предусмотреть невозможно :) Для начала можно просто понять, нравятся ли предметы на первых курсах, если да - то в целом, это фундамент, который можно дальше развивать в любом направлении, тем более спустя пару лет учебы, предподчтения становятся гораздо виднее. На фтк кто-то выбрал разрабоику ПО, кто-то - проектирование железа. А были те, которым предметы вообще не заходили, они ушли на другие факультеты, либо волбще забили на учебу. У нас был паренек, который матан и прочую физику щелкал как орехи, но программировать ему было тяжело, так как не понимал как может быть верно выражение х = х + 1:)

Ну а в целом выпускников так раскидало, что даже и в помыслах не было что судьбы и кспьеры так сложатся

Ну вообще питерский Политех это основной поставщик программистов в бигтех и джетбрейнс. Андрей Рогозов гендир вконтакте, учился на фтк (рисовалка на стене это его изобретение), Андрей Власовских - до недавнено времени руководил разработкой Pycharm. И еще куча людей в тех или иных фаангах и интелах. В Политехе учат не хуже чем в других местах, движухи там предостаточно, каждый найдет себе применение. Преподы по фундаменталу - серьезные. В основном проблема в самих студентах, которые в целом не поняли зачем им учеба или выбрали специальность, которая не нравится. Хайповая айтишка действительно встречает суровым и скучным матаном и физикой - многие не вывозят.

А что за проблема с ШАД - высокая конкуренция? Так то учеба там и материал не сказать что сложные

Основная причина провала мвп - это его услуги и функциональность, которые даром не нужны.

Такое ощущение, что статью на РенТВ почитал. Обо всём, да ни о чем. Постгрес и хайлоад? Ну комон. Для хайлоада как раз таки перечисленные индексы не годятся, а тем более транзакции

Похоже автор просто счастлива, что попала в Авито, ибо предыдущие места работы и занимаемые позиции сомнительного качества, после которых даже не страшно в ооо рога и копытв поработать (но тут да, провести пол дня на совещаниях не проканает - работать надо). Представляю как вас допекли.

Возраст 30+ - это да, серьезный возраст, еще 5 - 10 лет и самое время в дом престарелых. Я вообще удивляюсь, почему у нас стариков 35+ лет не изгоняют из городов в деревни или спец поселения для дожития. В 25 закончил учебу, 10 лет поработал и хватит.

Ну почему, вот Тенстек активно пилит свой квери, роутер и формы для солида, всякие уи киты и прочие сборщики поддерживают солид. А что самое главное: код работает так, как ты его видишь, безо всяких ререндеров и колбеков.

Что самое интересное - все войны начинал запад, в которых Россия теряла миллионы людей, но почему-то именно Россия остается в роли потенциального (с вероятностью 99,99%) инициатора войны.

Чего только не придумают, лишь бы Solidjs не использовать, в котором все эти проблемы отсутствуют как класс

"Всего пара строчек кода — и вы уже экономите кучу памяти" - а где замеры этой кучи?

Почему нельзя хранить версии агрегатов в отдельной таблице: тип агрегата | ид агрегата | версия? Можно даже сделать эту таблицу нежурналируемой. Агрегаты ведь могут быть не персистентными и собираться из журнала действий. А команда на изменеие агрегата как раз должна хранить версию агрегата, котопую пытается изменить, чтобы сразу предупредить клиента о конфликте.

Вы пытаетесь модель предметной области материализовать один в один в инфраструктуре, что изначально выглядит порочно

Информация

В рейтинге
1 565-й
Зарегистрирован
Активность