|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
почитываю сейчас книжки по (снова да) акке и ивент дривен архитектуре (разные) и у меня как то в голове каша получается. фп гласит - пишем чтоб не было мутаций, пишем чтоб не было сайдэффектов. ивент дривен подход - чота делаем, чота меняем, потом делаем throw and forget. кому надо -тот поймает и обработает. так вот, когда мы делаем сроу энд форгет - мы же по сути вносим сайдэффект в свои методы? но с другой стороны мне асинхронно ждать ответов от всех листенеров и делать с ними что-то? в первом случае вносим сайдэффект. во втором случае - система уже не получается развязанной. выходит - одно противоречит другому. это я еще не говорю про коммон практики акки юзать вары вместо валов где попало. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 16:27 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Андрей. У тебя - ужасный английский. Лучше не произноси а напиши оригинальный термин. По сабжу. Акторы (как и кеши) сложно обсуждать безотносительно задачи. Давай возьмем какую никакую постановку и рассмотрим ее как императивный код и как акторный. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 17:02 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Согласен. ФП это совершенно другое программирование. Я бы вообще отдельную ветку завел, но ты у нас один такой)). Начни с примера про пиццу на ФП. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 18:11 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
А что про пиццу? Не слыхал такого. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 18:38 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 19:07 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, авторкак мы будем печь функциональный пирог: Пирог—это горячий пирог, остывший на полотенце, где горячий пирог—это подготовленный пирог, выпекавшийся в разогретой духовке 30 минут. Разогретая духовка—это духовка, разогретая до 175°C. Подготовленный пирог—это тесто, выложенное в подготовленный противень, где тесто—это кремовая масса, в которую добавили измельченные грецкие орехи. Где кремовая масса—это масло, сахар-песок и коричневый сахар, взбитые в большой миске до тех пор, пока они не стали легкими и воздушными, где… А, ну его к черту—я не могу это закончить! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 19:10 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Это просто очень неудачный пример. ФП - это декларация функций. ФП - не запрещает event-driven. ФП - вводит дополнительные законы и гарантии касающиеся чистоты и отсутсвия побочных эффектов. Кроме того ФП на более широком уровне позволяет вводить описательное программирование. Тоесть декларации грамматики. Что хотел сказать своим примером автор - непонятно. Тем что реальный мир не натягивается на ФП? Дак он не натягивается даже на базы данных. Это я вам как бывший DBA говорю. Вообще НИКАК не натягивается. Чтоб создать модель БД надо зачистить предметную область от всех исключений. Или брать узкую предметную область. Магазин. Склад. А попробуйте в базу положить семантические знания. Википедию например. Вот с пирогом - тот-же пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:11 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Вы не ищите отличий. А цель исследования объекта найти ХАРАКТЕРНЫЕ ПРИЗНАКИ. То есть - отличия. В статье это напр >императивных языков-таки есть огромное преимущество в том, что у них есть неявное состояние. И люди, и машины очень хорошо работают с неявным состоянием,..... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:45 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, С базами мы подстроились под машины. Вот и всё. Машинам удобнее работять с реляционной теорией. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:47 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Хорошо. Какой вывод вы делаете из этой статьи? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:51 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Хорошо. Какой вывод вы делаете из этой статьи? Выполнить пример с пирогом в парадигме ФП. .... Если вы всю жизнь писали на jdbc, то пример на ОРМ повергнет вас в шок. Аналогия понятна? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:58 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Хорошо. Какой вывод вы делаете из этой статьи? Выполнить пример с пирогом в парадигме ФП. .... Если вы всю жизнь писали на jdbc, то пример на ОРМ повергнет вас в шок. Аналогия понятна? Хорошо. Я не буду писать весь код. Я просто дам пищу для размышлений. Я не знаю язык Haskell. Я в нем нуб. Но я написал несколько учебных koans. И из них я помню что есть оператор $ который ничего не делает но влияет на порядок редукции. И следующий код на Haskell обеспечивает нужный порядок исполнения редукции. Для данного рецепта автор1) Разогрейте духовку до 175°C. Смажьте маслом и посыпьте мукой противень. В маленькой миске смешайте муку, пищевую соду и соль. 2) В большой миске взбивайте масло, сахар-песок и коричневый сахар до тех пор, пока масса не станет легкой и воздушной. Вбейте яйца, одно за раз. Добавьте бананы и разотрите до однородной консистенции. Поочередно добавляйте в получившуюся кремовую массу основу для теста из п. 1 и кефир. Добавьте измельченные грецкие орехи. Выложите тесто в подготовленный противень. 3) Запекайте в разогретой духовке 30 минут. Выньте противень из духовки, поставьте на полотенце, чтоб пирог остыл. На верхнем уровне код выглядит так. Код: python 1.
Это - обеспечит императивный порядок исполнения функций. Profit. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 21:06 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Вот еще пример ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 21:17 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Мне мои мозги 6м чувством говорят. Что они вообще не воспринимают ФП. Мне только отрадно что нас большинство)) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 21:20 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Я думаю твое непонимание базируется на двух ложных предположениях 1) Популярные библиотеки и фреймворки написанные на scala по дефолту написаны в ФП стиле, имеется ввиду akka 2) С какой-то стати ты приравниваешь event-driven с акторной моделью. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 21:58 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Мне мои мозги 6м чувством говорят. Что они вообще не воспринимают ФП. Мне только отрадно что нас большинство)) Скоро останетесь в меньшинстве, как гуру кобола. Уже даже на фронтэнде культура ФП выше чем у условного java-программиста ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 21:59 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Смотри. Я взял Хаскель просто в качестве примера того что пирог можно приготовить. Я мог взять Lisp (мультипарадигменный). Но суть моего месседжа в том что автор статьи на хабре пошёл от крайности. Он видимо хотел показать что функциональная декомпозиция процесса запекания пирога невозможна или сложна. Я просто показал что на базе имеющихся языков - никакой сложности нет. Просто автор статьи "полез в бочку" философии и схоластики. Вот пускай он пишет вторую статью - опровержение где пирог нормально готовиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 22:07 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, Где она выше? На этой ветке статус ФП не поменялся уже сколько лет? А на фронте вообще ничего постоянного нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 22:12 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Я же тебе привел аналогию jdbc/orm и даже код показал. Парадигмы СОВЕШЕННО РАЗНЫЕ. А ты доказываешь что одинаковые? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 22:14 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, >С какой-то стати ты приравниваешь event-driven с акторной моделью. Да. Он вечно пытается все в кучу. Мы тут вроде и просим. Сначала пример на ФП. Демку. А потом остальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 22:16 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp С базами мы подстроились под машины. Вот и всё. Машинам удобнее работять с реляционной теорией. Сетевые и иерархические системы, значит, выкинем из истории? Просто потому, что их существование противоречит вашим взглядам? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 22:19 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, "Выкинуть" это максимализм. Они занимают свое место? Вот и пусть там сидят. Я отвечал на мессандж, почему мы работаем с тем что нам неудобно (человеку? Я ответил что подстроились под комп. Так же как с xml человеку неудобно. Но работаем ведь? А ФП неудобно НИКОМУ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 22:51 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Я же тебе привел аналогию jdbc/orm и даже код показал. Парадигмы СОВЕШЕННО РАЗНЫЕ. А ты доказываешь что одинаковые? Я отсылку к jdbc/orm не очень понял. КМК это слишком далеко от обсуждаемого вопроса. Можешь найти другую аналогию? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 23:00 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А ФП неудобно НИКОМУ))) Смелое утверждение. Если не понимаешь чего-то - сделаем вид что этого не существует) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 00:02 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp mayton, Я же тебе привел аналогию jdbc/orm и даже код показал. Парадигмы СОВЕШЕННО РАЗНЫЕ. А ты доказываешь что одинаковые? Я отсылку к jdbc/orm не очень понял. КМК это слишком далеко от обсуждаемого вопроса. Можешь найти другую аналогию? Здесь подчеркивается величина разницы. Вот перефразирую: Программирование ФП или на Акторах отличается настолько от обычного, как программирование на jdbc отличается от программирования на хибере. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 11:40 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник PetroNotC Sharp А ФП неудобно НИКОМУ))) Смелое утверждение. Если не понимаешь чего-то - сделаем вид что этого не существует) )) Ветка на форуме есть по ФП? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 11:43 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Предлагаю ТС поискать конкретную задачку под ФП. Выше уже озвучивали. Я не максималист. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 11:46 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT и у меня как то в голове каша получается. Отсюда задача - выявить ОСОБЕННОСТИ ФП НА ПРИМЕРАХ. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 11:50 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
У нас не получится однозначно поделить языки на 2 категории. Функциональные и нефункциональные. Скорее всего ФП это некий фасетный классификатор в который можно включить огромное множество. К примеру тот-же Lisp/Scala нельзя однозначно положить в коробку ФП или императивных потому-что языки лежат одновременно в обоих коробках. Они - мультипарадигменные. Поэтому в качестве примера в топике Java можно брать код на мультипарадигменной Скале и писать в ней в функциональном стиле. И сравнивать event-driven. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 12:53 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Да. Есть такая трудность. У тебя были топики. Но они скорее про алгоритмы. А автору подходы / архитектура нужна. Пусть работает, ищет Akka hello world. Мы не торопимся. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 13:04 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Да. Самое большое зло - додумывать за автора его проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 13:23 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
если вкратце то такой флоу (это не конкретно мой но как пример из головы): юзер регается по эндпойнту, ну скажем часть шагов прошел и это заключительный - мы юзеру присваиваем какие-то подписки, отправляем кому надо нотификации, создаем отдельные документы, записи в аналитике и т.п.. как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно. клиенту возвращаются какие-то данные - ну там токен айди не важно. в этом методе параллельно бросается ивент. дальше все листенеры подписанные на этот тип ивента его ловят и делают что-то. и мне в общем то не важно упадут консамеры или не упадут. а если упадут то я делаю набор инструкций онфейл. но что меня тут смущает - это то что тот метод, который инициировал клиент - он как бы об этом знать не знает и вообще бросание ивента - это типичный сайд. вот в конкретно этом случае. я могу сделать чтоб сайд не был сайдом например, делаем джойн ко всем процессам что создаются консамерами и ждем их завершения, собираем данные об исполнении со всех и как то дальше их утилизируем. но тут есть иные скажем так, последствия - понятно какие. причем тут акка? да в общем то не причем. но, как пример, у нее из коробки ивент-дривен. и есть возможность той же широковещательной рассылки "событий" по консамерам (называйте их акторами - как угодно. но суть это консамеры ивентов) и два разных подхода - высоао и забыл и выслал и получил в футуре. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 19:05 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Я ответил что подстроились под комп. И уже потом мистер Кодд сформулировал реляционную алгебру. Причём сам он считал, что для всякой "мелочи" его реляционная алгебра непрактична. Ну а утверждать, что реляционная алгебра, лежащая в основе современного SQL, "подстроена под компьютер" - вообще зашквар какой-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 19:40 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov PetroNotC Sharp Я ответил что подстроились под комп. Это вы вывод сделали на основе того что я не перечислял историю развитие СУБД? А где же презумпция невиновности? ))) - "не говори что я не знаю, если я об это не говорил" ))) Basil A. Sidorov вообще зашквар какой-то. Зашквар - это аргумент. ОК. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 19:58 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT если вкратце то такой флоу (это не конкретно мой но как пример из головы): тебе вторым постом сказали - не бери из головы. Возьми из сети. У тебя произношение слабое. andreykaT юзер регается по эндпойнту, переведи. Аутентификация? Авторизация? Юз кейс - "Приём на работу"? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 20:18 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно. Зачем? Если ты про аутентификацию, то она отдельно совсем. Не смешивай ее с БЛ никогда. Считай что ЗАПИСЬ ЮЗВЕРЯ ЕСТЬ В бд. Разбери юз кейс реальный. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 20:25 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT если вкратце то такой флоу (это не конкретно мой но как пример из головы): юзер регается по эндпойнту, ну скажем часть шагов прошел и это заключительный - мы юзеру присваиваем какие-то подписки, отправляем кому надо нотификации, создаем отдельные документы, записи в аналитике и т.п.. как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно. клиенту возвращаются какие-то данные - ну там токен айди не важно. в этом методе параллельно бросается ивент. дальше все листенеры подписанные на этот тип ивента его ловят и делают что-то. и мне в общем то не важно упадут консамеры или не упадут. а если упадут то я делаю набор инструкций онфейл. но что меня тут смущает - это то что тот метод, который инициировал клиент - он как бы об этом знать не знает и вообще бросание ивента - это типичный сайд. вот в конкретно этом случае. я могу сделать чтоб сайд не был сайдом например, делаем джойн ко всем процессам что создаются консамерами и ждем их завершения, собираем данные об исполнении со всех и как то дальше их утилизируем. но тут есть иные скажем так, последствия - понятно какие. причем тут акка? да в общем то не причем. но, как пример, у нее из коробки ивент-дривен. и есть возможность той же широковещательной рассылки "событий" по консамерам (называйте их акторами - как угодно. но суть это консамеры ивентов) и два разных подхода - высоао и забыл и выслал и получил в футуре. Ты очень лихо провёл параллели между event-driven и Akka. А мне кажется что Akka и любой другой акторный фреймворк это не event-driven . Это eventual consistency . Вот давай сначала разберем эти тонкие различия а потом будем проектировать систему. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 21:20 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp andreykaT как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно. Зачем? Если ты про аутентификацию, то она отдельно совсем. Не смешивай ее с БЛ никогда. Считай что ЗАПИСЬ ЮЗВЕРЯ ЕСТЬ В бд. Разбери юз кейс реальный. Я тебе очертил рамки многошагового процесса. Он инициируется вызовом эндпойнта конкретным клиентских приложением. Окей, авторизация отдельно. Отдельно от чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 22:22 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Лично я ни хрена не понял в чем все таки проблема и что хочется понять ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 00:16 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp забыл ник пропущено... Смелое утверждение. Если не понимаешь чего-то - сделаем вид что этого не существует) )) Ветка на форуме есть по ФП? И что там обсуждать? Тем временем стримы уже пришли, как и лямбды как и иммутабл. Как и понятие о сайд эффектах и чистых функциях. Она на фронтэнде успешно закопано, там же оно и в бигдате, в аналитике его никогда и не было. Онлайн стриминг тоже мимо. С приходом облачных вычислений и серверлесс архитектур ООП осталось вообще недолго, так что мой тебе совет учи пока не поздно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 00:21 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, Она на фронтэнде читать как ООП на фронтэнде ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 00:22 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, Забей. ФП - академическая хрень, далёкая от реальности. Тут важно, какие ты задачи решаешь и чем оно может помочь, на не писать в стиле ФП ради дроча на ФП. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 05:56 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT фп гласит - пишем чтоб не было мутаций, пишем чтоб не было сайдэффектов. ивент дривен подход - чота делаем, чота меняем, потом делаем throw and forget. кому надо -тот поймает и обработает. Молоток и отвёртка- классные вещи. Жаль только, что гвозди отвёткой не вкрутишь. Самрезы можно молотком забить, но фигня получается. Надо не путать одно с другим и не забывать про гаечный ключ и кучу других вещей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 07:14 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, Как это ниже мешает ООП? авторВ этих определениях собраны три основные черты того, что называют Serverless: Абстракция. Вы не управляете сервером, на котором запускается ваша программа. Вы вообще ничего про него не знаете, все нюансы операционной системы, обновлений, сетевых настроек и прочего спрятаны от вас. Это сделано для того, чтобы вы могли сосредоточиться на разработке полезной функциональности, а не на администрировании серверов. Эластичность. Провайдер Serverless услуги автоматически предоставляет вам больше или меньше вычислительных ресурсов, в зависимости от того, насколько большая нагрузка приходится на ваше приложение. Эффективная стоимость. Если ваше приложение простаивает — вы ничего не платите, т.к. оно в этот момент не использует вычислительных ресурсов. Оплата же происходит только за время, которое ваше приложение реально работает. Ограниченный жизненный цикл. Ваше приложение запускается в контейнере, и, спустя короткое время, от десятка минут до нескольких часов, сервис автоматически его останавливает. Конечно же, если приложение снова должно быть вызвано — новый контейнер будет запущен. Стримы в шарп это Linq. Никакого переворота и революции не сделали. Как пришли так и ушли. Есть огромный сдерживающий фактор у облаков и собирания программ из кусочков. Сначала вы грезили что будет тонкий экран клиент у всех. А Ось в облаке. Потом грезили про ворд в облаке. Потом грезили про микросервисы. Потом про докеры. Это ведь все админов касается. Развертывания. Управления ПО. А не РАЗРАБОТКОЙ ПО. Почему EJB помер? >И что там обсуждать? Сначала выясни, это хрень академическая или революционная вещь? Если второе то нужна ветка в форуме. Отдельная. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 07:35 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT PetroNotC Sharp пропущено... Зачем? Если ты про аутентификацию, то она отдельно совсем. Не смешивай ее с БЛ никогда. Считай что ЗАПИСЬ ЮЗВЕРЯ ЕСТЬ В бд. Разбери юз кейс реальный. Я тебе очертил рамки многошагового процесса. Он инициируется вызовом эндпойнта конкретным клиентских приложением. Окей, авторизация отдельно. Отдельно от чего? Отдельно от этого топика. Ее асинхронно не сделать никогда. Убери ее из топика и перефразируй вопрос свой. Hello world найди. Пятый раз просят. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 07:39 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, Держи hello world Akka Раз ты сам вторую страницу никак не родил. https://medium.com/@ian.shiundu/building-a-fully-functional-rest-service-using-akka-actors-8b5c12978380 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 08:46 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Что касается применимости модели акторов в архитектуре. Это в основном асинхронный код, код на событиях. Как это решается БЕЗ АКТОРОВ? Очень просто - в веб короткие транзакции, меньше 0, 1сек - в веб есть кеши - в веб есть контейнер который параллелит. Поэтому пример нужности акторов, это игровые серверы. Там в модели каждая травинка это Актор. Поэтому на старой модели все встанет. Как то так... Имхо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 10:26 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Если вспомним архитектуру ICP/IP кде хосты - это не комьютеры и не датацентры и просто некие абстрактные участники игры которые просто обмениваются пакетами - то любой хост это суть актор. И КМК во встроенном оборудовании и в частности в языке Erlang эти смыслы вопрощены более нативно. И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис (например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими последствиями потерь для пользователей и для сообщений которые ожидают обработки. Вот мне кажется что именно в этом главная суть акторов. В устойчивости к сбоям. А ФП здесь вобщем-то непричем. ФП может быть или может не быть. Но оно не является козырем. Хотя оно полезно для упрощения тестирования и поиска ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 12:10 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис (например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими последствиями потерь для пользователей и для сообщений которые ожидают обработки. Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 12:17 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Когда падает процесс - последствия будут "ужасны" и от архитектуры это слабо зависит. man let_it_crash Basil A. Sidorov Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач. Огромные системы по другому и не могут быть сделаны. И там не то, чтобы очень прям плохо по производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 12:32 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov mayton И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис (например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими последствиями потерь для пользователей и для сообщений которые ожидают обработки. Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач. Да. Согласен. Просто мы можем сильно разойтись в определении процесса или потока в терминологии Erlang и Java/Akka. Может оказаться что одни вкладывают один смысл а другие - сильно другой. Хотя вроде поток и поток. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 12:33 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Модель акторов вроде вообще скрывает эти понятия. О них просто не говорят. Они внизу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 12:36 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Это вопрос понимания глубины стека. Кому-то достаточно понимать только Java. А кому-то интересно нырнуть в ОС чтобы понять как вообще реализованы потоки в Windows/Linux. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 13:15 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 13:16 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov mayton И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис (например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими последствиями потерь для пользователей и для сообщений которые ожидают обработки. Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач. Это если рассматривать в контексте одной ноды. Как праивльно заметили в дистрибьютед системах, а-ля телеком, написанных на Erlang преобладает философия let it crash. Когда обработчики представляют собой тупые ресиверы сообщений, которые обрабатывают только happy-path. Вся обработка ошибок - лесом, проще переподнять актор, чем на месте решать как обработать ошибку. Это спасет от безобразия вроде недетрменированных ошибок(отвалилась сеть, база..) но не поможет в случае нуллпоинтера) Эрланговцы декларируют надежность как 99.9999.. хз ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 16:00 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Вот мне кажется что именно в этом главная суть акторов. В устойчивости к сбоям. А ФП здесь вобщем-то непричем. ФП может быть или может не быть. Но оно не является козырем. Хотя оно полезно для упрощения тестирования и поиска ошибок. Верно. Устойчивость к сбоям + нету shared state, что упрощает программирование многопоточности(как минимум mutual exclusion and visibility concerns) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 16:02 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Я-бы сказал что Erlang != Akka. Но создатели Akka (скорее всего) вдохновлялись системами которые похожи на машину Erlang. Я подчеркну что это не язык а именно исполняющая машина. У них даже есть рекомендация никогда не использовать докер. Потому что они декларируют уровень надёжности этой машины выше чем уровень докера. Не могу к сож. вспомнить где я это читал. Но если найду дам линку. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 16:04 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp забыл ник, Как это ниже мешает ООП? авторВ этих определениях собраны три основные черты того, что называют Serverless: Абстракция. Вы не управляете сервером, на котором запускается ваша программа. Вы вообще ничего про него не знаете, все нюансы операционной системы, обновлений, сетевых настроек и прочего спрятаны от вас. Это сделано для того, чтобы вы могли сосредоточиться на разработке полезной функциональности, а не на администрировании серверов. Эластичность. Провайдер Serverless услуги автоматически предоставляет вам больше или меньше вычислительных ресурсов, в зависимости от того, насколько большая нагрузка приходится на ваше приложение. Эффективная стоимость. Если ваше приложение простаивает — вы ничего не платите, т.к. оно в этот момент не использует вычислительных ресурсов. Оплата же происходит только за время, которое ваше приложение реально работает. Ограниченный жизненный цикл. Ваше приложение запускается в контейнере, и, спустя короткое время, от десятка минут до нескольких часов, сервис автоматически его останавливает. Конечно же, если приложение снова должно быть вызвано — новый контейнер будет запущен. Стримы в шарп это Linq. Никакого переворота и революции не сделали. Как пришли так и ушли. Есть огромный сдерживающий фактор у облаков и собирания программ из кусочков. Сначала вы грезили что будет тонкий экран клиент у всех. А Ось в облаке. Потом грезили про ворд в облаке. Потом грезили про микросервисы. Потом про докеры. Это ведь все админов касается. Развертывания. Управления ПО. А не РАЗРАБОТКОЙ ПО. Почему EJB помер? >И что там обсуждать? Сначала выясни, это хрень академическая или революционная вещь? Если второе то нужна ветка в форуме. Отдельная. Это никак не мешает ООП. Я говорю о том, что ООП в этом случае тебе ничем не помогает ООП вытсрелил во время доминирующей модели вычислений - когда все приложение крутилось на одном сервере и не то чтобы сильно многопоточном. Имело смысл скрыть shared state под оболочкой переиспользования кода, так и появились обхекты - с ними программы реально было менеджить проще. Но время идет, и сейчас все системы идут в стороны распределнности.облачности\многопоточности, где ООП как гиря на ногах. Сейчас нету никакого практического смысла объединять данные и код по их обработке в одном месте. ФП сложнее чем ООП, оно вносит дополнительные ментальные и инфраструктруные усилия, которые начинают перевешивать именно в распределенных и многопоточных системах. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 16:07 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Я-бы сказал что Erlang != Akka. Но создатели Akka (скорее всего) вдохновлялись системами которые похожи на машину Erlang. Я подчеркну что это не язык а именно исполняющая машина. У них даже есть рекомендация никогда не использовать докер. Потому что они декларируют уровень надёжности этой машины выше чем уровень докера. Не могу к сож. вспомнить где я это читал. Но если найду дам линку. Хот-деплой у них. Типа патчи ставятся без остановки системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 16:22 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, Для меня не гиря, а базовое образование инженера программиста. ООП это 3 пункта. Наследование, полиморфизм и инкапсуляция. Куда ты это выкинешь?))). Из расчасовки учителей в школах? А так то я согласен с тобой что его меньше стало. Вон, цветочный магазин построили без него)))) LOL ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 16:52 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Для меня эрланг это ЯП, а Akka это реализация платформа чтобы не думать вообще о параллельном коде. Вообще не задумываться. Всё на событиях. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 16:54 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Наследование, полиморфизм и инкапсуляция. Куда ты это выкинешь?))). Начнем с простого 1) Инкапсуляция. Тут надо рассмотреть два аспекта. Shared state - в ФП все иммутабл - значит и инкапсуляция в общем то и не нужна. Второй аспект видимость - чтобы клиент не видел больше чем надо - так тут работают ровно те же техники что в ООП что в ФП. 2) Полиморфизм. Параметрический полиморфизм есть и там и там. Ad-hoc тоже, хотя в ФП он развит больше. Subtype-полиморфизм есть только в ООП - ну и зачем он нужен, что прям без него прожить нельзя? Дальше в 3-м пункте 3) Наследование - Говорить можно долго, но оно создает больше проблем чем решает. Если наследоваться без стейта - то какой смысл? Можно просто выделить функцию и сделать ее парамтерической. Если наследовать со стейтом - то тогда ломаем все принципы SOLID со всеми вытекающими. Код реюз возможен без какого-то либо наследования. Ну и зачем ООП? Риторический вопрос конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 17:04 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Для меня эрланг это ЯП, а Akka это реализация платформа чтобы не думать вообще о параллельном коде. Вообще не задумываться. Всё на событиях. Я пытался чисто из инженерного интереса освоить Erlang. Отложил. Немного сдался. Есть ощущение сильного legacy. И хотя акторы вдувают в него некую вторую волну интереса все таки он есть и остаётся платформой лишенной некоторых "нужных вещей". Которые нужны нам каждый день. Это драйверы БД. Какие-то фреймворки. Утилиты. Я слышал что они насетапили язык Эликсир поверх ихней платформы. Но по мне это очень похоже на Котлин поверх Java. С одной стороны - удобство. А с другой стороны - отход в сторону от рантайма. Преимущество Java было в том что объекты языка == объекты рантайма или класслоадера. По поводу Akka - я всё жду что будет какой-то проект. Но пока нет акторного ТЗ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 17:06 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, Ты шире смотри. Ты все хочешь заместить одно на другое 1. Инкапсуляция это поведение объекта, класса и черный ящик. Снаружи поведение и внутри реализация. Базовые понятия. На чем их показывать как не классах с ООП. 2. Полиморфизм нельзя прожить. Это проекты рисовалки. Проекты ГИС. Отрисовка всего и вся на одну команду Draw() 3. Про выкинуть наследование вообще лень писать. Как выкинешь, станеш безродным человеком))) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 17:14 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp забыл ник, Ты шире смотри. Ты все хочешь заместить одно на другое 1. Инкапсуляция это поведение объекта, класса и черный ящик. Снаружи поведение и внутри реализация. Базовые понятия. На чем их показывать как не классах с ООП. 2. Полиморфизм нельзя прожить. Это проекты рисовалки. Проекты ГИС. Отрисовка всего и вся на одну команду Draw() 3. Про выкинуть наследование вообще лень писать. Как выкинешь, станеш безродным человеком))) Я вот просматривал чисто из любопытсва исходники популярных игр из 90х. На С. SuperMario. Doom. e.t.c. И почти все они написаны без ООП. И перформанс здесь особо непричем. Просто КМК из создатели были озабочены практическими соображениями. Было важно поддержать широкую часть железа (приставки и игровые автоматы) и эта фича была доминирующей. Тоесть более значимой чем инкапсуляции и прочее. Игра должна играть. А не быть внутри идеологически верной. А вот если взять к примеру интерфейс OpenGL - дак он вообще процедурный. Хотя и достаточно красиво написан с точки зрения системы типов. Лаконично и информативно чтоб разработчик не ошибся и не подсунул другой тип данных или имеющий другой смысл. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 17:44 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Игра должна играть. А не быть внутри идеологически верной. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 18:02 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Рисоввлки это не игрушки а карты, ГИС, проектирование. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 18:52 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Я не против. Я просто уточняю, что абсолютизация чего либо - это крайность. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 18:59 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Я не против. Я просто уточняю, что абсолютизация чего либо - это крайность. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 19:08 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Интересная тема. От нее с моей точки зрения так прямо и воняет - как бы нам максимально в общих чертах переложить требования заказчика, которые никто и не понимает толком на язык программирования, который знаю я. Это не подколка это констатация факта. И все одно и тоже в надежде на чудную пулю. Но если немного посмотреть на нас примитивных - АСУ ТПшников, то окажется, на уровне низкоуровневых PLC контроллеров аля Siemens 1. Есть FB (блок в который кучу извне приходит и он запоминает свое состояние) 2. Есть FC (блок в который куча параметров приходит и он выдать может тоже кучу и он не запоминает свое состояние). 3. Наследования и полиморфизма нет! Самое важное - блоки которые всякое состояние новое запоминают - они согласовываются с проектировщиком, причем под страхом потом залететь. То бишь в письменном виде. Функции - ну все попроще но тоже не смешно. Вопрос:из-за чего холивар? Или я не так понял?.. Скорее всего так, но очень упоительно очередной срач на 50 страниц развести. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 00:28 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Как правильнее программировать процессор. Или как придумать стек подлиннее и позаковыристее чтоб никто кроме автора никогда не смог поддержать данное поделие и чтоб автора никогда не уволили ибо "только эта бородатая сволочь знает как оно внутри работает" Фух. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 01:05 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
а можете просто расписать в рамках ивент-дривен скажем, как вы видите сферический процесс аутентификации юзера и создание им поста, как там ивенты ходят между модулями или сервисами, и т.п.? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 10:41 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, Аутентификация не делается в ивент-дривен. Она СИНХРОННАЯ и давно СТАНДАРТНАЯ. Выше пример давал сделал? Там есть аутентификация? Что ты топик не сопровождаешь? Это не красиво. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 11:18 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp andreykaT, Аутентификация не делается в ивент-дривен. Она СИНХРОННАЯ и давно СТАНДАРТНАЯ. Выше пример давал сделал? Там есть аутентификация? Что ты топик не сопровождаешь? Это не красиво. Ну ты наверное ответил на мой вопрос. Вопрос был в том что можно ли ивент дривен переложить на синхронные наборы действий ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 11:49 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT а можете просто расписать в рамках ивент-дривен скажем, как вы видите сферический процесс аутентификации юзера и создание им поста, как там ивенты ходят между модулями или сервисами, и т.п.? В евент-дривен нет ничего нового. Собственно он возник еще до того как мультипоточка появилась. Например когда ты кодишь комьютерную игру под игровую приставку - ты хендлишь события таймера экрана 50 раз в секунду. И за этот период ты должен принять решение по каждому игровому персонажу. Обычно это проверка коллизий и примитивная логика. Бежать вверх-вниз-влево-вправо. Поток у тебя один. Main-поток и другого нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 12:00 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, Зато ты на мой не ответил. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 12:01 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Двухфакторная аутентификация - классика. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 12:03 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT PetroNotC Sharp andreykaT, Аутентификация не делается в ивент-дривен. Она СИНХРОННАЯ и давно СТАНДАРТНАЯ. Выше пример давал сделал? Там есть аутентификация? Что ты топик не сопровождаешь? Это не красиво. Ну ты наверное ответил на мой вопрос. Вопрос был в том что можно ли ивент дривен переложить на синхронные наборы действий ТЗ на акторы и двухфазную - входим в приложение - сервер пускает как гость так как не авторизовывался ранее - запуск актора Почта который шлет письмо авторизации и актора РаботаГостя - после прихода на урл из письма просыпается актор Регистрация и регистрирует юзверя гостя. ..... С другой стороны любой прогер скажет что сама аутентификация проходит сервером, писать ее не надо и она синхронная. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 13:06 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Предлагаю посмотреть примеры от фреймворков в этой части Simple Event Driven Microservices with Spring Cloud Stream https://spring.io/blog/2019/10/15/simple-event-driven-microservices-with-spring-cloud-stream Я его еще пока не смотрел. И буду смотреть вместе с вами. Что это за хрень CloudStream я пока не знаю. Хорошо-бы найти более рафинированный пример. Может кто знает с технологиями JakartaEE, J2EE? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 13:15 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Спринг опять заберет все что можно на себя и фиг разберешься. Имхо лучше без спринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 13:40 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Предлагаю посмотреть примеры от фреймворков в этой части Simple Event Driven Microservices with Spring Cloud Stream https://spring.io/blog/2019/10/15/simple-event-driven-microservices-with-spring-cloud-stream Я его еще пока не смотрел. И буду смотреть вместе с вами. Что это за хрень CloudStream я пока не знаю. Хорошо-бы найти более рафинированный пример. Судя по ссылке описан синтаксический сахар над Kafka или RabbitMQ mayton Может кто знает с технологиями JakartaEE, J2EE? В принципе ту же Kafka можно использовать без всяких фреймворков. Как минимум для наблюдателей Spring или JEE не особо нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 14:08 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Спринг опять заберет все что можно на себя и фиг разберешься. Имхо лучше без спринга. Ну скажем так. Я только за. Если заберет точно так же как spring-data-jpa :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 14:09 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mad_nazgul, Угу. Кафка, спринг, микросервисы, RabbitMQ, ЕЕ - нельзя мешать в кучу. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 14:23 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Спринг опять заберет все что можно на себя и фиг разберешься. Имхо лучше без спринга. Разумно. Давайте что-то найдем без Спринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 14:34 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, Угу. Кафка, спринг, микросервисы, RabbitMQ, ЕЕ - нельзя мешать в кучу. По сопроводительной документации к тому проекту - Kafka и RabbitMQ - взаимоисключаются на этапе конфигурирования проекта. Свойство -P<profile-choice> просто предлагат нам выбрать один месседж брокер из двух возможных. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 15:01 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, Угу. Кафка, спринг, микросервисы, RabbitMQ, ЕЕ - нельзя мешать в кучу. Почему нельзя? У меня нормально Kafka в Spring-Kafka работает. Про JEE не знаю, т.к. давно его не трогал. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 15:22 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, TC просил Akka. Значит любые добавки оверхед. Она самодостаточная. И он остальное не потянет. Третий день молчит про примеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 15:25 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mad_nazgul PetroNotC Sharp mad_nazgul, Угу. Кафка, спринг, микросервисы, RabbitMQ, ЕЕ - нельзя мешать в кучу. Почему нельзя? У меня нормально Kafka в Spring-Kafka работает. Про JEE не знаю, т.к. давно его не трогал. Тут нет ни первого ни второго. Попробуй, расширь свои скилы с аккой. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 15:29 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton А мне статья понравилась. С тезисом из статьи: "У императивных языков-таки есть огромное преимущество в том, что у них есть неявное состояние. И люди, и машины очень хорошо работают с неявным состоянием, привязанным ко времени... Это не нужно явно описывать." согласен на все 100 %. mayton step1 $ step2 $ step3 Если всю (или 3/4 программы) так писать, то нафиг тогда ФП? Возьмите нормальный язык и по крайне мере с $ не мучайтись ))) p.s. По теме топика сказать нечего, т.к. темы не вижу как таковой. Собственно про AKKA флейм ужу давно был. Что общего у AKKA и ФП - мне не понятно. Что общего у event driven с AKKA и ФП - мне так же не понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 15:36 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Боюсь ТС разницы в словах не поймет, пока не напишет хотя бы 10 строк кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 15:39 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton step1 $ step2 $ step3 Если всю (или 3/4 программы) так писать, то нафиг тогда ФП? Возьмите нормальный язык и по крайне мере с $ не мучайтись ))) Я согласен в целом. Не было у меня такого проекта чтобы 100% pure-functional. Обычно были элементы функциональщины. XPath-преобразования были. Для меня ФП - это не способ зарабатывания денег. Скорее... игры разума. Как и некоторые пятничные задачки. Разве у вас не бывает интереса думать над задачкой которая не имеет бизнец-цели? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 15:50 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Разве у вас не бывает интереса думать над задачкой которая не имеет бизнец-цели? бывало.... лет 10-15 назад сейчас - не бывает ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 15:52 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp andreykaT пропущено... Ну ты наверное ответил на мой вопрос. Вопрос был в том что можно ли ивент дривен переложить на синхронные наборы действий ТЗ на акторы и двухфазную - входим в приложение - сервер пускает как гость так как не авторизовывался ранее - запуск актора Почта который шлет письмо авторизации и актора РаботаГостя - после прихода на урл из письма просыпается актор Регистрация и регистрирует юзверя гостя. ..... С другой стороны любой прогер скажет что сама аутентификация проходит сервером, писать ее не надо и она синхронная. поменяй слово актор на спринг-бин и ничего не изменится ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 17:23 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT поменяй слово актор на спринг-бин и ничего не изменится ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 17:39 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
ВикипедияМодель а́кторов — математическая модель параллельных вычислений, строящаяся вокруг понятия « актор а» (англ. actor — актёр, действующий субъект), считающегося универсальным примитивом параллельного исполнения. Актор в данной модели взаимодействует путём передачи сообщений с другими акторами, в ответ на получаемые сообщения может принимать локальные решения, создавать новые акторы, посылать свои сообщения, устанавливать, как следует реагировать на последующие сообщения. .... под данное определение, любой микросервис, да и вообще, 99% кода попадает ответ на получаемые сообщения может принимать локальные решения, создавать новые акторы, посылать свои сообщения, устанавливать, как следует реагировать на последующие сообщения, форматировать диск C:... и так далее ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 17:45 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp andreykaT поменяй слово актор на спринг-бин и ничего не изменится Ну... у актора перечисленны следующие свойства. - реагирует на сообщения (типа mq) - в ответ на сообщение может послать конечное число сообщений другим акторам - создать конечное количество новых акторов - изменить свое поведение в ответ на ситуацию У бина таких ограничений нет и бин может на это все наплевать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:00 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp пропущено... это ты докажи. Ну... у актора перечисленны следующие свойства. - реагирует на сообщения (типа mq) - в ответ на сообщение может послать конечное число сообщений другим акторам - создать конечное количество новых акторов - изменить свое поведение в ответ на ситуацию У бина таких ограничений нет и бин может на это все наплевать. А актор не может? Нигде не написано, что актор НЕ может: НЕ реагировать на сообщения НЕ посылать другие сообщения в другие акторы НЕ создавать другие акторы НЕ изменять свое поведение.... Если актор просто состоит из инструкции NOP /No operation/, он перестанет быть актором и станет бином? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:19 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Тут скорее весь цемис не в том, что могут или не могут акторы, а КАК именно они обмениваются сообщениями и какими именно сообщениями. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:20 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, bin это класс. А у класса нет функционала послать сообщение другому классу. Писать надо))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:28 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Я себе это понимаю так. Мы отказываемся от понятия callback. И заменяем его на посыл месседжа. Акторная среда обеспечивает очереди где надёжно и без блокировок бегают эти сообщения. Краш актора не должен приводить к потере сообщений. Супервизор после перезапуска стека акторов обеспечивает повторный процессинг сбойного сообщения. При таком подходе обработка исключений становится проще. Что будет внутри актора. NOP, или какая-то умная логика - особо значения не играет. Главное что мы следуем определённому принципу построения системы которая... ну... более robasty чем обычная классическая. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:30 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Да. Только сбой актора приводит к потерям. Но решения все равно есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:33 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, bin это класс. А у класса нет функционала послать сообщение другому классу. Писать надо))) Почему нет? Я-же выше приводил пример проекта. Там бины LoanChecker и LoansourceApplication. Они строят функционал конвейера где один - потребитель а другой производитель сообщений. Среда между ними - не определена но я думаю что в Spring достаточно много технологий как обеспечить транспорт. Хотя это еще не акторы. Я не вижу над ними "смотрящего". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:33 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Причем тут спринг? Мы про модель акторов. У нее нет состояния. И давай не будем про спринг. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:38 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А у класса нет функционала послать сообщение другому классу. Как нет? а вызов метода, чем не посылка сообщения? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:42 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Я себе это понимаю так. Мы отказываемся от понятия callback. И заменяем его на посыл месседжа. Акторная среда обеспечивает очереди где надёжно и без блокировок бегают эти сообщения. Краш актора не должен приводить к потере сообщений. Супервизор после перезапуска стека акторов обеспечивает повторный процессинг сбойного сообщения. При таком подходе обработка исключений становится проще. Что будет внутри актора. NOP, или какая-то умная логика - особо значения не играет. Главное что мы следуем определённому принципу построения системы которая... ну... более robasty чем обычная классическая. Плохо это себе представляю. Как я понимаю, актор МОЖЕТ содержать состояние. Как при этом "Краш актора не должен приводить к потере сообщений. Супервизор после перезапуска стека акторов обеспечивает повторный процессинг сбойного сообщения" - не понимаю Состояние потерялось. Перезапускай/не перезапускай - оно уже потеряно. Сообщения, которые зависят от этого состояния, можно отправлять в dev/null PetroNotC Sharp Мы про модель акторов. У нее нет состояния. ???? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:46 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev PetroNotC Sharp А у класса нет функционала послать сообщение другому классу. Как нет? а вызов метода, чем не посылка сообщения? Чтобы асинхронно нужен поток или адрес каллбэка передать. Маршаллинг и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:52 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev PetroNotC Sharp Мы про модель акторов. У нее нет состояния. ??? Из википедии. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:57 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Как я понимаю, актор МОЖЕТ содержать состояние. Как при этом "Краш актора не должен приводить к потере сообщений. Супервизор после перезапуска стека акторов обеспечивает повторный процессинг сбойного сообщения" - не понимаю Состояние потерялось. Перезапускай/не перезапускай - оно уже потеряно. Сообщения, которые зависят от этого состояния, можно отправлять в dev/null Хороший поинт. Я тоже об этом думал. Надо посмотреть примеры использования Akka в проектах. Какой смысл они вкладывают в смену поведения? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 18:59 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Причем тут спринг? Мы про модель акторов. У нее нет состояния. И давай не будем про спринг. На безрыбье и рак рыба. Я вообще гуглил проекты по ключевому слову "Event Driven" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:00 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
[quot Leonid Kudryavtsev#22063844] Как я понимаю, актор МОЖЕТ содержать состояние. Как при этом "Краш актора не должен приводить к потере сообщений. Супервизор после перезапуска стека акторов обеспечивает повторный процессинг сбойного сообщения" - не понимаю Состояние потерялось. Перезапускай/не перезапускай - оно уже потеряно. Сообщения, которые зависят от этого состояния, можно отправлять в dev/null /quot] Актор ДОЛЖЕН содержать состояние, ибо без состояния смысла в акторах ровно ноль, потому что их можно заменить функцией. Насчёт сохранения состояния почитай про персистентные акторы, никаких проблем там нет ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:02 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Какой смысл они вкладывают в смену поведения? Согласись, что если нет состояния - не нужна Оперативная Память Получается супер-пупер язык, который может выполняться на компьютерах БЕЗ оперативной памяти. Одно плохо, данный язык опоздал лет на 20 (когда память была дорогая), тогда бы его с руками и ногами бы оторвали ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:02 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp bin ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:07 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton Какой смысл они вкладывают в смену поведения? Согласись, что если нет состояния - не нужна Оперативная Память Получается супер-пупер язык, который может выполняться на компьютерах БЕЗ оперативной памяти. Одно плохо, данный язык опоздал лет на 20 (когда память была дорогая), тогда бы его с руками и ногами бы оторвали ))) Да мы уже поняли что актор это не лямбда. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:07 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Получается супер-пупер язык, который может выполняться на компьютерах БЕЗ оперативной памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:09 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Leonid Kudryavtsev Как нет? а вызов метода, чем не посылка сообщения? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:11 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник почитай про персистентные акторы, В Модели состояния нет. И я не понял твою панику. А как ФП без состояния? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:12 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov PetroNotC Sharp пропущено... а поток? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:13 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
вадя, OFF/2 Ты промисы юзал? Вот я счас не могу остановить ajax второй если первый неуспешный)))). Асинхронно все блин. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:15 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp mayton, Причем тут спринг? Мы про модель акторов. У нее нет состояния. И давай не будем про спринг. На безрыбье и рак рыба. Я вообще гуглил проекты по ключевому слову "Event Driven" )) если спринг убрать и не матерится словом Микосервисы, то вариантов не так много. Кстати акка как раз на облако заточена. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:18 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton пропущено... На безрыбье и рак рыба. Я вообще гуглил проекты по ключевому слову "Event Driven" )) если спринг убрать и не матерится словом Микосервисы, то вариантов не так много. Кстати акка как раз на облако заточена. Event-driven у меня скорее навивает словосочитание Windows 3.11. Ну или Smalltack / Objective-C и Apple. при чем тут AKKA и микросервисы, мне не понятно ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:22 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp не смогЁшь)) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:25 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, Дак ты сам вырезал одно слово. А про маршаллинг межпроцессорный, межпоточный и межкомповый умолчал. Хитрец.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:29 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Микросервисы баззворд. А винда 3.11 то почему? У меня вот, андроид напоминает. Там сообщения так Код: java 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:33 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Ты промисы юзал? PetroNotC Sharp Вот я счас не могу остановить ajax второй если первый неуспешный)))). Асинхронно все блин. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:34 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Дак ты сам вырезал одно слово. А про маршаллинг межпроцессорный, межпоточный и межкомповый умолчал. Хитрец.)) А где такое есть в https://www.intel.ru/content/www/ru/ru/support/articles/000006900/processors.html Не подскажите, какая инструкция в современных процессорах отвечает за "маршаллинг межпроцессорный, межпоточный и межкомповый" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:35 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
вадя, WS это протокол. А стопорить второй вызов REST через глобальный флаг я посчитал извратом. Читаю промисы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:36 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev А где такое есть в Corba. Но устарело безбожно))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:38 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А винда 3.11 то почему? Странный вопрос. Потому, что это одна из наиболее распространненных и первых ОС построенная на событиях https://docs.microsoft.com/en-us/windows/win32/winmsg/messages-and-message-queues https://docs.microsoft.com/en-us/windows/win32/winmsg/about-messages-and-message-queues https://docs.microsoft.com/en-us/windows/win32/wintouch/sendmessage--postmessage--and-related-functions etc... etc... etc... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:39 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, https://support.microsoft.com/ru-ru/help/150777/info-descriptions-and-workings-of-ole-threading-models Про 3.11 понял. Действительно)) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:42 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Весь современный UI - построен на событиях. И в большинстве случаев - только 1 поток отвечает за отрисовку. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:47 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp WS это протокол. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:49 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
вадя, Отстань. Я тебе про REST а ты мне про WS. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 19:53 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А про маршаллинг межпроцессорный, межпоточный и межкомповый умолчал. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 20:03 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp забыл ник почитай про персистентные акторы, В Модели состояния нет. И я не понял твою панику. А как ФП без состояния? Какие костыли? Какая паника? Дело в том что с акторами кроме меня и частично Леонида никто тут не работал, а рассуждать все могем. Персистентные акторы были изначально и это решение проблемы стейта. При чем тут фп тоже непонятно ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 20:10 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov PetroNotC Sharp А про маршаллинг межпроцессорный, межпоточный и межкомповый умолчал. С сообщениями надо данные передавать. И расшаривать данные. Расскажи хотя бы как ты в поток классу передаешь. ... Скажи прямым текстом - не нужен нам маршаллинг. Не пользуемся! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 20:10 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, Дак ты ясно говори а не вставай в позу. "в Модели акторов глобального состояния нет. Но мы по практике знаем что без него нельзя. Не получается." Так? ... А вот в эрланге получается или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 20:14 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
А ты попробуй найди специалистов в Эрланге. Всё одно что в Коболе искать... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 20:26 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Верю. Я вот в андроид пару часов врубался как модальный диалог получить, и чтобы вернуть что юзверь там напечатал. Нету такого в платформе. Мне ближе синхронный железобетонный код. С состоянием и типизацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 20:43 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Идеальная реализация Актора, это один актор на процесс. Но дорого)). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 20:49 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Идеальная реализация Актора, это один актор на процесс. Но дорого)). Судя по документации Эланга у них там не процессы а потоки. И еще какие-то облегченные. Типа green-thread. Я суть до конца не понял. Но вроде как 10 реальных потоков обслуживают 1000 акторов. По сути - мультиплексирование по событиям. Или continuations. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 20:54 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp С сообщениями надо данные передавать. И расшаривать данные. Чем, как не передачей данных является вызов процедуры/функции/метода? Каким боком ко всему этому вылез протокол упаковки/распаковки, который является (некоторой) технической деталью? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 21:30 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник PetroNotC Sharp пропущено... никто не сомневается что костыли всегда сделают. В Модели состояния нет. И я не понял твою панику. А как ФП без состояния? Какие костыли? Какая паника? Дело в том что с акторами кроме меня и частично Леонида никто тут не работал, а рассуждать все могем. Персистентные акторы были изначально и это решение проблемы стейта. При чем тут фп тоже непонятно Уж коли ты программировал. Кинь ссылочку на пример где очевидно использование смены поведения актора. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 21:34 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Отстань. Я тебе про REST а ты мне про WS. https://stackoverflow.com/questions/13373734/is-rest-over-websockets-possible Yes. You can use REST over WebSocket with library like SwaggerSocket. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 21:44 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp забыл ник, Дак ты ясно говори а не вставай в позу. "в Модели акторов глобального состояния нет. Но мы по практике знаем что без него нельзя. Не получается." Так? ... А вот в эрланге получается или нет? Ты делаешь какие то странные заявления, приписывая их мне. Давай я опишу что у авторов с состоянием а ты уже потом сам решай. Актор это изолированный кусок функционала, у которого есть состояние, но оно обрабатывается в одном потоке, потом что мессаджи приходят из очереди один за одним. И при обработке мессаджа состояние меняется. Более того автор без состояния это антипаттерн ибо бессмысленно. Есть второй поинт, что делать с состоянием если актор упал? Грубо говоря в этом случае состояние постоянно персистится на диск либо ещё куда. А при рестарте высчитывается назад, вот и все. Это чекпоинтинг, как и в стримах. Если под глобальным состоянием ты имеешь ввиду кейс, когда нужно транзакционно поменять Стейт двух акторов, то тут все похоже на микросеовисы - такое просто не предусмотрено при правильной архитектуре ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 22:11 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp забыл ник, Дак ты ясно говори а не вставай в позу. "в Модели акторов глобального состояния нет. Но мы по практике знаем что без него нельзя. Не получается." Так? ... А вот в эрланге получается или нет? Ты делаешь какие то странные заявления, приписывая их мне. Давай я опишу что у авторов с состоянием а ты уже потом сам решай. Актор это изолированный кусок функционала, у которого есть состояние, но оно обрабатывается в одном потоке, потом что мессаджи приходят из очереди один за одним. И при обработке мессаджа состояние меняется. Более того автор без состояния это антипаттерн ибо бессмысленно. Есть второй поинт, что делать с состоянием если актор упал? Грубо говоря в этом случае состояние постоянно персистится на диск либо ещё куда. А при рестарте высчитывается назад, вот и все. Это чекпоинтинг, как и в стримах. Если под глобальным состоянием ты имеешь ввиду кейс, когда нужно транзакционно поменять Стейт двух акторов, то тут все похоже на микросеовисы - такое просто не предусмотрено при правильной архитектуре ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 22:13 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Суть в максимальной изоляции. Поэтому процесс. Но так как дорого, то по факту использует пул потоков. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 22:34 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov PetroNotC Sharp С сообщениями надо данные передавать. И расшаривать данные. Чем, как не передачей данных является вызов процедуры/функции/метода? Каким боком ко всему этому вылез протокол упаковки/распаковки, который является (некоторой) технической деталью? У тебя много технических деталей. Ты сказал что платформа Акка ерунда. Всё сделаем в java. И мы споткнулись на втором отличии платформ. Но отличий не два. Их полно. Глупый спор. 8 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 22:39 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, Я согласен со всем кроме состояния. Актор обрабатывает одно сообщение за раз. Других потоков нету. Зачем состояние? Пока не вижу нужды в моем примере что я выше приводил. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 22:58 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник И при обработке мессаджа состояние меняется Ну дак это вообще не честно)). У ФП тоже есть тогда состояние внутри функции при обработке. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 23:00 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp забыл ник, Я согласен со всем кроме состояния. Актор обрабатывает одно сообщение за раз. Других потоков нету. Зачем состояние? Пока не вижу нужды в моем примере что я выше приводил. Я отвечу тебе и мэйтону одним постом. Представь что у тебя есть сущность аукцион. У него есть айди и есть состояние - bid, количество участников, участники уже присоединившиеся, цена и и.д. первоначально он имеет Стейт Created. Он может принимать сообщение Joinauction от плеера и добавлять его в список присоединившихся. Когда количество присоединившихся достигает нужного количества он переходит в Стейт Started и уже принимает сообщения placeBid но не joinAuction. То есть машина состояний. Как без стейта тут обойтись? А отвечая мэйтону - то на какие сообщения актор может ответить зависит от стейта вот тебе пример ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 23:16 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, bin это класс. А у класса нет функционала послать сообщение другому классу. Писать надо))) Бин это в первую очередь объект. А не класс. Далее, актор а шлет месседж автору б. Да это банальная зависимость. Импорт. Где метод объекта а вызывает метод объекта б передавая параметр ц (который можно называть месседж). Я это опять же сказал применительно к твоему повестванию о процессе. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 23:20 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник А отвечая мэйтону - то на какие сообщения актор может ответить зависит от стейта вот тебе пример Ну хибер в сущностях не хранит состояние. Он их в бд сбрасывает. По классике не надо хранить. Надо сбрасывать карты. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 07:23 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, Напоминаю тебе как ТС чтобы ты не заснул ТЗ на акторы и двухфазную - входим в приложение - сервер пускает как гость так как не авторизовывался ранее - запуск актора Почта который шлет письмо авторизации и актора РаботаГостя - после прихода на урл из письма просыпается актор Регистрация и регистрирует юзверя гостя. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 07:35 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT Бин это в первую очередь объект. А не класс. Тут нам приходит первая фича акторов - они не могут создавать объекты. Не имеют new оператора. andreykaT Далее, актор а шлет месседж автору б. Да это банальная зависимость. Импорт. Где метод объекта а вызывает метод объекта б передавая параметр ц (который можно называть месседж). Оригинально). У акторов нет прямых зависимостей. Актор ЗапросHttp выгребает из своего почтового ящика очередное сообщение и АСИНХРОННО отправляет его в ПОЧТОВЫЙ ЯЩИК актора Почта (он пока занят). .... То есть ты профукал на java с классами 4 пункта. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 07:42 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, Это аналог в андроиде чтобы ты не кричал: "щас я все напишу сам на коленке" Код: java 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 07:45 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp У тебя много технических деталей. Ты сказал что платформа Акка ерунда. Всё сделаем в java. Я спросил простую вещь и ожидал увидеть разумную аргументацию. Правильную или нет - вопрос отдельный, но разумную, а не жонглирование терминами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 08:26 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, Чуть выше ТЗ. Сделаешь на Java? И насколько это легче чем использовать фреймвок для этого звточенный? Чтобы аргументировать надо понять твою позицию. А она пока в трех словах. "ну и чё", "обоснуй отрок",... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 09:03 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp То есть ты профукал на java с классами 4 пункта. Это толсто. Никто это задание скорее всего делать не будет. Просто оно никому не надо. А я-бы пока не взялся пока просто не посмотрю best practices по акторам. Что. Как. Где. Многие вещи лежат под капотом и официальная дока по ним молчит. Тоже самое что хибернейтовские антипаттерны. Официальная дока скорее всего о них тоже молчит. А если спросить гуру - они просто ответят - "не делайте так". И поэтому я хотел выяснить всех этих "не-делайте-таков" до того как кинусь в омут кодинга. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 10:40 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Чуть выше ТЗ. Сделаешь на Java? 2. Берём сервлет-контейнер, JavaMail и делаем. Ну и самое главное: по прежнему неясно, какие принципиальные трудности мешают реализовать "Хрень-ТЗ" без акторов и ФП? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 10:42 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Цель ТЗ это разговаривать с ТС на инженерном языке. Видел, он даже вызов класса асинхронно не знает что такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 10:57 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, Показывайте вместе с ТС как делать будете. Конкретнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 10:59 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, В плюсах задают вопрос - Какие _принципиальные_ трудности написать веб проект на плюсах)). Это не ты? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:02 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Показывайте вместе с ТС как делать будете. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:13 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp В плюсах задают вопрос - Какие _принципиальные_ трудности написать веб проект на плюсах)). Это не ты? Есть две модели "классическая многопоточная", которая опирается на возможности операционной системы и "акторная малопоточная", которая опирается на (сложный) конечный автомат. Язык реализации может быть любым, но вопрос остаётся прежним: какие принципиальные сложности реализовать "Хрень-ТЗ" без акторов или/и без ФП? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:17 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Цель ТЗ это разговаривать с ТС на инженерном языке. Видел, он даже вызов класса асинхронно не знает что такое. вызов класса асинхронно? это что вообще за терминология - сам придумал? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:18 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
по поводу акторов и тп, Пётр, я тебе открою тайну - они через нью создаются. просто это делаешь не ты руками а фабрика что под капотом. тоже самое и с бинами - где ты либо явно это в конфиге прописываешь через нью, либо снова бин фэктори их клепает. если ты сам ручками нью не пишешь - это не значит что его не пишет кто то другой. хотя зачем я это тебе объясняю ты и сам поди это знаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:19 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT PetroNotC Sharp mayton, Цель ТЗ это разговаривать с ТС на инженерном языке. Видел, он даже вызов класса асинхронно не знает что такое. вызов класса асинхронно? это что вообще за терминология - сам придумал? Когда код начнем писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:20 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT я тебе открою тайну - они через нью создаются. просто это делаешь не ты руками а фабрика что под капотом Акка это фреймворк-платформа типа спринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:21 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Я не задаю идиотских вопросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:22 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Пётр, ты какой то излишне агрессивный программист ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:31 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
ТС утверждает что в java можно и без Akka. Код писать не хочет. Закройте топик. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:31 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT Пётр, ты какой то излишне агрессивный программист Все знают, я не люблю ленивых. Выше код на андроиде я сам писал. На плюсах сам писал. А ты завел топик и ни кода, ни ответов нет. Ничего личного. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:33 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Через то, что написал автор топика в самом начале - сложно продраться (язык сообщения - не русский и не английский), но сложно оспорить тот факт, что в Java можно и без Akka. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:35 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, Как вызвать метод асинхронно умеем? А ты говоришь, что я на 10 странице вспотел))))) LOL Садись к компу и сопровождай топик. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:36 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Через то, что написал автор топика в самом начале - сложно продраться ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:38 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Все знают, я не люблю ленивых. Ну и с квантором всеобщности - тоже поаккуратнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:39 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, Ты тоже выражай свои мысли хотя бы на абзац. Проехали. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:41 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp andreykaT, Как вызвать метод асинхронно умеем? А ты говоришь, что я на 10 странице вспотел))))) LOL Садись к компу и сопровождай топик. если ты его напишешь так чтоб он асинхронно вызывался - то ты его вызовешь "асинхронно". не понимаю сути вопроса. ты на меня обиделся когда я сказал что твой алгоритм можно и на бинах написать и ничего не изменится это было сказано в контексте что поставленная тобой задача решается НЕ ТОЛЬКО акторами. тем более что твое описание как бы ты решил ее акторами выглядит ну эээ будто бы ты их используешь не так как задумывали авторы акки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:43 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Поэтому я упростил ДЛЯ НЕГО тз. Ведь ещё Воланд говорил Канту про непонимание окружающих. И хрен бы с ним, этим непониманием - ведь вы настоящий программиста, а не балобол какой-то. Но есть ньюанс - сообщения-то вы не себе отправляете, а этим самым тупорылым лентяям, которые вас окружают. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:44 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
и вообще изначально у меня вопрос был в следующем - что если мы пишем приложение на ивентах у нас в методах появляются сайд-эффекты. это мое первое утверждение. я считаю оно не очень вырным потому что если конечным действием любого метода будет бросание события - то можно сказать что сайдэффекта нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:45 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT если ты его напишешь так чтоб он асинхронно вызывался - то ты его вызовешь "асинхронно". не понимаю сути вопроса. Я не спорю можно все написать. Покажи как выглядит асинхронный вызов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:47 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, давай введем две оси измерений. Евент-дривен и не-евент-дривен. И синхронность и асинхронность. И у нас получается декартова система типа "квадранта Гартнера" и мы можем рассматривать аж 4 варианта архитектуры. Как тебе такое обобщение? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:47 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov PetroNotC Sharp Поэтому я упростил ДЛЯ НЕГО тз. Ведь ещё Воланд говорил Канту про непонимание окружающих. И хрен бы с ним, этим непониманием - ведь вы настоящий программиста, а не балобол какой-то. Но есть ньюанс - сообщения-то вы не себе отправляете, а этим самым тупорылым лентяям, которые вас окружают. Кто не понял ТЗ тот написал. Не поняли двое. Ты и ТС. Решить можно как на java так и на Акка. Но на java в разы дольше. Не согласен? Тогда передохни. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:50 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
del, не верно прочел исходный пост ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:51 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Решить можно как на java так и на Акка. Но на java в разы дольше. 2. "В разы дольше" должно аргументироваться чуть сильнее, чем "заткнись, тупой - ты просто не понял". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:05 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Задание я понял и дал ему оценку - "Хрень ТЗ". Оценка необоснованная, но я на ней не настаиваю. Basil A. Sidorov "В разы дольше" должно аргументироваться чуть сильнее, чем "заткнись, тупой - ты просто не понял". Нет. Это количественная характеристика в человекочасах на проект. .... Видишь, когда ты мысли разворачиваешь, то тебя понимают) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:12 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Как тебе такое обобщение? Если во всё той же императивной программе переменная меняется в одном потоке, а используется в другом - это всё ещё не событие или уже событие? А что тогда событие? А если один поток проверяет атомарный флаг, который меняется в другом потоке - это уже асинхронно или ещё синхронно? P.S. Я намеренно не рассматриваю асинхронный ввод-вывод и прочие сети вместе с IPC. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:16 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, уточню. IPC - это inter process communication? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:18 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp значит стой в сотронке по данному вопросу. Друго нет. ... Нет. Это количественная характеристика в человекочасах на проект. .... Видишь, когда ты мысли разворачиваешь, то тебя понимают) 2. Можно, всё-таки, аргументировать причины, по которым ваше "Идеал-ТЗ" будет быстрее сделано с Akka в сравнении с э-э-э .. С чем, простите, всё-таки, сравнивать будем? 3. А я по прежнему не понимаю ваших ужимок. Уж простите мою серость и убогость. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:21 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton IPC - это inter process communication? С примитивами операционных систем в Java вполне понятные сложности: если нет "общего знаменателя" - сложно создать более-менее универсальную реализацию. Хотя, конечно, в каждом конкретном случае всегда можно выкрутиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:27 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov PetroNotC Sharp значит стой в сотронке по данному вопросу. Друго нет. ... Нет. Это количественная характеристика в человекочасах на проект. .... Видишь, когда ты мысли разворачиваешь, то тебя понимают) 2. Можно, всё-таки, аргументировать причины, по которым ваше "Идеал-ТЗ" будет быстрее сделано с Akka в сравнении с э-э-э .. С чем, простите, всё-таки, сравнивать будем? 3. А я по прежнему не понимаю ваших ужимок. Уж простите мою серость и убогость. На плюсах написать веб проект сложнее? Аргументируете? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:29 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov mayton IPC - это inter process communication? С примитивами операционных систем в Java вполне понятные сложности: если нет "общего знаменателя" - сложно создать более-менее универсальную реализацию. Хотя, конечно, в каждом конкретном случае всегда можно выкрутиться. У нас разные предметные области по работе и по хобби. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:32 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp На плюсах написать веб проект сложнее? Аргументируете? Можете пояснить для тупых - откуда в ваших наездах возникли плюсы? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:44 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Дубль ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:45 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT то если мы пишем приложение на ивентах у нас в методах появляются сайд-эффекты У тебя есть какой-то стейт (структура) в виде одного большого куска. Есть функции, которым передаётся этот стейт, передаётся то, что нужно с этим стейтом сделать и на одних и тех же входных значениях мы получаем один и тот же результат. Profit. И вот эвенты дёргают эти функции. А если они послностью зависимы от стейта, то всё, круг замкнулся мы получаем одно и тоже поведение при одних и тех же входных параметрах. Сайд эффектов нет, функциональщики испытывают тройной оргазм, занавес. А потом внутрь залазит IO и всё портит. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:54 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov PetroNotC Sharp На плюсах написать веб проект сложнее? Аргументируете? Можете пояснить для тупых - откуда в ваших наездах возникли плюсы? А как еще объяснить профит от использования фреймворка Акка? Вы не ответили на вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 13:01 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov mayton Как тебе такое обобщение? Нет. Это не событие. Это просто похоже на volatile поведение переменной. Явление сложное и неоднозначное. Без дополнительной синхронизации такой юзкейс не очень полезен. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 13:18 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Если во всё той же императивной программе переменная меняется в одном потоке, а используется в другом - это всё ещё не событие или уже событие? А что тогда событие? А если один поток проверяет атомарный флаг, который меняется в другом потоке - это уже асинхронно или ещё синхронно? Нет. Я думаю что всё что связано с проверками в прикладном коде где задним числом поток что-то проверяет к асинхронности не имеет отношения. Это просто частные проверки. Я к сожалению не знаю определения асинк-колла но можно просто взять любой современный язык где async-call или future-get реализован и посмотреть. Эти примеры будут другие. Настолько другие что все сомнения отпадут. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 13:22 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А как еще объяснить профит от использования фреймворка Акка? 1. А был ли мальчик? То есть "профит" 2. Назвать akka фреймворком, на мой взгляд достаточно сложно. Попытка портировать некоторые принципы из Erlang'а (или откудо-то еще) с урезанием того, что с JVM не скрестилось. Как раз основные проблемы возникали на уровне связи фраймворки/API (например JavaNIO) и AKKA-код. Если бы на акторах была __вся__ инфраструктура (IO, web, GUI и т.д.), то можно было бы говорить о полноценной среде/фреймворке. Но ведь этого нет. И, подозреваю, не будет. AFAIK В том же самом Erlang, все инфраструктура построена на акторах. С AKKA же получается мешанина легаси_Java + акторы. Если же вообще расматривать полную AKKA Инфраструктуру - то все безумно сложно и не дешево. Например профилировшики, которые могут в проекте/кластере показывать/отслеживать загруженность очередей конкретных акторов. Фиг знает, как настроить динамическую балансировку, что бы при загруженности конкретных акторов как-то динамически запускать дополнительные копии. Программные средства такие есть, но когда интересовался: a) они были достаточно сложны b) стоили денег и не маленьких. Фиг знает, как нужно дорабатывать архитектуру приложения, что бы оно было совместимо с этими средствами. В общем. На словах все легко и просто. На деле - сложность решения и _сопровождения_ решения зашкаливает. Что мешает делать проекты event driven и без AKKA - мне не понятно. Достоинства которые рекламируют, типа возможности запускать на кластере и легко раскидывать акторы по разным узлам - на словах хорошо, но представляя цену такого подхода (разница в латенси между сообщениями в памяти и в сети), у меня волосы становятся дыбом и то, что все будет работать "само и быстро" - я не верю. IMHO & AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 13:23 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Ну и я не понимаю базовой веши. Вот есть у меня прикладная задача. Допустим биллинг или бухгалтерия или склад. Крупный. Есть бизнес объект СЧЕТ В парадигме СУБД - счет будет запись в таблице bills В парадигме ООП - счет будет инстанс класса Bill. От одного этого, у СУБДшников волосы дыбом встанут. Но Гради Бутч считал (книга Объектно ориентированное программирование и анализ. 1990-ые годы), что это правильно. Память на серверах иногда заканчивается ))), но зато все ООПшно ))) Что это будет в парадигме акторного проектирования: это должно быть событие или актор? По хорошему, вроде актор. Но представить систему с 100500 тысячями акторов Счет и оркестровку всего этого дела - у меня волосы шевелятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 13:32 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, тут проблема в том, что раньше всё было рассчитано для десктопов.и держать в памяти всё и для всех не нужно было. счас это перенося на веб и получается , что для каждого клиента организуется набор как для одного. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 13:42 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 1. А был ли мальчик? То есть "профит" Leonid Kudryavtsev Назвать akka фреймворком, на мой взгляд достаточно сложно. Да. Я не случайно приписывал выше тире Платформа. То есть круче спринга))) Leonid Kudryavtsev Если бы на акторах была __вся__ инфраструктура (IO, web, GUI и т.д.), то можно было бы говорить о полноценной среде/фреймворке. Но ведь этого нет. И, подозреваю, не будет. Спасибо. Согласен. Это больше ТСу зачем он вообще в топике про Akka тред стартанул. Leonid Kudryavtsev Что мешает делать проекты event driven и без AKKA - мне не понятно. Акка ближе к созданию ядра ИС. То есть сообщения внутри системы. Думаю что если вы про АЛЬТЕРНАТИВУ в виде Message oriented midleware в виде Модель наблюдателя в виде kafka то это ближе к интеграции нескольких сервисов. Несколько другая роль у kafka - akka ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 13:49 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Что это будет в парадигме акторного проектирования: это должно быть событие или актор? В игровых серверах каждая травинка актор. Значит что у нас с банальными счетами? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 13:53 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
вадя тут проблема в том, что раньше всё было рассчитано для десктопов.и держать в памяти всё и для всех не нужно было. счас это перенося на веб и получается , что для каждого клиента организуется набор как для одного. При чем тут Веб? Smalltalk - 1970-х годах Гради Буч - около 1997-98 гг "и держать в памяти всё и для всех не нужно было" см. книгу. Точную цитату и номер страницы не скажу. Гради Бучь вполне держал ))) Потом правда выяснилось, что система управления кадрами отказалась работать в транс-национальной корпорации. Память закончилась. Больно сотрудников было много ))) Когда читал книжку, ржал в течение всего вечера. Читать дальше не мог. Т.к. работал в компании, где программировали на FoxPro 2.6 и "640 Кбайт хватало" и кол-ва сотрудников в компании заказчика никак не мешало ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 13:55 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp В игровых серверах каждая травинка актор. Значит что у нас с банальными счетами? "каждый дро#$т так как хочет" ( C ) не зря же прогнозируют, что к 2030-му году рынок полупроводников превысит триллион долларов В свое время читал статью, где человек разбирался как "современные программисты" уровни для Lineage 2 рисуют: Нижний слой - море На море - волны Поверх моря - насыпана суша Поверх суши - сделаны домики По суши ходят персонажи, волны ! (под сушей) колышатся.... просто, надежно и обеспечивает 100% использование процессора ! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 14:10 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev По хорошему, вроде актор. Но представить систему с 100500 тысячями акторов Счет и оркестровку всего этого дела - у меня волосы шевелятся. Я думаю что 100500 акторов не будет. Будет штук 200 акторов которые обрабатывают пользовательские requests. И в каналах и очередях между акторами будет провисать 100500 месседжей поделённых на 200 направлений. Ну... я надеюсь что как-то так оно должно быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 14:31 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Да. Имеем же мы коллекцию сущностей счетов? А класс актора вроде меньше весит чем класс сущность. В сообщении будут идти только нужные счета. Да и не все там. Могут быть айдишники одни. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 14:40 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
На акторе нет ответственности за систему хранения. Пускай счета лежат в Hazelcast или Ignite. Там - надёжно. WriteAheadLog. Следовательно записи будут фиксироваться и в случае краша системы мы просто увидем их последний изменённый state. А акторы пускай просто проводят над счетами операции. Так я-бы задизайнил. Кто тут опытный акторщик? Подтвердите или дайте ваши каменты. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 14:44 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton в случае краша системы 24х7 всегда дорого. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 14:49 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev программировали на FoxPro 2.6 и "640 Кбайт хватало" и кол-ва сотрудников в компании заказчика никак не мешало ))) Leonid Kudryavtsev что система управления кадрами отказалась работать в транс-национальной корпорации ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 15:02 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton На акторе нет ответственности за систему хранения. Пускай счета лежат в Hazelcast или Ignite. Там - надёжно. WriteAheadLog. Следовательно записи будут фиксироваться и в случае краша системы мы просто увидем их последний изменённый state. А акторы пускай просто проводят над счетами операции. Так я-бы задизайнил. Кто тут опытный акторщик? Подтвердите или дайте ваши каменты. Обычно Кассандру юзают. А Стейт держится как в памяти так и в хранилище. Но это если актор задекларирован как персистент, у него свой лайфсайкл. По дефолту Стейт не хранится и при краше все с нуля, зачастую этого достаточно ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 15:50 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
вадя Если брать историю, то концепция ООП родилась ровно из Анализ и Моделирование Берем описание задачи в бизнес-терминах. Выделяем бизнес-сущности (тезариус, используемые термины). Выделяем операции которые над ними могут проводится. Бизнес-сущности в классы, операции в методы. И все. Дешево, надежно, думать не нужно, любую обезьяну программиста-ПТУшника научить можно. На деле, все оказалось не так радужно. Программисты-ПТУшники тут же напридумывали Hibernat'ов, оно оказалось заразным, эпидемия Hibernate-головного-мозга стала распространяться по планете. Вроде сейчас чуть-чуть начала спадать Аналогично и любые другие веяния в программирование. В конце 90-х, на какой-то конференции выступал Вирт и сказал типа "мы тут уже 20 лет ООП, паттерны и все остальное придумываем. А по статистике, производительность труда в микроэлектронники выросла в N десятков раз, а производительность труда программиста на 0,01 %. Нафига тогда мы все это напридумывали?" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 15:57 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Елки, давайте не про ООП нужен/не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 15:59 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
дык про што? Такой же вброс AKKA на вентилятор. Было уже не раз. Вентилятор 100500 раз уже прокрутился и вот опять. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:03 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, согласен, но вот есть разница в применении для десктопов и веба. я вижу что всё что работало для десктопа, применяют для веба, и вот тут возникают проблемы. веб это серверное приложение и оно не равно десктопному приложению. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:07 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Я уж не говорю, что исходное сообщение, вооще никто не понял andreykaT почитываю сейчас книжки по (снова да) акке и ивент дривен архитектуре (разные) и у меня как то в голове каша получается. фп гласит - пишем чтоб не было мутаций, пишем чтоб не было сайдэффектов. ивент дривен подход - чота делаем, чота меняем, потом делаем throw and forget. кому надо -тот поймает и обработает. так вот, когда мы делаем сроу энд форгет - мы же по сути вносим сайдэффект в свои методы? но с другой стороны мне асинхронно ждать ответов от всех листенеров и делать с ними что-то? в первом случае вносим сайдэффект. во втором случае - система уже не получается развязанной. выходит - одно противоречит другому. это я еще не говорю про коммон практики акки юзать вары вместо валов где попало. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:08 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник mayton На акторе нет ответственности за систему хранения. Пускай счета лежат в Hazelcast или Ignite. Там - надёжно. WriteAheadLog. Следовательно записи будут фиксироваться и в случае краша системы мы просто увидем их последний изменённый state. А акторы пускай просто проводят над счетами операции. Так я-бы задизайнил. Кто тут опытный акторщик? Подтвердите или дайте ваши каменты. Обычно Кассандру юзают. А Стейт держится как в памяти так и в хранилище. Но это если актор задекларирован как персистент, у него свой лайфсайкл. По дефолту Стейт не хранится и при краше все с нуля, зачастую этого достаточно Я же говорю не про стейт актора. А про бизнес - сущности типа счетов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:12 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton Я же говорю не про стейт актора. А про бизнес - сущности типа счетов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:14 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Я уж не говорю, что исходное сообщение, вооще никто не понял ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:14 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
вадя согласен, но вот есть разница в применении для десктопов и веба. я вижу что всё что работало для десктопа, применяют для веба, и вот тут возникают проблемы. веб это серверное приложение и оно не равно десктопному приложению. В чем разница? Можно по пунктам попытаться сформулировать. mayton Весь современный UI - построен на событиях. И в большинстве случаев - только 1 поток отвечает за отрисовку. В данном случае под словом "современный", mayton явно имел в виду 20+ лет давности. GUI, как минимум после Windows 3.11, исключительно на событиях. Что такого появилось в веб, что even driven стало требовать исключительно ФП и AKKA - мне не понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:15 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Что такого появилось в веб, что even driven стало требовать исключительно ФП и AKKA - мне не понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:20 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev В чем разница? Можно по пунктам попытаться сформулировать. подключается другой клиент делает тот же запрос , но с несколько другими параметрами - на сервере создаётся новый объект по сути такой же как и первый , но с другими данными. а если таких клиентов N? если с десктопом всё было ясно - куча объектов для одного юзверя на одной машине - пока не изменил в базе, значит ни внёс изменения. другим надо перезапрашивать базу чтоб иметь актуальные данные. на вэбе пытаются решить эту проблему через чтО? без обновления в базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:34 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton забыл ник пропущено... Обычно Кассандру юзают. А Стейт держится как в памяти так и в хранилище. Но это если актор задекларирован как персистент, у него свой лайфсайкл. По дефолту Стейт не хранится и при краше все с нуля, зачастую этого достаточно Я же говорю не про стейт актора. А про бизнес - сущности типа счетов. Как одно противоречит другому? Бизнес сущность и есть актор, все остальные акторы - скорее всего что-то надуманное ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:39 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
В общем топик явно зарулил не туда) я тоже не вижу юскейса под акторы если честно. Можно, но не нужно. Akka-streams мне понравились больше, но если честно какого то особого преимущества тоже не нашел, но зато нету и особого гемора. Что касается фп это отдельная тема и я считаю у него есть огромная перспектива, как минимум знать надо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:44 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev В данном случае под словом "современный", mayton явно имел в виду 20+ лет давности. GUI, как минимум после Windows 3.11, исключительно на событиях. Что такого появилось в веб, что even driven стало требовать исключительно ФП и AKKA - мне не понятно Леонид я в части позиции (энтузиаст или скептик) нахожусь ближе к твоей стороне. Я пытаюсь понять ЧТО и ГДЕ. И здесь несколько раз обращаюсь к знатокам с ожиданием некого подтверждения что ДА дескыть это так. Наука эта - практическая. И никакая теория пока ее не покрывает. Тоесть нету ни Дейта ни Буча который скажет - ребята акторы - это тото и тото и юзайте их так и эдак. Я просто вижу что есть некий итеративный процесс который находит эти штуки ИНОГДА полезными. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 16:52 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник mayton На акторе нет ответственности за систему хранения. Пускай счета лежат в Hazelcast или Ignite. Там - надёжно. WriteAheadLog. Следовательно записи будут фиксироваться и в случае краша системы мы просто увидем их последний изменённый state. А акторы пускай просто проводят над счетами операции. Так я-бы задизайнил. Кто тут опытный акторщик? Подтвердите или дайте ваши каменты. Обычно Кассандру юзают. А Стейт держится как в памяти так и в хранилище. Но это если актор задекларирован как персистент, у него свой лайфсайкл. По дефолту Стейт не хранится и при краше все с нуля, зачастую этого достаточно Не имею ничегео против Кассандры. Но КМК стоимость владения для нее будет подороже из-за требований более строгой In-memory системы хранения. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 18:32 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Ну дак хранилище по кошельку и требованиям. Scylladb попроще. Реляционные в ссылке выше давал. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 19:11 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
по event-driven будет вебинар 8 октября https://academy.skai.tech/events/event-driven-podxod-na-osnove-java/ ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 18:59 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
SKAI_Academy по event-driven будет вебинар 8 октября https://academy.skai.tech/events/event-driven-podxod-na-osnove-java/ был смотрел. 2 часа чел рассказыал как как настроить брокер, сделать продюссер консюмер и послать сообщение от одного другому. про архитектуру и дизайн ни слова. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2020, 17:57 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120656]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
60ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
175ms |
get tp. blocked users: |
1ms |
others: | 273ms |
total: | 561ms |
0 / 0 |