powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / функциональный подход и ивент дривен архитектура
229 сообщений из 229, показаны все 10 страниц
функциональный подход и ивент дривен архитектура
    #39915795
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почитываю сейчас книжки по (снова да) акке и ивент дривен архитектуре (разные)
и у меня как то в голове каша получается.
фп гласит - пишем чтоб не было мутаций, пишем чтоб не было сайдэффектов.
ивент дривен подход - чота делаем, чота меняем, потом делаем throw and forget. кому надо -тот поймает и обработает.

так вот, когда мы делаем сроу энд форгет - мы же по сути вносим сайдэффект в свои методы?
но с другой стороны мне асинхронно ждать ответов от всех листенеров и делать с ними что-то?

в первом случае вносим сайдэффект. во втором случае - система уже не получается развязанной. выходит - одно противоречит другому.

это я еще не говорю про коммон практики акки юзать вары вместо валов где попало.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915798
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей. У тебя - ужасный английский. Лучше не произноси а напиши оригинальный термин.

По сабжу. Акторы (как и кеши) сложно обсуждать безотносительно задачи.

Давай возьмем какую никакую постановку и рассмотрим ее как императивный код и как акторный.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915810
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен.
ФП это совершенно другое программирование.
Я бы вообще отдельную ветку завел, но ты у нас один такой)).
Начни с примера про пиццу на ФП.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915816
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что про пиццу? Не слыхал такого.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915823
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915825
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

авторкак мы будем печь функциональный пирог:
Пирог—это горячий пирог, остывший на полотенце, где горячий пирог—это подготовленный пирог, выпекавшийся в разогретой духовке 30 минут.
Разогретая духовка—это духовка, разогретая до 175°C.
Подготовленный пирог—это тесто, выложенное в подготовленный противень, где тесто—это кремовая масса, в которую добавили измельченные грецкие орехи. Где кремовая масса—это масло, сахар-песок и коричневый сахар, взбитые в большой миске до тех пор, пока они не стали легкими и воздушными, где…

А, ну его к черту—я не могу это закончить!
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915853
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Это просто очень неудачный пример.

ФП - это декларация функций. ФП - не запрещает event-driven.

ФП - вводит дополнительные законы и гарантии касающиеся чистоты
и отсутсвия побочных эффектов. Кроме того ФП на более широком уровне
позволяет вводить описательное программирование. Тоесть декларации
грамматики.

Что хотел сказать своим примером автор - непонятно. Тем что реальный
мир не натягивается на ФП? Дак он не натягивается даже на базы данных.
Это я вам как бывший DBA говорю. Вообще НИКАК не натягивается.

Чтоб создать модель БД надо зачистить предметную область от всех
исключений. Или брать узкую предметную область. Магазин. Склад.
А попробуйте в базу положить семантические знания. Википедию например.

Вот с пирогом - тот-же пример.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915865
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Вы не ищите отличий.
А цель исследования объекта найти ХАРАКТЕРНЫЕ ПРИЗНАКИ. То есть - отличия.
В статье это напр
>императивных языков-таки есть огромное преимущество в том, что у них есть неявное состояние. И люди, и машины очень хорошо работают с неявным состоянием,.....
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915868
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
С базами мы подстроились под машины. Вот и всё.
Машинам удобнее работять с реляционной теорией.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915870
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо. Какой вывод вы делаете из этой статьи?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915873
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хорошо. Какой вывод вы делаете из этой статьи?

Выполнить пример с пирогом в парадигме ФП.
....
Если вы всю жизнь писали на jdbc, то пример на ОРМ повергнет вас в шок.
Аналогия понятна?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915877
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
Хорошо. Какой вывод вы делаете из этой статьи?

Выполнить пример с пирогом в парадигме ФП.
....
Если вы всю жизнь писали на jdbc, то пример на ОРМ повергнет вас в шок.
Аналогия понятна?

Хорошо. Я не буду писать весь код. Я просто дам пищу для размышлений.
Я не знаю язык Haskell. Я в нем нуб. Но я написал несколько учебных koans. И из них я помню
что есть оператор $ который ничего не делает но влияет на порядок редукции.

И следующий код на Haskell обеспечивает нужный порядок исполнения редукции.

Для данного рецепта
автор1) Разогрейте духовку до 175°C. Смажьте маслом и посыпьте мукой противень. В маленькой миске смешайте муку, пищевую соду и соль.
2) В большой миске взбивайте масло, сахар-песок и коричневый сахар до тех пор, пока масса не станет легкой и воздушной. Вбейте яйца, одно за раз. Добавьте бананы и разотрите до однородной консистенции. Поочередно добавляйте в получившуюся кремовую массу основу для теста из п. 1 и кефир. Добавьте измельченные грецкие орехи. Выложите тесто в подготовленный противень.
3) Запекайте в разогретой духовке 30 минут. Выньте противень из духовки, поставьте на полотенце, чтоб пирог остыл.

На верхнем уровне код выглядит так.
Код: python
1.
step1 $ step2 $ step3


Это - обеспечит императивный порядок исполнения функций.

Profit.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915884
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще пример
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915886
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне мои мозги 6м чувством говорят. Что они вообще не воспринимают ФП.
Мне только отрадно что нас большинство))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915891
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю твое непонимание базируется на двух ложных предположениях
1) Популярные библиотеки и фреймворки написанные на scala по дефолту написаны в ФП стиле, имеется ввиду akka
2) С какой-то стати ты приравниваешь event-driven с акторной моделью.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915892
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Мне мои мозги 6м чувством говорят. Что они вообще не воспринимают ФП.
Мне только отрадно что нас большинство))

Скоро останетесь в меньшинстве, как гуру кобола. Уже даже на фронтэнде культура ФП выше чем у условного java-программиста
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915893
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Смотри. Я взял Хаскель просто в качестве примера того что пирог можно приготовить.
Я мог взять Lisp (мультипарадигменный). Но суть моего месседжа в том что
автор статьи на хабре пошёл от крайности. Он видимо хотел показать что
функциональная декомпозиция процесса запекания пирога невозможна или сложна.

Я просто показал что на базе имеющихся языков - никакой сложности нет.

Просто автор статьи "полез в бочку" философии и схоластики.

Вот пускай он пишет вторую статью - опровержение где пирог нормально готовиться.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915895
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Где она выше?
На этой ветке статус ФП не поменялся уже сколько лет?
А на фронте вообще ничего постоянного нет.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915896
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Я же тебе привел аналогию jdbc/orm и даже код показал.
Парадигмы СОВЕШЕННО РАЗНЫЕ.
А ты доказываешь что одинаковые?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915897
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

>С какой-то стати ты приравниваешь event-driven с акторной моделью.
Да. Он вечно пытается все в кучу.
Мы тут вроде и просим.
Сначала пример на ФП. Демку.
А потом остальное.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915899
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
С базами мы подстроились под машины. Вот и всё.
Машинам удобнее работять с реляционной теорией.
Хренассе заявы.
Сетевые и иерархические системы, значит, выкинем из истории? Просто потому, что их существование противоречит вашим взглядам?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915906
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
"Выкинуть" это максимализм.
Они занимают свое место? Вот и пусть там сидят.
Я отвечал на мессандж, почему мы работаем с тем что нам неудобно (человеку?
Я ответил что подстроились под комп.
Так же как с xml человеку неудобно. Но работаем ведь?
А ФП неудобно НИКОМУ)))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915910
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Я же тебе привел аналогию jdbc/orm и даже код показал.
Парадигмы СОВЕШЕННО РАЗНЫЕ.
А ты доказываешь что одинаковые?

Я отсылку к jdbc/orm не очень понял. КМК это слишком далеко от обсуждаемого вопроса.

Можешь найти другую аналогию?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915922
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

А ФП неудобно НИКОМУ)))

Смелое утверждение. Если не понимаешь чего-то - сделаем вид что этого не существует)
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915980
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp
mayton,
Я же тебе привел аналогию jdbc/orm и даже код показал.
Парадигмы СОВЕШЕННО РАЗНЫЕ.
А ты доказываешь что одинаковые?

Я отсылку к jdbc/orm не очень понял. КМК это слишком далеко от обсуждаемого вопроса.
Можешь найти другую аналогию?

Здесь подчеркивается величина разницы.
Вот перефразирую:
Программирование ФП или на Акторах отличается настолько от обычного, как программирование на jdbc отличается от программирования на хибере.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915981
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
PetroNotC Sharp

А ФП неудобно НИКОМУ)))

Смелое утверждение. Если не понимаешь чего-то - сделаем вид что этого не существует)

))
Ветка на форуме есть по ФП?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915982
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю ТС поискать конкретную задачку под ФП.
Выше уже озвучивали. Я не максималист.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915983
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
и у меня как то в голове каша получается.

Отсюда задача - выявить ОСОБЕННОСТИ ФП НА ПРИМЕРАХ.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915992
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас не получится однозначно поделить языки на 2 категории. Функциональные и нефункциональные.
Скорее всего ФП это некий фасетный классификатор в который можно включить огромное множество.
К примеру тот-же Lisp/Scala нельзя однозначно положить в коробку ФП или императивных потому-что
языки лежат одновременно в обоих коробках. Они - мультипарадигменные.

Поэтому в качестве примера в топике Java можно брать код на мультипарадигменной Скале
и писать в ней в функциональном стиле. И сравнивать event-driven.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915995
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да. Есть такая трудность.
У тебя были топики. Но они скорее про алгоритмы.
А автору подходы / архитектура нужна.
Пусть работает, ищет Akka hello world.
Мы не торопимся.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39915997
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Самое большое зло - додумывать за автора его проблемы.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916066
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если вкратце то такой флоу (это не конкретно мой но как пример из головы):

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

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

но что меня тут смущает - это то что тот метод, который инициировал клиент - он как бы об этом знать не знает и вообще бросание ивента - это типичный сайд. вот в конкретно этом случае.

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

причем тут акка? да в общем то не причем. но, как пример, у нее из коробки ивент-дривен. и есть возможность той же широковещательной рассылки "событий" по консамерам (называйте их акторами - как угодно. но суть это консамеры ивентов)
и два разных подхода - высоао и забыл и выслал и получил в футуре.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916080
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Я ответил что подстроились под комп.
А я отмечал про то, что вы плохо знаете историю: иерархические и сетевые СУБД данных появились раньше реляционных. Раньше реляционных появились и СУБД, в которых надо было программировать не запрос, а пути доступа по известной структуре записей и файлов, в которых они размещались.
И уже потом мистер Кодд сформулировал реляционную алгебру. Причём сам он считал, что для всякой "мелочи" его реляционная алгебра непрактична.
Ну а утверждать, что реляционная алгебра, лежащая в основе современного SQL, "подстроена под компьютер" - вообще зашквар какой-то.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916086
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
PetroNotC Sharp
Я ответил что подстроились под комп.
А я отмечал про то, что вы плохо знаете историю

Это вы вывод сделали на основе того что я не перечислял историю развитие СУБД?
А где же презумпция невиновности? )))
- "не говори что я не знаю, если я об это не говорил" )))
Basil A. Sidorov
вообще зашквар какой-то.

Зашквар - это аргумент. ОК.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916091
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
если вкратце то такой флоу (это не конкретно мой но как пример из головы):

тебе вторым постом сказали - не бери из головы. Возьми из сети. У тебя произношение слабое.

andreykaT
юзер регается по эндпойнту,

переведи. Аутентификация? Авторизация? Юз кейс - "Приём на работу"?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916092
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно.

Зачем?
Если ты про аутентификацию, то она отдельно совсем.
Не смешивай ее с БЛ никогда.
Считай что ЗАПИСЬ ЮЗВЕРЯ ЕСТЬ В бд.
Разбери юз кейс реальный.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916114
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
если вкратце то такой флоу (это не конкретно мой но как пример из головы):

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

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

но что меня тут смущает - это то что тот метод, который инициировал клиент - он как бы об этом знать не знает и вообще бросание ивента - это типичный сайд. вот в конкретно этом случае.

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

причем тут акка? да в общем то не причем. но, как пример, у нее из коробки ивент-дривен. и есть возможность той же широковещательной рассылки "событий" по консамерам (называйте их акторами - как угодно. но суть это консамеры ивентов)
и два разных подхода - высоао и забыл и выслал и получил в футуре.

Ты очень лихо провёл параллели между event-driven и Akka.

А мне кажется что Akka и любой другой акторный фреймворк это не event-driven . Это eventual consistency .
Вот давай сначала разберем эти тонкие различия а потом будем проектировать систему.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916128
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно.

Зачем?
Если ты про аутентификацию, то она отдельно совсем.
Не смешивай ее с БЛ никогда.
Считай что ЗАПИСЬ ЮЗВЕРЯ ЕСТЬ В бд.
Разбери юз кейс реальный.

Я тебе очертил рамки многошагового процесса. Он инициируется вызовом эндпойнта конкретным клиентских приложением. Окей, авторизация отдельно. Отдельно от чего?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916144
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я ни хрена не понял в чем все таки проблема и что хочется понять
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916146
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник
пропущено...

Смелое утверждение. Если не понимаешь чего-то - сделаем вид что этого не существует)

))
Ветка на форуме есть по ФП?

И что там обсуждать?
Тем временем стримы уже пришли, как и лямбды как и иммутабл. Как и понятие о сайд эффектах и чистых функциях. Она на фронтэнде успешно закопано, там же оно и в бигдате, в аналитике его никогда и не было. Онлайн стриминг тоже мимо. С приходом облачных вычислений и серверлесс архитектур ООП осталось вообще недолго, так что мой тебе совет учи пока не поздно.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916148
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

Она на фронтэнде читать как ООП на фронтэнде
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916173
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Забей. ФП - академическая хрень, далёкая от реальности. Тут важно, какие ты задачи решаешь и чем оно может помочь, на не писать в стиле ФП ради дроча на ФП.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916179
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
фп гласит - пишем чтоб не было мутаций, пишем чтоб не было сайдэффектов.
ивент дривен подход - чота делаем, чота меняем, потом делаем throw and forget. кому надо -тот поймает и обработает.


Молоток и отвёртка- классные вещи. Жаль только, что гвозди отвёткой не вкрутишь. Самрезы можно молотком забить, но фигня получается.
Надо не путать одно с другим и не забывать про гаечный ключ и кучу других вещей.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916180
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Как это ниже мешает ООП?
авторВ этих определениях собраны три основные черты того, что называют Serverless:

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

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

Эффективная стоимость. Если ваше приложение простаивает — вы ничего не платите, т.к. оно в этот момент не использует вычислительных ресурсов. Оплата же происходит только за время, которое ваше приложение реально работает.

Ограниченный жизненный цикл. Ваше приложение запускается в контейнере, и, спустя короткое время, от десятка минут до нескольких часов, сервис автоматически его останавливает. Конечно же, если приложение снова должно быть вызвано — новый контейнер будет запущен.
Стримы в шарп это Linq.
Никакого переворота и революции не сделали. Как пришли так и ушли.
Есть огромный сдерживающий фактор у облаков и собирания программ из кусочков.
Сначала вы грезили что будет тонкий экран клиент у всех. А Ось в облаке.
Потом грезили про ворд в облаке.
Потом грезили про микросервисы.
Потом про докеры.
Это ведь все админов касается. Развертывания. Управления ПО. А не РАЗРАБОТКОЙ ПО.
Почему EJB помер?
>И что там обсуждать?
Сначала выясни, это хрень академическая или революционная вещь?
Если второе то нужна ветка в форуме. Отдельная.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916182
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
пропущено...

Зачем?
Если ты про аутентификацию, то она отдельно совсем.
Не смешивай ее с БЛ никогда.
Считай что ЗАПИСЬ ЮЗВЕРЯ ЕСТЬ В бд.
Разбери юз кейс реальный.

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

Отдельно от этого топика.
Ее асинхронно не сделать никогда.
Убери ее из топика и перефразируй вопрос свой.
Hello world найди. Пятый раз просят.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916191
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Держи hello world Akka
Раз ты сам вторую страницу никак не родил.
https://medium.com/@ian.shiundu/building-a-fully-functional-rest-service-using-akka-actors-8b5c12978380
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916232
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что касается применимости модели акторов в архитектуре.
Это в основном асинхронный код, код на событиях.
Как это решается БЕЗ АКТОРОВ?
Очень просто - в веб короткие транзакции, меньше 0, 1сек
- в веб есть кеши
- в веб есть контейнер который параллелит.
Поэтому пример нужности акторов, это игровые серверы.
Там в модели каждая травинка это Актор.
Поэтому на старой модели все встанет.
Как то так... Имхо.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916272
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вспомним архитектуру ICP/IP кде хосты - это не комьютеры и не датацентры и просто некие
абстрактные участники игры которые просто обмениваются пакетами - то любой хост это суть актор.

И КМК во встроенном оборудовании и в частности в языке Erlang эти смыслы вопрощены более нативно.
И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный
актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис
(например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими
последствиями потерь для пользователей и для сообщений которые ожидают обработки.

Вот мне кажется что именно в этом главная суть акторов. В устойчивости к сбоям. А ФП здесь вобщем-то непричем.
ФП может быть или может не быть. Но оно не является козырем. Хотя оно полезно для упрощения тестирования
и поиска ошибок.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916277
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный
актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис
(например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими
последствиями потерь для пользователей и для сообщений которые ожидают обработки.
Когда падает процесс - последствия будут "ужасны" и от архитектуры это слабо зависит.
Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916284
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Когда падает процесс - последствия будут "ужасны" и от архитектуры это слабо зависит.

man let_it_crash
Basil A. Sidorov
Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач.

Огромные системы по другому и не могут быть сделаны. И там не то, чтобы очень прям плохо по производительности.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916287
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mayton
И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный
актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис
(например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими
последствиями потерь для пользователей и для сообщений которые ожидают обработки.
Когда падает процесс - последствия будут "ужасны" и от архитектуры это слабо зависит.
Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач.

Да. Согласен. Просто мы можем сильно разойтись в определении процесса или потока в терминологии Erlang и Java/Akka.
Может оказаться что одни вкладывают один смысл а другие - сильно другой. Хотя вроде поток и поток.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916289
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Модель акторов вроде вообще скрывает эти понятия. О них просто не говорят. Они внизу.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916310
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это вопрос понимания глубины стека. Кому-то достаточно понимать только Java.
А кому-то интересно нырнуть в ОС чтобы понять как вообще реализованы потоки в Windows/Linux.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916311
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Согласен.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916398
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mayton
И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный
актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис
(например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими
последствиями потерь для пользователей и для сообщений которые ожидают обработки.
Когда падает процесс - последствия будут "ужасны" и от архитектуры это слабо зависит.
Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач.

Это если рассматривать в контексте одной ноды.
Как праивльно заметили в дистрибьютед системах, а-ля телеком, написанных на Erlang преобладает философия let it crash. Когда обработчики представляют собой тупые ресиверы сообщений, которые обрабатывают только happy-path. Вся обработка ошибок - лесом, проще переподнять актор, чем на месте решать как обработать ошибку. Это спасет от безобразия вроде недетрменированных ошибок(отвалилась сеть, база..) но не поможет в случае нуллпоинтера) Эрланговцы декларируют надежность как 99.9999.. хз
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916401
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton


Вот мне кажется что именно в этом главная суть акторов. В устойчивости к сбоям. А ФП здесь вобщем-то непричем.
ФП может быть или может не быть. Но оно не является козырем. Хотя оно полезно для упрощения тестирования
и поиска ошибок.


Верно. Устойчивость к сбоям + нету shared state, что упрощает программирование многопоточности(как минимум mutual exclusion and visibility concerns)
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916403
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-бы сказал что Erlang != Akka. Но создатели Akka (скорее всего) вдохновлялись системами которые
похожи на машину Erlang. Я подчеркну что это не язык а именно исполняющая машина. У них даже
есть рекомендация никогда не использовать докер. Потому что они декларируют уровень надёжности
этой машины выше чем уровень докера. Не могу к сож. вспомнить где я это читал. Но если найду
дам линку.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916404
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник,
Как это ниже мешает ООП?
авторВ этих определениях собраны три основные черты того, что называют Serverless:

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

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

Эффективная стоимость. Если ваше приложение простаивает — вы ничего не платите, т.к. оно в этот момент не использует вычислительных ресурсов. Оплата же происходит только за время, которое ваше приложение реально работает.

Ограниченный жизненный цикл. Ваше приложение запускается в контейнере, и, спустя короткое время, от десятка минут до нескольких часов, сервис автоматически его останавливает. Конечно же, если приложение снова должно быть вызвано — новый контейнер будет запущен.

Стримы в шарп это Linq.
Никакого переворота и революции не сделали. Как пришли так и ушли.
Есть огромный сдерживающий фактор у облаков и собирания программ из кусочков.
Сначала вы грезили что будет тонкий экран клиент у всех. А Ось в облаке.
Потом грезили про ворд в облаке.
Потом грезили про микросервисы.
Потом про докеры.
Это ведь все админов касается. Развертывания. Управления ПО. А не РАЗРАБОТКОЙ ПО.
Почему EJB помер?
>И что там обсуждать?
Сначала выясни, это хрень академическая или революционная вещь?
Если второе то нужна ветка в форуме. Отдельная.

Это никак не мешает ООП. Я говорю о том, что ООП в этом случае тебе ничем не помогает
ООП вытсрелил во время доминирующей модели вычислений - когда все приложение крутилось на одном сервере и не то чтобы сильно многопоточном. Имело смысл скрыть shared state под оболочкой переиспользования кода, так и появились обхекты - с ними программы реально было менеджить проще. Но время идет, и сейчас все системы идут в стороны распределнности.облачности\многопоточности, где ООП как гиря на ногах. Сейчас нету никакого практического смысла объединять данные и код по их обработке в одном месте. ФП сложнее чем ООП, оно вносит дополнительные ментальные и инфраструктруные усилия, которые начинают перевешивать именно в распределенных и многопоточных системах.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916412
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я-бы сказал что Erlang != Akka. Но создатели Akka (скорее всего) вдохновлялись системами которые
похожи на машину Erlang. Я подчеркну что это не язык а именно исполняющая машина. У них даже
есть рекомендация никогда не использовать докер. Потому что они декларируют уровень надёжности
этой машины выше чем уровень докера. Не могу к сож. вспомнить где я это читал. Но если найду
дам линку.

Хот-деплой у них. Типа патчи ставятся без остановки системы.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916448
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Для меня не гиря, а базовое образование инженера программиста.
ООП это 3 пункта.
Наследование, полиморфизм и инкапсуляция.
Куда ты это выкинешь?))).
Из расчасовки учителей в школах?
А так то я согласен с тобой что его меньше стало.
Вон, цветочный магазин построили без него)))) LOL
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916450
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Для меня эрланг это ЯП, а Akka это реализация платформа чтобы не думать вообще о параллельном коде.
Вообще не задумываться. Всё на событиях.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916457
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Наследование, полиморфизм и инкапсуляция.
Куда ты это выкинешь?))).

Начнем с простого
1) Инкапсуляция. Тут надо рассмотреть два аспекта. Shared state - в ФП все иммутабл - значит и инкапсуляция в общем то и не нужна. Второй аспект видимость - чтобы клиент не видел больше чем надо - так тут работают ровно те же техники что в ООП что в ФП.
2) Полиморфизм. Параметрический полиморфизм есть и там и там. Ad-hoc тоже, хотя в ФП он развит больше. Subtype-полиморфизм есть только в ООП - ну и зачем он нужен, что прям без него прожить нельзя? Дальше в 3-м пункте
3) Наследование - Говорить можно долго, но оно создает больше проблем чем решает. Если наследоваться без стейта - то какой смысл? Можно просто выделить функцию и сделать ее парамтерической. Если наследовать со стейтом - то тогда ломаем все принципы SOLID со всеми вытекающими. Код реюз возможен без какого-то либо наследования.
Ну и зачем ООП? Риторический вопрос конечно
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916459
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Для меня эрланг это ЯП, а Akka это реализация платформа чтобы не думать вообще о параллельном коде.
Вообще не задумываться. Всё на событиях.

Я пытался чисто из инженерного интереса освоить Erlang. Отложил. Немного сдался. Есть ощущение сильного legacy.
И хотя акторы вдувают в него некую вторую волну интереса все таки он есть и остаётся платформой
лишенной некоторых "нужных вещей". Которые нужны нам каждый день. Это драйверы БД. Какие-то
фреймворки. Утилиты. Я слышал что они насетапили язык Эликсир поверх ихней платформы. Но
по мне это очень похоже на Котлин поверх Java. С одной стороны - удобство. А с другой стороны - отход
в сторону от рантайма. Преимущество Java было в том что объекты языка == объекты рантайма или
класслоадера.

По поводу Akka - я всё жду что будет какой-то проект. Но пока нет акторного ТЗ.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916465
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Ты шире смотри. Ты все хочешь заместить одно на другое
1. Инкапсуляция это поведение объекта, класса и черный ящик. Снаружи поведение и внутри реализация.
Базовые понятия.
На чем их показывать как не классах с ООП.
2. Полиморфизм нельзя прожить. Это проекты рисовалки. Проекты ГИС. Отрисовка всего и вся на одну команду Draw()
3. Про выкинуть наследование вообще лень писать. Как выкинешь, станеш безродным человеком)))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916474
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник,
Ты шире смотри. Ты все хочешь заместить одно на другое
1. Инкапсуляция это поведение объекта, класса и черный ящик. Снаружи поведение и внутри реализация.
Базовые понятия.
На чем их показывать как не классах с ООП.
2. Полиморфизм нельзя прожить. Это проекты рисовалки. Проекты ГИС. Отрисовка всего и вся на одну команду Draw()
3. Про выкинуть наследование вообще лень писать. Как выкинешь, станеш безродным человеком)))

Я вот просматривал чисто из любопытсва исходники популярных игр из 90х.
На С. SuperMario. Doom. e.t.c. И почти все они написаны без ООП. И перформанс
здесь особо непричем. Просто КМК из создатели были озабочены практическими
соображениями. Было важно поддержать широкую часть железа (приставки и игровые
автоматы) и эта фича была доминирующей. Тоесть более значимой чем инкапсуляции и прочее.
Игра должна играть. А не быть внутри идеологически верной.

А вот если взять к примеру интерфейс OpenGL - дак он вообще процедурный. Хотя и достаточно красиво
написан с точки зрения системы типов. Лаконично и информативно чтоб разработчик не ошибся и не подсунул
другой тип данных или имеющий другой смысл.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916485
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Игра должна играть. А не быть внутри идеологически верной.
вот и получается что есть первично...
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916509
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Рисоввлки это не игрушки а карты, ГИС, проектирование.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916512
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не против. Я просто уточняю, что абсолютизация чего либо - это крайность.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916514
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я не против. Я просто уточняю, что абсолютизация чего либо - это крайность.
да. Выкинуть ООП это крайность.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916583
АСУ ТПшник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересная тема.
От нее с моей точки зрения так прямо и воняет - как бы нам максимально в общих чертах переложить требования заказчика, которые никто и не понимает толком на язык программирования, который знаю я. Это не подколка это констатация факта.
И все одно и тоже в надежде на чудную пулю.
Но если немного посмотреть на нас примитивных - АСУ ТПшников, то окажется, на уровне низкоуровневых PLC контроллеров аля Siemens
1. Есть FB (блок в который кучу извне приходит и он запоминает свое состояние)
2. Есть FC (блок в который куча параметров приходит и он выдать может тоже кучу и он не запоминает свое состояние).
3. Наследования и полиморфизма нет!

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

Вопрос:из-за чего холивар? Или я не так понял?.. Скорее всего так, но очень упоительно очередной срач на 50 страниц развести.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916590
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как правильнее программировать процессор. Или как придумать стек подлиннее и позаковыристее
чтоб никто кроме автора никогда не смог поддержать данное поделие и чтоб автора никогда не уволили
ибо "только эта бородатая сволочь знает как оно внутри работает"

Фух.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916693
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можете просто расписать в рамках ивент-дривен скажем, как вы видите сферический процесс аутентификации юзера и создание им поста, как там ивенты ходят между модулями или сервисами, и т.п.?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916708
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Аутентификация не делается в ивент-дривен. Она СИНХРОННАЯ и давно СТАНДАРТНАЯ.
Выше пример давал сделал? Там есть аутентификация?
Что ты топик не сопровождаешь?
Это не красиво.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916720
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Аутентификация не делается в ивент-дривен. Она СИНХРОННАЯ и давно СТАНДАРТНАЯ.
Выше пример давал сделал? Там есть аутентификация?
Что ты топик не сопровождаешь?
Это не красиво.

Ну ты наверное ответил на мой вопрос. Вопрос был в том что можно ли ивент дривен переложить на синхронные наборы действий
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916727
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
а можете просто расписать в рамках ивент-дривен скажем, как вы видите сферический процесс аутентификации юзера и создание им поста, как там ивенты ходят между модулями или сервисами, и т.п.?

В евент-дривен нет ничего нового. Собственно он возник еще до того как мультипоточка появилась.
Например когда ты кодишь комьютерную игру под игровую приставку - ты хендлишь события таймера
экрана 50 раз в секунду. И за этот период ты должен принять решение по каждому игровому персонажу.
Обычно это проверка коллизий и примитивная логика. Бежать вверх-вниз-влево-вправо. Поток у тебя
один. Main-поток и другого нет.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916728
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Зато ты на мой не ответил.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916729
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Двухфакторная аутентификация - классика.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916772
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
andreykaT,
Аутентификация не делается в ивент-дривен. Она СИНХРОННАЯ и давно СТАНДАРТНАЯ.
Выше пример давал сделал? Там есть аутентификация?
Что ты топик не сопровождаешь?
Это не красиво.

Ну ты наверное ответил на мой вопрос. Вопрос был в том что можно ли ивент дривен переложить на синхронные наборы действий
если захотеть то прогер все может.
ТЗ на акторы и двухфазную
- входим в приложение
- сервер пускает как гость так как не авторизовывался ранее
- запуск актора Почта который шлет письмо авторизации и актора РаботаГостя
- после прихода на урл из письма просыпается актор Регистрация и регистрирует юзверя гостя.
.....
С другой стороны любой прогер скажет что сама аутентификация проходит сервером, писать ее не надо и она синхронная.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916777
Фотография 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 я пока не знаю.
Хорошо-бы найти более рафинированный пример.

Может кто знает с технологиями JakartaEE, J2EE?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916793
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Спринг опять заберет все что можно на себя и фиг разберешься.
Имхо лучше без спринга.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916806
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 не особо нужен.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916807
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Спринг опять заберет все что можно на себя и фиг разберешься.
Имхо лучше без спринга.


Ну скажем так. Я только за. Если заберет точно так же как spring-data-jpa :-)
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916814
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
Угу.
Кафка, спринг, микросервисы, RabbitMQ, ЕЕ - нельзя мешать в кучу.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916817
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Спринг опять заберет все что можно на себя и фиг разберешься.
Имхо лучше без спринга.

Разумно. Давайте что-то найдем без Спринга.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916832
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mad_nazgul,
Угу.
Кафка, спринг, микросервисы, RabbitMQ, ЕЕ - нельзя мешать в кучу.

По сопроводительной документации к тому проекту - Kafka и RabbitMQ - взаимоисключаются
на этапе конфигурирования проекта. Свойство -P<profile-choice> просто предлагат нам выбрать
один месседж брокер из двух возможных.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916841
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mad_nazgul,
Угу.
Кафка, спринг, микросервисы, RabbitMQ, ЕЕ - нельзя мешать в кучу.


Почему нельзя?

У меня нормально Kafka в Spring-Kafka работает.

Про JEE не знаю, т.к. давно его не трогал.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916844
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
TC просил Akka.
Значит любые добавки оверхед.
Она самодостаточная.
И он остальное не потянет. Третий день молчит про примеры.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916846
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
PetroNotC Sharp
mad_nazgul,
Угу.
Кафка, спринг, микросервисы, RabbitMQ, ЕЕ - нельзя мешать в кучу.


Почему нельзя?

У меня нормально Kafka в Spring-Kafka работает.

Про JEE не знаю, т.к. давно его не трогал.
потому что ты фанат спринга и микросервисов.
Тут нет ни первого ни второго.
Попробуй, расширь свои скилы с аккой.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916852
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp

Это просто очень неудачный пример.
...

А мне статья понравилась. С тезисом из статьи:

"У императивных языков-таки есть огромное преимущество в том, что у них есть неявное состояние. И люди, и машины очень хорошо работают с неявным состоянием, привязанным ко времени... Это не нужно явно описывать."

согласен на все 100 %.

mayton

step1 $ step2 $ step3

Если всю (или 3/4 программы) так писать, то нафиг тогда ФП?
Возьмите нормальный язык и по крайне мере с $ не мучайтись )))

p.s.
По теме топика сказать нечего, т.к. темы не вижу как таковой.
Собственно про AKKA флейм ужу давно был.
Что общего у AKKA и ФП - мне не понятно. Что общего у event driven с AKKA и ФП - мне так же не понятно
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916853
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Боюсь ТС разницы в словах не поймет, пока не напишет хотя бы 10 строк кода.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916860
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

mayton

step1 $ step2 $ step3

Если всю (или 3/4 программы) так писать, то нафиг тогда ФП?
Возьмите нормальный язык и по крайне мере с $ не мучайтись )))

Я согласен в целом. Не было у меня такого проекта чтобы 100% pure-functional.
Обычно были элементы функциональщины. XPath-преобразования были.

Для меня ФП - это не способ зарабатывания денег. Скорее... игры разума.
Как и некоторые пятничные задачки.

Разве у вас не бывает интереса думать над задачкой которая не имеет бизнец-цели?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916861
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Разве у вас не бывает интереса думать над задачкой которая не имеет бизнец-цели?

бывало.... лет 10-15 назад
сейчас - не бывает
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916893
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
пропущено...

Ну ты наверное ответил на мой вопрос. Вопрос был в том что можно ли ивент дривен переложить на синхронные наборы действий
если захотеть то прогер все может.
ТЗ на акторы и двухфазную
- входим в приложение
- сервер пускает как гость так как не авторизовывался ранее
- запуск актора Почта который шлет письмо авторизации и актора РаботаГостя
- после прихода на урл из письма просыпается актор Регистрация и регистрирует юзверя гостя.
.....
С другой стороны любой прогер скажет что сама аутентификация проходит сервером, писать ее не надо и она синхронная.


поменяй слово актор на спринг-бин и ничего не изменится
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916896
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
поменяй слово актор на спринг-бин и ничего не изменится
это ты докажи.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916899
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикипедияМодель а́кторов — математическая модель параллельных вычислений, строящаяся вокруг понятия « актор а» (англ. actor — актёр, действующий субъект), считающегося универсальным примитивом параллельного исполнения. Актор в данной модели взаимодействует путём передачи сообщений с другими акторами, в ответ на получаемые сообщения может принимать локальные решения, создавать новые акторы, посылать свои сообщения, устанавливать, как следует реагировать на последующие сообщения.
....

под данное определение, любой микросервис, да и вообще, 99% кода попадает

ответ на получаемые сообщения может принимать локальные решения, создавать новые акторы, посылать свои сообщения, устанавливать, как следует реагировать на последующие сообщения, форматировать диск C:... и так далее
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916902
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
поменяй слово актор на спринг-бин и ничего не изменится
это ты докажи.

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

У бина таких ограничений нет и бин может на это все наплевать.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916910
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp
пропущено...
это ты докажи.

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

У бина таких ограничений нет и бин может на это все наплевать.

А актор не может?

Нигде не написано, что актор НЕ может:
НЕ реагировать на сообщения
НЕ посылать другие сообщения в другие акторы
НЕ создавать другие акторы
НЕ изменять свое поведение....

Если актор просто состоит из инструкции NOP /No operation/, он перестанет быть актором и станет бином?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916912
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут скорее весь цемис не в том, что могут или не могут акторы, а КАК именно они обмениваются сообщениями и какими именно сообщениями.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916916
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
bin это класс.
А у класса нет функционала послать сообщение другому классу.
Писать надо)))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916918
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я себе это понимаю так.

Мы отказываемся от понятия callback. И заменяем его на посыл месседжа.
Акторная среда обеспечивает очереди где надёжно и без блокировок бегают эти сообщения.
Краш актора не должен приводить к потере сообщений. Супервизор после перезапуска
стека акторов обеспечивает повторный процессинг сбойного сообщения. При таком подходе
обработка исключений становится проще.

Что будет внутри актора. NOP, или какая-то умная логика - особо значения не играет.
Главное что мы следуем определённому принципу построения системы которая... ну...
более robasty чем обычная классическая.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916920
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да. Только сбой актора приводит к потерям.
Но решения все равно есть.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916921
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
bin это класс.
А у класса нет функционала послать сообщение другому классу.
Писать надо)))

Почему нет? Я-же выше приводил пример проекта. Там бины LoanChecker и LoansourceApplication.
Они строят функционал конвейера где один - потребитель а другой производитель сообщений.

Среда между ними - не определена но я думаю что в Spring достаточно много технологий как обеспечить
транспорт. Хотя это еще не акторы. Я не вижу над ними "смотрящего".
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916923
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Причем тут спринг? Мы про модель акторов. У нее нет состояния.
И давай не будем про спринг.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916924
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

А у класса нет функционала послать сообщение другому классу.

Как нет?
а вызов метода, чем не посылка сообщения?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916930
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я себе это понимаю так.

Мы отказываемся от понятия callback. И заменяем его на посыл месседжа.
Акторная среда обеспечивает очереди где надёжно и без блокировок бегают эти сообщения.
Краш актора не должен приводить к потере сообщений. Супервизор после перезапуска
стека акторов обеспечивает повторный процессинг сбойного сообщения. При таком подходе
обработка исключений становится проще.

Что будет внутри актора. NOP, или какая-то умная логика - особо значения не играет.
Главное что мы следуем определённому принципу построения системы которая... ну...
более robasty чем обычная классическая.


Плохо это себе представляю.

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

Состояние потерялось. Перезапускай/не перезапускай - оно уже потеряно. Сообщения, которые зависят от этого состояния, можно отправлять в dev/null

PetroNotC Sharp

Мы про модель акторов. У нее нет состояния.

????
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916933
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
PetroNotC Sharp

А у класса нет функционала послать сообщение другому классу.

Как нет?
а вызов метода, чем не посылка сообщения?
а поток?
Чтобы асинхронно нужен поток или адрес каллбэка передать. Маршаллинг и т.д.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916934
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
PetroNotC Sharp

Мы про модель акторов. У нее нет состояния.

???
в модели акторов нет глобального состояния...
Из википедии.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916935
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

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

Состояние потерялось. Перезапускай/не перезапускай - оно уже потеряно. Сообщения, которые зависят от этого состояния, можно отправлять в dev/null

Хороший поинт. Я тоже об этом думал. Надо посмотреть примеры использования Akka в проектах.
Какой смысл они вкладывают в смену поведения?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916936
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Причем тут спринг? Мы про модель акторов. У нее нет состояния.
И давай не будем про спринг.

На безрыбье и рак рыба.

Я вообще гуглил проекты по ключевому слову "Event Driven"
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916938
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Leonid Kudryavtsev#22063844]
Как я понимаю, актор МОЖЕТ содержать состояние. Как при этом "Краш актора не должен приводить к потере сообщений. Супервизор после перезапуска стека акторов обеспечивает повторный процессинг сбойного сообщения" - не понимаю

Состояние потерялось. Перезапускай/не перезапускай - оно уже потеряно. Сообщения, которые зависят от этого состояния, можно отправлять в dev/null

/quot]
Актор ДОЛЖЕН содержать состояние, ибо без состояния смысла в акторах ровно ноль, потому что их можно заменить функцией.
Насчёт сохранения состояния почитай про персистентные акторы, никаких проблем там нет
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916939
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Какой смысл они вкладывают в смену поведения?

Согласись, что если нет состояния - не нужна Оперативная Память

Получается супер-пупер язык, который может выполняться на компьютерах БЕЗ оперативной памяти. Одно плохо, данный язык опоздал лет на 20 (когда память была дорогая), тогда бы его с руками и ногами бы оторвали )))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916940
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
bin
bean, PetroNotC Sharp, bean.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916941
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
mayton
Какой смысл они вкладывают в смену поведения?

Согласись, что если нет состояния - не нужна Оперативная Память

Получается супер-пупер язык, который может выполняться на компьютерах БЕЗ оперативной памяти. Одно плохо, данный язык опоздал лет на 20 (когда память была дорогая), тогда бы его с руками и ногами бы оторвали )))

Да мы уже поняли что актор это не лямбда.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916943
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Получается супер-пупер язык, который может выполняться на компьютерах БЕЗ оперативной памяти.
это смотря для чего использовать оперативную память. например для ардуики можно написать сервер без использования оперативки. правда это будет простой автомат...
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916944
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Leonid Kudryavtsev
Как нет?
а вызов метода, чем не посылка сообщения?
а поток?
А что поток? Создаём и используем. "Чё не так-то?"
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916947
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
почитай про персистентные акторы,
никто не сомневается что костыли всегда сделают.
В Модели состояния нет.
И я не понял твою панику. А как ФП без состояния?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916948
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
PetroNotC Sharp
пропущено...
а поток?
А что поток? Создаём и используем. "Чё не так-то?"
не смогЁшь))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916950
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
OFF/2
Ты промисы юзал?
Вот я счас не могу остановить ajax второй если первый неуспешный)))).
Асинхронно все блин.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916953
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp
mayton,
Причем тут спринг? Мы про модель акторов. У нее нет состояния.
И давай не будем про спринг.

На безрыбье и рак рыба.

Я вообще гуглил проекты по ключевому слову "Event Driven"

)) если спринг убрать и не матерится словом Микосервисы, то вариантов не так много.
Кстати акка как раз на облако заточена.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916955
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
пропущено...

На безрыбье и рак рыба.

Я вообще гуглил проекты по ключевому слову "Event Driven"

)) если спринг убрать и не матерится словом Микосервисы, то вариантов не так много.
Кстати акка как раз на облако заточена.


Event-driven у меня скорее навивает словосочитание Windows 3.11. Ну или Smalltack / Objective-C и Apple.

при чем тут AKKA и микросервисы, мне не понятно )))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916957
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
не смогЁшь))
"Обоснуй, отрок, а то ты всё программирование на слабО переведёшь"
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916959
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
Дак ты сам вырезал одно слово. А про маршаллинг межпроцессорный, межпоточный и межкомповый умолчал. Хитрец.))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916960
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Микросервисы баззворд.
А винда 3.11 то почему?
У меня вот, андроид напоминает.
Там сообщения так
Код: java
1.
2.
Intent intent = new Intent(this, ActivityTwo.class);
  startActivity(intent);
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916961
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ты промисы юзал?
пока обходился без них...
PetroNotC Sharp
Вот я счас не могу остановить ajax второй если первый неуспешный)))).
Асинхронно все блин.
вот поэтому я обожаю ws
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916962
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Дак ты сам вырезал одно слово. А про маршаллинг межпроцессорный, межпоточный и межкомповый умолчал. Хитрец.))

А где такое есть в
https://www.intel.ru/content/www/ru/ru/support/articles/000006900/processors.html

Не подскажите, какая инструкция в современных процессорах отвечает за "маршаллинг межпроцессорный, межпоточный и межкомповый" ?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916963
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
WS это протокол.
А стопорить второй вызов REST через глобальный флаг я посчитал извратом.
Читаю промисы.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916966
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
А где такое есть в
в COM. Если на разных машинах объекты то DCOM.
Corba.
Но устарело безбожно)))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916967
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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...
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916969
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
https://support.microsoft.com/ru-ru/help/150777/info-descriptions-and-workings-of-ole-threading-models
Про 3.11 понял. Действительно))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916972
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь современный UI - построен на событиях.
И в большинстве случаев - только 1 поток отвечает за отрисовку.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916973
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
WS это протокол.
и что?это не только протокол, это вариант обмена данными полный дуплекс, в отличии от ajax
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916974
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Отстань. Я тебе про REST а ты мне про WS.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916976
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
А про маршаллинг межпроцессорный, межпоточный и межкомповый умолчал.
Каким боком мифический человеко-маршаллинг к возможности исполнять код к в отдельном потоке???
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916978
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник
почитай про персистентные акторы,
никто не сомневается что костыли всегда сделают.
В Модели состояния нет.
И я не понял твою панику. А как ФП без состояния?

Какие костыли? Какая паника? Дело в том что с акторами кроме меня и частично Леонида никто тут не работал, а рассуждать все могем.
Персистентные акторы были изначально и это решение проблемы стейта.
При чем тут фп тоже непонятно
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916979
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
PetroNotC Sharp
А про маршаллинг межпроцессорный, межпоточный и межкомповый умолчал.
Каким боком мифический человеко-маршаллинг к возможности исполнять код к в отдельном потоке???
а ты не сокращай функционал то.
С сообщениями надо данные передавать. И расшаривать данные.
Расскажи хотя бы как ты в поток классу передаешь.
...
Скажи прямым текстом - не нужен нам маршаллинг. Не пользуемся!
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916981
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Дак ты ясно говори а не вставай в позу.
"в Модели акторов глобального состояния нет. Но мы по практике знаем что без него нельзя. Не получается."
Так?
...
А вот в эрланге получается или нет?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916984
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты попробуй найди специалистов в Эрланге.

Всё одно что в Коболе искать...
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916989
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Верю.
Я вот в андроид пару часов врубался как модальный диалог получить, и чтобы вернуть что юзверь там напечатал.
Нету такого в платформе.
Мне ближе синхронный железобетонный код. С состоянием и типизацией.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916991
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Идеальная реализация Актора, это один актор на процесс.
Но дорого)).
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39916993
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Идеальная реализация Актора, это один актор на процесс.
Но дорого)).

Судя по документации Эланга у них там не процессы а потоки. И еще какие-то облегченные.
Типа green-thread. Я суть до конца не понял. Но вроде как 10 реальных потоков обслуживают
1000 акторов. По сути - мультиплексирование по событиям. Или continuations.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917007
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
С сообщениями надо данные передавать. И расшаривать данные.
И каким боком из первого следует второе?
Чем, как не передачей данных является вызов процедуры/функции/метода?
Каким боком ко всему этому вылез протокол упаковки/распаковки, который является (некоторой) технической деталью?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917009
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
PetroNotC Sharp
пропущено...
никто не сомневается что костыли всегда сделают.
В Модели состояния нет.
И я не понял твою панику. А как ФП без состояния?

Какие костыли? Какая паника? Дело в том что с акторами кроме меня и частично Леонида никто тут не работал, а рассуждать все могем.
Персистентные акторы были изначально и это решение проблемы стейта.
При чем тут фп тоже непонятно

Уж коли ты программировал. Кинь ссылочку на пример где очевидно
использование смены поведения актора.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917014
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917027
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник,
Дак ты ясно говори а не вставай в позу.
"в Модели акторов глобального состояния нет. Но мы по практике знаем что без него нельзя. Не получается."
Так?
...
А вот в эрланге получается или нет?

Ты делаешь какие то странные заявления, приписывая их мне. Давай я опишу что у авторов с состоянием а ты уже потом сам решай.
Актор это изолированный кусок функционала, у которого есть состояние, но оно обрабатывается в одном потоке, потом что мессаджи приходят из очереди один за одним. И при обработке мессаджа состояние меняется. Более того автор без состояния это антипаттерн ибо бессмысленно.
Есть второй поинт, что делать с состоянием если актор упал? Грубо говоря в этом случае состояние постоянно персистится на диск либо ещё куда. А при рестарте высчитывается назад, вот и все. Это чекпоинтинг, как и в стримах.
Если под глобальным состоянием ты имеешь ввиду кейс, когда нужно транзакционно поменять Стейт двух акторов, то тут все похоже на микросеовисы - такое просто не предусмотрено при правильной архитектуре
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917029
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник,
Дак ты ясно говори а не вставай в позу.
"в Модели акторов глобального состояния нет. Но мы по практике знаем что без него нельзя. Не получается."
Так?
...
А вот в эрланге получается или нет?

Ты делаешь какие то странные заявления, приписывая их мне. Давай я опишу что у авторов с состоянием а ты уже потом сам решай.
Актор это изолированный кусок функционала, у которого есть состояние, но оно обрабатывается в одном потоке, потом что мессаджи приходят из очереди один за одним. И при обработке мессаджа состояние меняется. Более того автор без состояния это антипаттерн ибо бессмысленно.
Есть второй поинт, что делать с состоянием если актор упал? Грубо говоря в этом случае состояние постоянно персистится на диск либо ещё куда. А при рестарте высчитывается назад, вот и все. Это чекпоинтинг, как и в стримах.
Если под глобальным состоянием ты имеешь ввиду кейс, когда нужно транзакционно поменять Стейт двух акторов, то тут все похоже на микросеовисы - такое просто не предусмотрено при правильной архитектуре
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917036
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Суть в максимальной изоляции. Поэтому процесс. Но так как дорого, то по факту использует пул потоков.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917038
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
PetroNotC Sharp
С сообщениями надо данные передавать. И расшаривать данные.
И каким боком из первого следует второе?
Чем, как не передачей данных является вызов процедуры/функции/метода?
Каким боком ко всему этому вылез протокол упаковки/распаковки, который является (некоторой) технической деталью?

У тебя много технических деталей.
Ты сказал что платформа Акка ерунда. Всё сделаем в java.
И мы споткнулись на втором отличии платформ.
Но отличий не два. Их полно.
Глупый спор. 8
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917041
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Я согласен со всем кроме состояния.
Актор обрабатывает одно сообщение за раз. Других потоков нету.
Зачем состояние?
Пока не вижу нужды в моем примере что я выше приводил.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917043
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
И при обработке мессаджа состояние меняется
ах ты про долю микросекунды?
Ну дак это вообще не честно)).
У ФП тоже есть тогда состояние внутри функции при обработке.
))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917047
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник,
Я согласен со всем кроме состояния.
Актор обрабатывает одно сообщение за раз. Других потоков нету.
Зачем состояние?
Пока не вижу нужды в моем примере что я выше приводил.

Я отвечу тебе и мэйтону одним постом.
Представь что у тебя есть сущность аукцион. У него есть айди и есть состояние - bid, количество участников, участники уже присоединившиеся, цена и и.д. первоначально он имеет Стейт Created. Он может принимать сообщение Joinauction от плеера и добавлять его в список присоединившихся. Когда количество присоединившихся достигает нужного количества он переходит в Стейт Started и уже принимает сообщения placeBid но не joinAuction. То есть машина состояний.
Как без стейта тут обойтись? А отвечая мэйтону - то на какие сообщения актор может ответить зависит от стейта вот тебе пример
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917048
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
bin это класс.
А у класса нет функционала послать сообщение другому классу.
Писать надо)))

Бин это в первую очередь объект. А не класс. Далее, актор а шлет месседж автору б. Да это банальная зависимость. Импорт. Где метод объекта а вызывает метод объекта б передавая параметр ц (который можно называть месседж).
Я это опять же сказал применительно к твоему повестванию о процессе.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917092
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
А отвечая мэйтону - то на какие сообщения актор может ответить зависит от стейта вот тебе пример
а модели акторов сказано, поведение зависит от входящего сообщения.
Ну хибер в сущностях не хранит состояние. Он их в бд сбрасывает.
По классике не надо хранить. Надо сбрасывать карты.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917098
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT, Напоминаю тебе как ТС чтобы ты не заснул
ТЗ на акторы и двухфазную
- входим в приложение
- сервер пускает как гость так как не авторизовывался ранее
- запуск актора Почта который шлет письмо авторизации и актора РаботаГостя
- после прихода на урл из письма просыпается актор Регистрация и регистрирует юзверя гостя.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917099
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Бин это в первую очередь объект. А не класс.
неужели?)))) а мы и не знали.
Тут нам приходит первая фича акторов - они не могут создавать объекты. Не имеют new оператора.

andreykaT
Далее, актор а шлет месседж автору б. Да это банальная зависимость. Импорт. Где метод объекта а вызывает метод объекта б передавая параметр ц (который можно называть месседж).

Оригинально).
У акторов нет прямых зависимостей.
Актор ЗапросHttp выгребает из своего почтового ящика очередное сообщение и АСИНХРОННО отправляет его в ПОЧТОВЫЙ ЯЩИК актора Почта (он пока занят).
....
То есть ты профукал на java с классами 4 пункта.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917100
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Это аналог в андроиде чтобы ты не кричал: "щас я все напишу сам на коленке"
Код: java
1.
2.
Intent intent = new Intent(this, ActivityTwo.class);
startActivity(intent);
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917107
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
У тебя много технических деталей.
Ты сказал что платформа Акка ерунда. Всё сделаем в java.
Вот только не надо приписывать мне ваши собственные домыслы 22063862
22063866
22063875
22063877
Ну и "финальное" 22063895
Где у меня хоть слово про Akka и Java???
Я спросил простую вещь и ожидал увидеть разумную аргументацию. Правильную или нет - вопрос отдельный, но разумную, а не жонглирование терминами.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917117
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
Чуть выше ТЗ. Сделаешь на Java?
И насколько это легче чем использовать фреймвок для этого звточенный?
Чтобы аргументировать надо понять твою позицию.
А она пока в трех словах. "ну и чё", "обоснуй отрок",...
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917158
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

То есть ты профукал на java с классами 4 пункта.

Это толсто.

Никто это задание скорее всего делать не будет. Просто оно никому не надо.
А я-бы пока не взялся пока просто не посмотрю best practices по акторам.
Что. Как. Где. Многие вещи лежат под капотом и официальная дока по ним
молчит. Тоже самое что хибернейтовские антипаттерны. Официальная дока
скорее всего о них тоже молчит. А если спросить гуру - они просто ответят -
"не делайте так". И поэтому я хотел выяснить всех этих "не-делайте-таков"
до того как кинусь в омут кодинга.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917159
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Чуть выше ТЗ. Сделаешь на Java?
1. Это хрень, а не ТЗ
2. Берём сервлет-контейнер, JavaMail и делаем.
Ну и самое главное: по прежнему неясно, какие принципиальные трудности мешают реализовать "Хрень-ТЗ" без акторов и ФП?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917165
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Цель ТЗ это разговаривать с ТС на инженерном языке.
Видел, он даже вызов класса асинхронно не знает что такое.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917166
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
Показывайте вместе с ТС как делать будете.
Конкретнее.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917169
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
В плюсах задают вопрос - Какие _принципиальные_ трудности написать веб проект на плюсах)). Это не ты?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917176
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Показывайте вместе с ТС как делать будете.
"Не рановато ли задембелевал?" (ц) Боралгин.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917178
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
В плюсах задают вопрос - Какие _принципиальные_ трудности написать веб проект на плюсах)). Это не ты?
Я не задаю идиотских вопросов.
Есть две модели "классическая многопоточная", которая опирается на возможности операционной системы и "акторная малопоточная", которая опирается на (сложный) конечный автомат.
Язык реализации может быть любым, но вопрос остаётся прежним: какие принципиальные сложности реализовать "Хрень-ТЗ" без акторов или/и без ФП?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917180
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Цель ТЗ это разговаривать с ТС на инженерном языке.
Видел, он даже вызов класса асинхронно не знает что такое.

вызов класса асинхронно? это что вообще за терминология - сам придумал?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917183
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу акторов и тп, Пётр, я тебе открою тайну - они через нью создаются. просто это делаешь не ты руками а фабрика что под капотом. тоже самое и с бинами - где ты либо явно это в конфиге прописываешь через нью, либо снова бин фэктори их клепает.
если ты сам ручками нью не пишешь - это не значит что его не пишет кто то другой. хотя зачем я это тебе объясняю ты и сам поди это знаешь.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917184
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
mayton,
Цель ТЗ это разговаривать с ТС на инженерном языке.
Видел, он даже вызов класса асинхронно не знает что такое.

вызов класса асинхронно? это что вообще за терминология - сам придумал?
а ты типа не понял про что я сказал.
Когда код начнем писать?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917186
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
я тебе открою тайну - они через нью создаются. просто это делаешь не ты руками а фабрика что под капотом
кончай говорить банальности.
Акка это фреймворк-платформа типа спринга.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917187
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Я не задаю идиотских вопросов.
однако вас двое и говорите одинаково.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917192
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр, ты какой то излишне агрессивный программист
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917193
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС утверждает что в java можно и без Akka. Код писать не хочет. Закройте топик.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917194
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Пётр, ты какой то излишне агрессивный программист

Все знают, я не люблю ленивых.
Выше код на андроиде я сам писал. На плюсах сам писал.
А ты завел топик и ни кода, ни ответов нет.
Ничего личного.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917196
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через то, что написал автор топика в самом начале - сложно продраться (язык сообщения - не русский и не английский), но сложно оспорить тот факт, что в Java можно и без Akka.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917198
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Как вызвать метод асинхронно умеем?
А ты говоришь, что я на 10 странице вспотел))))) LOL
Садись к компу и сопровождай топик.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917201
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Через то, что написал автор топика в самом начале - сложно продраться
да. Поэтому я упростил ДЛЯ НЕГО тз.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917203
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Все знают, я не люблю ленивых.
Нимб не жмёт?
Ну и с квантором всеобщности - тоже поаккуратнее.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917204
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
Ты тоже выражай свои мысли хотя бы на абзац.
Проехали.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917206
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Как вызвать метод асинхронно умеем?
А ты говоришь, что я на 10 странице вспотел))))) LOL
Садись к компу и сопровождай топик.

если ты его напишешь так чтоб он асинхронно вызывался - то ты его вызовешь "асинхронно". не понимаю сути вопроса.
ты на меня обиделся когда я сказал что твой алгоритм можно и на бинах написать и ничего не изменится

это было сказано в контексте что поставленная тобой задача решается НЕ ТОЛЬКО акторами. тем более что твое описание как бы ты решил ее акторами выглядит ну эээ будто бы ты их используешь не так как задумывали авторы акки.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917207
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Поэтому я упростил ДЛЯ НЕГО тз.
Даже если задачи не было, то упрощая её не надо выплёскивать ребёнка вместе со всей водой.
Ведь ещё Воланд говорил Канту про непонимание окружающих. И хрен бы с ним, этим непониманием - ведь вы настоящий программиста, а не балобол какой-то. Но есть ньюанс - сообщения-то вы не себе отправляете, а этим самым тупорылым лентяям, которые вас окружают.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917208
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вообще изначально у меня вопрос был в следующем - что если мы пишем приложение на ивентах у нас в методах появляются сайд-эффекты. это мое первое утверждение.

я считаю оно не очень вырным потому что если конечным действием любого метода будет бросание события - то можно сказать что сайдэффекта нет.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917213
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
если ты его напишешь так чтоб он асинхронно вызывался - то ты его вызовешь "асинхронно". не понимаю сути вопроса.
покажи.
Я не спорю можно все написать.
Покажи как выглядит асинхронный вызов.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917214
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT, давай введем две оси измерений. Евент-дривен и не-евент-дривен. И синхронность и асинхронность.
И у нас получается декартова система типа "квадранта Гартнера" и мы можем рассматривать аж 4 варианта
архитектуры.

Как тебе такое обобщение?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917215
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
PetroNotC Sharp
Поэтому я упростил ДЛЯ НЕГО тз.
Даже если задачи не было, то упрощая её не надо выплёскивать ребёнка вместе со всей водой.
Ведь ещё Воланд говорил Канту про непонимание окружающих. И хрен бы с ним, этим непониманием - ведь вы настоящий программиста, а не балобол какой-то. Но есть ньюанс - сообщения-то вы не себе отправляете, а этим самым тупорылым лентяям, которые вас окружают.
ты о ком сейчас?
Кто не понял ТЗ тот написал. Не поняли двое. Ты и ТС.
Решить можно как на java так и на Акка. Но на java в разы дольше.
Не согласен?
Тогда передохни.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917216
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
del, не верно прочел исходный пост
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917228
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Решить можно как на java так и на Акка. Но на java в разы дольше.
1. Задание я понял и дал ему оценку - "Хрень ТЗ". Оценка необоснованная, но я на ней не настаиваю.
2. "В разы дольше" должно аргументироваться чуть сильнее, чем "заткнись, тупой - ты просто не понял".
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917234
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Задание я понял и дал ему оценку - "Хрень ТЗ". Оценка необоснованная, но я на ней не настаиваю.
значит стой в сотронке по данному вопросу. Друго нет.

Basil A. Sidorov
"В разы дольше" должно аргументироваться чуть сильнее, чем "заткнись, тупой - ты просто не понял".

Нет. Это количественная характеристика в человекочасах на проект.
....
Видишь, когда ты мысли разворачиваешь, то тебя понимают)
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917238
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Как тебе такое обобщение?
Если в одном участке кода императивной программы меняется значение переменной, а в другом участке кода значение переменной как-то используется, то это уже событие или ещё нет?
Если во всё той же императивной программе переменная меняется в одном потоке, а используется в другом - это всё ещё не событие или уже событие?
А что тогда событие?
А если один поток проверяет атомарный флаг, который меняется в другом потоке - это уже асинхронно или ещё синхронно?

P.S.
Я намеренно не рассматриваю асинхронный ввод-вывод и прочие сети вместе с IPC.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917243
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov, уточню. IPC - это inter process communication?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917245
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
значит стой в сотронке по данному вопросу. Друго нет.
...
Нет. Это количественная характеристика в человекочасах на проект.
....
Видишь, когда ты мысли разворачиваешь, то тебя понимают)
1. Не указывайте мне, что я должен делать и я не стану объяснять - куда вам надо пройти.
2. Можно, всё-таки, аргументировать причины, по которым ваше "Идеал-ТЗ" будет быстрее сделано с Akka в сравнении с э-э-э .. С чем, простите, всё-таки, сравнивать будем?
3. А я по прежнему не понимаю ваших ужимок. Уж простите мою серость и убогость.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917248
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
IPC - это inter process communication?
Да, межпроцессное взаимодействие в любом варианте - от примитивов операционной системы до высокоуровневых прикладных протоколов и без ограничений на локальность процессов.
С примитивами операционных систем в Java вполне понятные сложности: если нет "общего знаменателя" - сложно создать более-менее универсальную реализацию. Хотя, конечно, в каждом конкретном случае всегда можно выкрутиться.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917250
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
PetroNotC Sharp
значит стой в сотронке по данному вопросу. Друго нет.
...
Нет. Это количественная характеристика в человекочасах на проект.
....
Видишь, когда ты мысли разворачиваешь, то тебя понимают)
1. Не указывайте мне, что я должен делать и я не стану объяснять - куда вам надо пройти.
2. Можно, всё-таки, аргументировать причины, по которым ваше "Идеал-ТЗ" будет быстрее сделано с Akka в сравнении с э-э-э .. С чем, простите, всё-таки, сравнивать будем?
3. А я по прежнему не понимаю ваших ужимок. Уж простите мою серость и убогость.
я предлагаю проще.
На плюсах написать веб проект сложнее?
Аргументируете?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917251
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mayton
IPC - это inter process communication?
Да, межпроцессное взаимодействие в любом варианте - от примитивов операционной системы до высокоуровневых прикладных протоколов и без ограничений на локальность процессов.
С примитивами операционных систем в Java вполне понятные сложности: если нет "общего знаменателя" - сложно создать более-менее универсальную реализацию. Хотя, конечно, в каждом конкретном случае всегда можно выкрутиться.
и что нам дружище с вами спорить?
У нас разные предметные области по работе и по хобби.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917256
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
На плюсах написать веб проект сложнее?
Аргументируете?
Akka, насколько я знаю, реализована для Java и Scala и оба эти языка работают в JVM.
Можете пояснить для тупых - откуда в ваших наездах возникли плюсы?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917257
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дубль
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917260
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
то если мы пишем приложение на ивентах у нас в методах появляются сайд-эффекты

У тебя есть какой-то стейт (структура) в виде одного большого куска. Есть функции, которым передаётся этот стейт, передаётся то, что нужно с этим стейтом сделать и на одних и тех же входных значениях мы получаем один и тот же результат. Profit. И вот эвенты дёргают эти функции. А если они послностью зависимы от стейта, то всё, круг замкнулся мы получаем одно и тоже поведение при одних и тех же входных параметрах. Сайд эффектов нет, функциональщики испытывают тройной оргазм, занавес.


А потом внутрь залазит IO и всё портит.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917263
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
PetroNotC Sharp
На плюсах написать веб проект сложнее?
Аргументируете?
Akka, насколько я знаю, реализована для Java и Scala и оба эти языка работают в JVM.
Можете пояснить для тупых - откуда в ваших наездах возникли плюсы?

А как еще объяснить профит от использования фреймворка Акка?
Вы не ответили на вопрос.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917270
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mayton
Как тебе такое обобщение?
Если в одном участке кода императивной программы меняется значение переменной, а в другом участке кода значение переменной как-то используется, то это уже событие или ещё нет?

Нет. Это не событие. Это просто похоже на volatile поведение переменной. Явление сложное и неоднозначное.
Без дополнительной синхронизации такой юзкейс не очень полезен.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917272
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov

Если во всё той же императивной программе переменная меняется в одном потоке, а используется в другом - это всё ещё не событие или уже событие?
А что тогда событие?
А если один поток проверяет атомарный флаг, который меняется в другом потоке - это уже асинхронно или ещё синхронно?

Нет. Я думаю что всё что связано с проверками в прикладном коде где задним числом поток что-то проверяет
к асинхронности не имеет отношения. Это просто частные проверки.

Я к сожалению не знаю определения асинк-колла но можно просто взять любой современный язык
где async-call или future-get реализован и посмотреть. Эти примеры будут другие. Настолько другие
что все сомнения отпадут.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917273
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917276
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и я не понимаю базовой веши.

Вот есть у меня прикладная задача. Допустим биллинг или бухгалтерия или склад. Крупный. Есть бизнес объект СЧЕТ

В парадигме СУБД - счет будет запись в таблице bills
В парадигме ООП - счет будет инстанс класса Bill. От одного этого, у СУБДшников волосы дыбом встанут. Но Гради Бутч считал (книга Объектно ориентированное программирование и анализ. 1990-ые годы), что это правильно. Память на серверах иногда заканчивается ))), но зато все ООПшно )))

Что это будет в парадигме акторного проектирования: это должно быть событие или актор?

По хорошему, вроде актор. Но представить систему с 100500 тысячями акторов Счет и оркестровку всего этого дела - у меня волосы шевелятся.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917280
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
тут проблема в том, что раньше всё было рассчитано для десктопов.и держать в памяти всё и для всех не нужно было. счас это перенося на веб и получается , что для каждого клиента организуется набор как для одного.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917289
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
1. А был ли мальчик? То есть "профит"
мне понравилась Модель. Она логичная и правдоподобная. И хорошо легла на ТЗ выше.

Leonid Kudryavtsev
Назвать akka фреймворком, на мой взгляд достаточно сложно.

Да. Я не случайно приписывал выше тире Платформа. То есть круче спринга)))
Leonid Kudryavtsev
Если бы на акторах была __вся__ инфраструктура (IO, web, GUI и т.д.), то можно было бы говорить о полноценной среде/фреймворке. Но ведь этого нет. И, подозреваю, не будет.

Спасибо. Согласен. Это больше ТСу зачем он вообще в топике про Akka тред стартанул.
Leonid Kudryavtsev
Что мешает делать проекты event driven и без AKKA - мне не понятно.

Акка ближе к созданию ядра ИС. То есть сообщения внутри системы.
Думаю что если вы про АЛЬТЕРНАТИВУ в виде Message oriented midleware в виде Модель наблюдателя в виде kafka то это ближе к интеграции нескольких сервисов.
Несколько другая роль у kafka - akka
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917290
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Что это будет в парадигме акторного проектирования: это должно быть событие или актор?
хороший вопрос.
В игровых серверах каждая травинка актор. Значит что у нас с банальными счетами?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917291
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя

тут проблема в том, что раньше всё было рассчитано для десктопов.и держать в памяти всё и для всех не нужно было. счас это перенося на веб и получается , что для каждого клиента организуется набор как для одного.

При чем тут Веб?

Smalltalk - 1970-х годах
Гради Буч - около 1997-98 гг

"и держать в памяти всё и для всех не нужно было" см. книгу. Точную цитату и номер страницы не скажу. Гради Бучь вполне держал ))) Потом правда выяснилось, что система управления кадрами отказалась работать в транс-национальной корпорации. Память закончилась. Больно сотрудников было много ))) Когда читал книжку, ржал в течение всего вечера. Читать дальше не мог. Т.к. работал в компании, где программировали на FoxPro 2.6 и "640 Кбайт хватало" и кол-ва сотрудников в компании заказчика никак не мешало )))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917302
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
В игровых серверах каждая травинка актор. Значит что у нас с банальными счетами?

"каждый дро#$т так как хочет" ( C )

не зря же прогнозируют, что к 2030-му году рынок полупроводников превысит триллион долларов

В свое время читал статью, где человек разбирался как "современные программисты" уровни для Lineage 2 рисуют:

Нижний слой - море
На море - волны
Поверх моря - насыпана суша
Поверх суши - сделаны домики
По суши ходят персонажи, волны ! (под сушей) колышатся.... просто, надежно и обеспечивает 100% использование процессора !
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917317
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

По хорошему, вроде актор. Но представить систему с 100500 тысячями акторов Счет и оркестровку всего этого дела - у меня волосы шевелятся.

Я думаю что 100500 акторов не будет. Будет штук 200 акторов которые обрабатывают пользовательские requests.
И в каналах и очередях между акторами будет провисать 100500 месседжей поделённых на 200 направлений.

Ну... я надеюсь что как-то так оно должно быть.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917326
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да.
Имеем же мы коллекцию сущностей счетов?
А класс актора вроде меньше весит чем класс сущность.
В сообщении будут идти только нужные счета. Да и не все там. Могут быть айдишники одни.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917329
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На акторе нет ответственности за систему хранения. Пускай счета лежат в Hazelcast или Ignite.
Там - надёжно. WriteAheadLog. Следовательно записи будут фиксироваться и в случае краша
системы мы просто увидем их последний изменённый state. А акторы пускай просто проводят
над счетами операции. Так я-бы задизайнил.

Кто тут опытный акторщик? Подтвердите или дайте ваши каменты.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917332
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
в случае краша
системы
какой именно? Из розетки выдернули или что?
24х7 всегда дорого.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917346
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
программировали на FoxPro 2.6 и "640 Кбайт хватало" и кол-ва сотрудников в компании заказчика никак не мешало )))
потому как это не ООП
Leonid Kudryavtsev
что система управления кадрами отказалась работать в транс-национальной корпорации
прообраз веба, но по образу десктопа
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917385
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
На акторе нет ответственности за систему хранения. Пускай счета лежат в Hazelcast или Ignite.
Там - надёжно. WriteAheadLog. Следовательно записи будут фиксироваться и в случае краша
системы мы просто увидем их последний изменённый state. А акторы пускай просто проводят
над счетами операции. Так я-бы задизайнил.

Кто тут опытный акторщик? Подтвердите или дайте ваши каменты.

Обычно Кассандру юзают. А Стейт держится как в памяти так и в хранилище. Но это если актор задекларирован как персистент, у него свой лайфсайкл. По дефолту Стейт не хранится и при краше все с нуля, зачастую этого достаточно
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917399
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя


Если брать историю, то концепция ООП родилась ровно из Анализ и Моделирование

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

На деле, все оказалось не так радужно.

Программисты-ПТУшники тут же напридумывали Hibernat'ов, оно оказалось заразным, эпидемия Hibernate-головного-мозга стала распространяться по планете. Вроде сейчас чуть-чуть начала спадать

Аналогично и любые другие веяния в программирование. В конце 90-х, на какой-то конференции выступал Вирт и сказал типа "мы тут уже 20 лет ООП, паттерны и все остальное придумываем. А по статистике, производительность труда в микроэлектронники выросла в N десятков раз, а производительность труда программиста на 0,01 %. Нафига тогда мы все это напридумывали?"
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917402
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Елки, давайте не про ООП нужен/не нужен.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917406
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык про што?

Такой же вброс AKKA на вентилятор. Было уже не раз. Вентилятор 100500 раз уже прокрутился и вот опять.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917410
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

согласен, но вот есть разница в применении для десктопов и веба. я вижу что всё что работало для десктопа, применяют для веба, и вот тут возникают проблемы.
веб это серверное приложение и оно не равно десктопному приложению.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917411
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уж не говорю, что исходное сообщение, вооще никто не понял

andreykaT
почитываю сейчас книжки по (снова да) акке и ивент дривен архитектуре (разные)
и у меня как то в голове каша получается.
фп гласит - пишем чтоб не было мутаций, пишем чтоб не было сайдэффектов.
ивент дривен подход - чота делаем, чота меняем, потом делаем throw and forget. кому надо -тот поймает и обработает.

так вот, когда мы делаем сроу энд форгет - мы же по сути вносим сайдэффект в свои методы?
но с другой стороны мне асинхронно ждать ответов от всех листенеров и делать с ними что-то?

в первом случае вносим сайдэффект. во втором случае - система уже не получается развязанной. выходит - одно противоречит другому.

это я еще не говорю про коммон практики акки юзать вары вместо валов где попало.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917416
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
mayton
На акторе нет ответственности за систему хранения. Пускай счета лежат в Hazelcast или Ignite.
Там - надёжно. WriteAheadLog. Следовательно записи будут фиксироваться и в случае краша
системы мы просто увидем их последний изменённый state. А акторы пускай просто проводят
над счетами операции. Так я-бы задизайнил.

Кто тут опытный акторщик? Подтвердите или дайте ваши каменты.

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

Я же говорю не про стейт актора. А про бизнес - сущности типа счетов.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917418
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я же говорю не про стейт актора. А про бизнес - сущности типа счетов.
они в сообщении. А сообщение в акторе. Это его стейт.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917419
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Я уж не говорю, что исходное сообщение, вооще никто не понял
да. Но автору пофигу.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917421
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
согласен, но вот есть разница в применении для десктопов и веба. я вижу что всё что работало для десктопа, применяют для веба, и вот тут возникают проблемы.
веб это серверное приложение и оно не равно десктопному приложению.

В чем разница? Можно по пунктам попытаться сформулировать.

mayton
Весь современный UI - построен на событиях.
И в большинстве случаев - только 1 поток отвечает за отрисовку.


В данном случае под словом "современный", mayton явно имел в виду 20+ лет давности. GUI, как минимум после Windows 3.11, исключительно на событиях. Что такого появилось в веб, что even driven стало требовать исключительно ФП и AKKA - мне не понятно
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917425
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Что такого появилось в веб, что even driven стало требовать исключительно ФП и AKKA - мне не понятно
просто это другой подход. Одни кричат что революция вот уже за окном. Другие что ничего нового уже 1500 лет)))
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917438
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
В чем разница? Можно по пунктам попытаться сформулировать.
примитивный пример с хибером. есть клиент делает запрос на сервер на сервере создаётся объект для данного клиента.
подключается другой клиент делает тот же запрос , но с несколько другими параметрами - на сервере создаётся новый объект по сути такой же как и первый , но с другими данными.
а если таких клиентов N?
если с десктопом всё было ясно - куча объектов для одного юзверя на одной машине - пока не изменил в базе, значит ни внёс изменения. другим надо перезапрашивать базу чтоб иметь актуальные данные.
на вэбе пытаются решить эту проблему через чтО? без обновления в базе?
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917447
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
забыл ник
пропущено...

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

Я же говорю не про стейт актора. А про бизнес - сущности типа счетов.

Как одно противоречит другому? Бизнес сущность и есть актор, все остальные акторы - скорее всего что-то надуманное
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917448
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем топик явно зарулил не туда) я тоже не вижу юскейса под акторы если честно. Можно, но не нужно. Akka-streams мне понравились больше, но если честно какого то особого преимущества тоже не нашел, но зато нету и особого гемора.
Что касается фп это отдельная тема и я считаю у него есть огромная перспектива, как минимум знать надо
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917453
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

В данном случае под словом "современный", mayton явно имел в виду 20+ лет давности. GUI, как минимум после Windows 3.11, исключительно на событиях. Что такого появилось в веб, что even driven стало требовать исключительно ФП и AKKA - мне не понятно

Леонид я в части позиции (энтузиаст или скептик) нахожусь ближе к твоей стороне. Я пытаюсь понять ЧТО и ГДЕ.
И здесь несколько раз обращаюсь к знатокам с ожиданием некого подтверждения что ДА дескыть это так.
Наука эта - практическая. И никакая теория пока ее не покрывает. Тоесть нету ни Дейта ни Буча который
скажет - ребята акторы - это тото и тото и юзайте их так и эдак. Я просто вижу что есть некий итеративный
процесс который находит эти штуки ИНОГДА полезными.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917501
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
mayton
На акторе нет ответственности за систему хранения. Пускай счета лежат в Hazelcast или Ignite.
Там - надёжно. WriteAheadLog. Следовательно записи будут фиксироваться и в случае краша
системы мы просто увидем их последний изменённый state. А акторы пускай просто проводят
над счетами операции. Так я-бы задизайнил.

Кто тут опытный акторщик? Подтвердите или дайте ваши каменты.

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

Не имею ничегео против Кассандры. Но КМК стоимость владения для нее будет подороже из-за требований
более строгой In-memory системы хранения.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #39917520
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ну дак хранилище по кошельку и требованиям.
Scylladb попроще. Реляционные в ссылке выше давал.
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #40003630
SKAI_Academy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по event-driven будет вебинар 8 октября https://academy.skai.tech/events/event-driven-podxod-na-osnove-java/
...
Рейтинг: 0 / 0
функциональный подход и ивент дривен архитектура
    #40009496
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SKAI_Academy
по event-driven будет вебинар 8 октября https://academy.skai.tech/events/event-driven-podxod-na-osnove-java/

был смотрел. 2 часа чел рассказыал как как настроить брокер, сделать продюссер консюмер и послать сообщение от одного другому.

про архитектуру и дизайн ни слова.
...
Рейтинг: 0 / 0
229 сообщений из 229, показаны все 10 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / функциональный подход и ивент дривен архитектура
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]