|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник PetroNotC Sharp А ФП неудобно НИКОМУ))) Смелое утверждение. Если не понимаешь чего-то - сделаем вид что этого не существует) )) Ветка на форуме есть по ФП? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 11:43 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Предлагаю ТС поискать конкретную задачку под ФП. Выше уже озвучивали. Я не максималист. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 11:46 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT и у меня как то в голове каша получается. Отсюда задача - выявить ОСОБЕННОСТИ ФП НА ПРИМЕРАХ. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 11:50 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
У нас не получится однозначно поделить языки на 2 категории. Функциональные и нефункциональные. Скорее всего ФП это некий фасетный классификатор в который можно включить огромное множество. К примеру тот-же Lisp/Scala нельзя однозначно положить в коробку ФП или императивных потому-что языки лежат одновременно в обоих коробках. Они - мультипарадигменные. Поэтому в качестве примера в топике Java можно брать код на мультипарадигменной Скале и писать в ней в функциональном стиле. И сравнивать event-driven. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 12:53 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton, Да. Есть такая трудность. У тебя были топики. Но они скорее про алгоритмы. А автору подходы / архитектура нужна. Пусть работает, ищет Akka hello world. Мы не торопимся. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 13:04 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Да. Самое большое зло - додумывать за автора его проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 13:23 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
если вкратце то такой флоу (это не конкретно мой но как пример из головы): юзер регается по эндпойнту, ну скажем часть шагов прошел и это заключительный - мы юзеру присваиваем какие-то подписки, отправляем кому надо нотификации, создаем отдельные документы, записи в аналитике и т.п.. как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно. клиенту возвращаются какие-то данные - ну там токен айди не важно. в этом методе параллельно бросается ивент. дальше все листенеры подписанные на этот тип ивента его ловят и делают что-то. и мне в общем то не важно упадут консамеры или не упадут. а если упадут то я делаю набор инструкций онфейл. но что меня тут смущает - это то что тот метод, который инициировал клиент - он как бы об этом знать не знает и вообще бросание ивента - это типичный сайд. вот в конкретно этом случае. я могу сделать чтоб сайд не был сайдом например, делаем джойн ко всем процессам что создаются консамерами и ждем их завершения, собираем данные об исполнении со всех и как то дальше их утилизируем. но тут есть иные скажем так, последствия - понятно какие. причем тут акка? да в общем то не причем. но, как пример, у нее из коробки ивент-дривен. и есть возможность той же широковещательной рассылки "событий" по консамерам (называйте их акторами - как угодно. но суть это консамеры ивентов) и два разных подхода - высоао и забыл и выслал и получил в футуре. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 19:05 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Я ответил что подстроились под комп. И уже потом мистер Кодд сформулировал реляционную алгебру. Причём сам он считал, что для всякой "мелочи" его реляционная алгебра непрактична. Ну а утверждать, что реляционная алгебра, лежащая в основе современного SQL, "подстроена под компьютер" - вообще зашквар какой-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 19:40 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov PetroNotC Sharp Я ответил что подстроились под комп. Это вы вывод сделали на основе того что я не перечислял историю развитие СУБД? А где же презумпция невиновности? ))) - "не говори что я не знаю, если я об это не говорил" ))) Basil A. Sidorov вообще зашквар какой-то. Зашквар - это аргумент. ОК. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 19:58 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT если вкратце то такой флоу (это не конкретно мой но как пример из головы): тебе вторым постом сказали - не бери из головы. Возьми из сети. У тебя произношение слабое. andreykaT юзер регается по эндпойнту, переведи. Аутентификация? Авторизация? Юз кейс - "Приём на работу"? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 20:18 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно. Зачем? Если ты про аутентификацию, то она отдельно совсем. Не смешивай ее с БЛ никогда. Считай что ЗАПИСЬ ЮЗВЕРЯ ЕСТЬ В бд. Разбери юз кейс реальный. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 20:25 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT если вкратце то такой флоу (это не конкретно мой но как пример из головы): юзер регается по эндпойнту, ну скажем часть шагов прошел и это заключительный - мы юзеру присваиваем какие-то подписки, отправляем кому надо нотификации, создаем отдельные документы, записи в аналитике и т.п.. как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно. клиенту возвращаются какие-то данные - ну там токен айди не важно. в этом методе параллельно бросается ивент. дальше все листенеры подписанные на этот тип ивента его ловят и делают что-то. и мне в общем то не важно упадут консамеры или не упадут. а если упадут то я делаю набор инструкций онфейл. но что меня тут смущает - это то что тот метод, который инициировал клиент - он как бы об этом знать не знает и вообще бросание ивента - это типичный сайд. вот в конкретно этом случае. я могу сделать чтоб сайд не был сайдом например, делаем джойн ко всем процессам что создаются консамерами и ждем их завершения, собираем данные об исполнении со всех и как то дальше их утилизируем. но тут есть иные скажем так, последствия - понятно какие. причем тут акка? да в общем то не причем. но, как пример, у нее из коробки ивент-дривен. и есть возможность той же широковещательной рассылки "событий" по консамерам (называйте их акторами - как угодно. но суть это консамеры ивентов) и два разных подхода - высоао и забыл и выслал и получил в футуре. Ты очень лихо провёл параллели между event-driven и Akka. А мне кажется что Akka и любой другой акторный фреймворк это не event-driven . Это eventual consistency . Вот давай сначала разберем эти тонкие различия а потом будем проектировать систему. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 21:20 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp andreykaT как я вижу - создается новая запись пользователя по вызову хттп метода - синхронно. Зачем? Если ты про аутентификацию, то она отдельно совсем. Не смешивай ее с БЛ никогда. Считай что ЗАПИСЬ ЮЗВЕРЯ ЕСТЬ В бд. Разбери юз кейс реальный. Я тебе очертил рамки многошагового процесса. Он инициируется вызовом эндпойнта конкретным клиентских приложением. Окей, авторизация отдельно. Отдельно от чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 22:22 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Лично я ни хрена не понял в чем все таки проблема и что хочется понять ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 00:16 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
PetroNotC Sharp забыл ник пропущено... Смелое утверждение. Если не понимаешь чего-то - сделаем вид что этого не существует) )) Ветка на форуме есть по ФП? И что там обсуждать? Тем временем стримы уже пришли, как и лямбды как и иммутабл. Как и понятие о сайд эффектах и чистых функциях. Она на фронтэнде успешно закопано, там же оно и в бигдате, в аналитике его никогда и не было. Онлайн стриминг тоже мимо. С приходом облачных вычислений и серверлесс архитектур ООП осталось вообще недолго, так что мой тебе совет учи пока не поздно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 00:21 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, Она на фронтэнде читать как ООП на фронтэнде ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 00:22 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, Забей. ФП - академическая хрень, далёкая от реальности. Тут важно, какие ты задачи решаешь и чем оно может помочь, на не писать в стиле ФП ради дроча на ФП. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 05:56 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT фп гласит - пишем чтоб не было мутаций, пишем чтоб не было сайдэффектов. ивент дривен подход - чота делаем, чота меняем, потом делаем throw and forget. кому надо -тот поймает и обработает. Молоток и отвёртка- классные вещи. Жаль только, что гвозди отвёткой не вкрутишь. Самрезы можно молотком забить, но фигня получается. Надо не путать одно с другим и не забывать про гаечный ключ и кучу других вещей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 07:14 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
забыл ник, Как это ниже мешает ООП? авторВ этих определениях собраны три основные черты того, что называют Serverless: Абстракция. Вы не управляете сервером, на котором запускается ваша программа. Вы вообще ничего про него не знаете, все нюансы операционной системы, обновлений, сетевых настроек и прочего спрятаны от вас. Это сделано для того, чтобы вы могли сосредоточиться на разработке полезной функциональности, а не на администрировании серверов. Эластичность. Провайдер Serverless услуги автоматически предоставляет вам больше или меньше вычислительных ресурсов, в зависимости от того, насколько большая нагрузка приходится на ваше приложение. Эффективная стоимость. Если ваше приложение простаивает — вы ничего не платите, т.к. оно в этот момент не использует вычислительных ресурсов. Оплата же происходит только за время, которое ваше приложение реально работает. Ограниченный жизненный цикл. Ваше приложение запускается в контейнере, и, спустя короткое время, от десятка минут до нескольких часов, сервис автоматически его останавливает. Конечно же, если приложение снова должно быть вызвано — новый контейнер будет запущен. Стримы в шарп это Linq. Никакого переворота и революции не сделали. Как пришли так и ушли. Есть огромный сдерживающий фактор у облаков и собирания программ из кусочков. Сначала вы грезили что будет тонкий экран клиент у всех. А Ось в облаке. Потом грезили про ворд в облаке. Потом грезили про микросервисы. Потом про докеры. Это ведь все админов касается. Развертывания. Управления ПО. А не РАЗРАБОТКОЙ ПО. Почему EJB помер? >И что там обсуждать? Сначала выясни, это хрень академическая или революционная вещь? Если второе то нужна ветка в форуме. Отдельная. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 07:35 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT PetroNotC Sharp пропущено... Зачем? Если ты про аутентификацию, то она отдельно совсем. Не смешивай ее с БЛ никогда. Считай что ЗАПИСЬ ЮЗВЕРЯ ЕСТЬ В бд. Разбери юз кейс реальный. Я тебе очертил рамки многошагового процесса. Он инициируется вызовом эндпойнта конкретным клиентских приложением. Окей, авторизация отдельно. Отдельно от чего? Отдельно от этого топика. Ее асинхронно не сделать никогда. Убери ее из топика и перефразируй вопрос свой. Hello world найди. Пятый раз просят. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 07:39 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
andreykaT, Держи hello world Akka Раз ты сам вторую страницу никак не родил. https://medium.com/@ian.shiundu/building-a-fully-functional-rest-service-using-akka-actors-8b5c12978380 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 08:46 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Что касается применимости модели акторов в архитектуре. Это в основном асинхронный код, код на событиях. Как это решается БЕЗ АКТОРОВ? Очень просто - в веб короткие транзакции, меньше 0, 1сек - в веб есть кеши - в веб есть контейнер который параллелит. Поэтому пример нужности акторов, это игровые серверы. Там в модели каждая травинка это Актор. Поэтому на старой модели все встанет. Как то так... Имхо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 10:26 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Если вспомним архитектуру ICP/IP кде хосты - это не комьютеры и не датацентры и просто некие абстрактные участники игры которые просто обмениваются пакетами - то любой хост это суть актор. И КМК во встроенном оборудовании и в частности в языке Erlang эти смыслы вопрощены более нативно. И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис (например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими последствиями потерь для пользователей и для сообщений которые ожидают обработки. Вот мне кажется что именно в этом главная суть акторов. В устойчивости к сбоям. А ФП здесь вобщем-то непричем. ФП может быть или может не быть. Но оно не является козырем. Хотя оно полезно для упрощения тестирования и поиска ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 12:10 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
mayton И реакция системы на пакет который привёл к крашу кода - не приводит к крашу системы. Просто главный актор перезапускает стек еще раз и процесс бежит дальше. В то-же время классический сервис (например на стеке SpringBoot) при ошибке OOM например падает окончательно и с ужасающими последствиями потерь для пользователей и для сообщений которые ожидают обработки. Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 12:17 |
|
функциональный подход и ивент дривен архитектура
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Когда падает процесс - последствия будут "ужасны" и от архитектуры это слабо зависит. man let_it_crash Basil A. Sidorov Можно, конечно, изолировать в процессе то, что (обычно) изолируют в потоке, но придётся или сильно уронить производительность или ограничиться очень узким классом задач. Огромные системы по другому и не могут быть сделаны. И там не то, чтобы очень прям плохо по производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2020, 12:32 |
|
|
start [/forum/topic.php?fid=59&msg=39916277&tid=2120656]: |
0ms |
get settings: |
23ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
458ms |
get tp. blocked users: |
1ms |
others: | 38ms |
total: | 596ms |
0 / 0 |