|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
andreymx этот всё потому, что у вас архитектора/идеолога нет Был. Уволился. Так-то используем отдельный сервак для такого. Никто не видел и не видит смысла плясать от схемы - много вопросов, много возможностей наделать дел. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 11:57 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Sayan Malakshinov хотел бы увидеть хоть один реальный, не надуманный пример, когда вынос логики из базы на апп.сервер реально поможет снизить нагрузку... Сервер приложений может самостоятельно грузить текущие остатки, вычитывать обновления и разрешать конфликты типа "этому клиенту не хватает товара". Т.е. вместо сотни конкурентных подключения от каждого оператора будут единичные подключения от одного или нескольких серверов приложений. Задача сервера приложений - "заливать" в базу данные и вычитывать их оттуда максимально упорядоченным и бесконфликтным образом. понятно что без коннекшн пуллинга никто не работает. спор о разнице - делает аппсервер это с помощью апи торчащего из базы(хранимки - получи/запиши/обработай) или у себя логика + prepared statements. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 12:23 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
SQL*Plus Leonid Kudryavtsev пропущено... Вроде для целей development Oracle всегда был бесплатен. Т.ч. нет, не потребуется. AFAIK Нет. Конечный пользователь должен лицензировать все используемые им базы данных: Production, Development, Test, Standby, Staging. По крайне мере в данном документе Development от Test отделяют. https://www.oracle.com/assets/databaselicensing-070584.pdf Вообще, вопрос спорный. Но в крупных проектах я участвовал только во внедрениях OeBS, CC&B, а там действовал принцип "купившему OeBS, все остальное бесплатно" ( C ) Ну и совсем давно (в 2000-ом) ставили Oracle в very ))) small business, но было партнерское соглашение с Oracle, т.ч. так же, проблем с лицензиями не было. Ну если и были - то решались персональным разрешением от европейского офиса трактовать спорные моменты в свою пользу AFAIK по опыту. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 12:23 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Melkomyagkii_newbi понятно что без коннекшн пуллинга ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 12:44 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov mad_nazgul Затем что один инстанс на все тесты не прокатит. Т.к. тесты добавляются/убираются и т.д. Кроме того они должны выполнятся параллельно. Т.е. чтобы не иметь проблем на каждый тест должен быть свой инстанс БД. Возможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста. В т.ч. название БД, схемы и пр. :-) Т.е. в лучшем случае можно делать тесты последовательно. Но всё равно, для unit-теста это большие накладные расходы. Удаление/создание БД и заполнение тестовыми данными. Для интеграционных это норм. На одно "соседнем" проекте было 12 тестовых БД. Потом у них было приключение "сводить" всё это в одну. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 12:57 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgulВозможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста. В т.ч. название БД, схемы и пр. :-) У Вас название БД, используемой для тестов, захардкожено? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 13:04 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 AmKad пропущено... Начиная с 12-ой версии в Oracle есть CDB + PDB. + 17,500 USD за процессор. Начиная с версии 19с, можно использовать не более трех PDB, не приобретая опцию Multitenant. Если потребуется подключить / создать в контейнере четвертую PDB, тогда нужно будет купить опцию Multitenant. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 13:21 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev SQL*Plus пропущено... Нет. Конечный пользователь должен лицензировать все используемые им базы данных: Production, Development, Test, Standby, Staging. По крайне мере в данном документе Development от Test отделяют. https://www.oracle.com/assets/databaselicensing-070584.pdf Вообще, вопрос спорный. По-моему, в этом документе всё однозначно написано: как только создаваемая система начинает обрабатывать реальные данные, лицензия разработчика OTN не подходит и необходимо купить обычную лицензию. https://www.oracle.com/assets/databaselicensing-070584.pdfSubject to the full terms of the OTN License Agreement, this limited license allows the user to develop applications using the licensed products as long as such applications have not been used for any data processing, business, commercial, or production purposes И для Test нужно купить лицензию. автор Test Environment: All programs used in a test environment must be licensed under an OMA, OLSA, or other appropriate Oracle (or Oracle authorized reseller) license agreement. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 13:31 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Sayan Malakshinov хотел бы увидеть хоть один реальный, не надуманный пример, когда вынос логики из базы на апп.сервер реально поможет снизить нагрузку... Сервер приложений может самостоятельно грузить текущие остатки , вычитывать обновления и разрешать конфликты типа "этому клиенту не хватает товара". Т.е. вместо сотни конкурентных подключения от каждого оператора будут единичные подключения от одного или нескольких серверов приложений. Задача сервера приложений - "заливать" в базу данные и вычитывать их оттуда максимально упорядоченным и бесконфликтным образом. зы. Была давненько хорошая презентация, где действительно использовался правильный подход и для этого использовался Oracle Coherence, но это крайне сложно... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 13:40 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov Basil A. Sidorov пропущено... Куча операторов, принимающих заказы. Сервер приложений может самостоятельно грузить текущие остатки , вычитывать обновления и разрешать конфликты типа "этому клиенту не хватает товара". Т.е. вместо сотни конкурентных подключения от каждого оператора будут единичные подключения от одного или нескольких серверов приложений. Задача сервера приложений - "заливать" в базу данные и вычитывать их оттуда максимально упорядоченным и бесконфликтным образом. зы. Была давненько хорошая презентация, где действительно использовался правильный подход и для этого использовался Oracle Coherence, но это крайне сложно... Почему очень сложно? Кохеренс - это кеширующий слой для приложений. То-же самое что и Apache Ignite для Сбербанка. Только Кохеренс делает Тони Старк а Игнайт - хороший православный чел. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 14:10 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mayton Почему очень сложно? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 14:32 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 14:35 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят вы там на периферии дикие какие-то. где же ты видел что бы банковские транзакции в рамкой одной бд происходили ? это всегда туча сервисов, начиная с VISA/Mastercard, заканчивая парой банков посредников. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 14:55 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgul Возможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста. В т.ч. название БД, схемы и пр. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:09 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят Ты мобилу пополняешь когда-нибудь? Видел, сколько шагов такая операция занимает? Это - тоже не в рамках одного закона ACID происходит. Не одним UPDATE-ом... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:11 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mayton Sayan Malakshinov Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят Ты мобилу пополняешь когда-нибудь? Видел, сколько шагов такая операция занимает? Это - тоже не в рамках одного закона ACID происходит. Не одним UPDATE-ом... AFAIK Visa транзакции к ACID вообще никаким боком. По правилам Visa (которые наши банки явно нарушают), вообще любую транзакцию в течении месяца можно взат вернуть простым заявлением в банк (для Российских банков и Сбербанка в том числе правила разумеется не писаны, они на такую просьбу пошлют к участковому. "С Вашей карточки деньги украли, вот пусть участковый по месту вашего жительства и разбирается" ( C ) Сбербанк ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:16 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Если вы прибиваете гвоздями названия схем, имена хостов и т.п. подобные "переменные окружения", то у меня для вас неприятные новости: ваши тесты - отстой. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:23 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Факт подтверждение оплаты по кредитным карточкам с деньгами связан крайне опосредовано. В том же самом Сбербанке, сайте апрувметн на платеж (пользовать корректно авторизовался) вернет в режиме близком к реалтайм, а вот деньги все равно придут одним платежом через день за все операции в предыдущие сутки. Никакой транзакции в рамках одной БД не будет. Деньги списались, повисли в между-модульном-пространстве (где-то ходят по банкам), на следующие сутки дошли или не дошли ))) или дошли не полностью или дошли с ошибками /в Сбербанке - запросто AFAIK )))/, банковская выписка загрузилась /или вбита руками/ в систему клиента. Дофига транзакций и никакого ACID. AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:24 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 Sayan Malakshinov Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят вы там на периферии дикие какие-то. где же ты видел что бы банковские транзакции в рамкой одной бд происходили ? это всегда туча сервисов, начиная с VISA/Mastercard, заканчивая парой банков посредников. Во-первых, почему сразу банки? А не Sony, не Амазон, ни Озон, например? Во-вторых, а где это у вас "там" не периферия? В-третьих, сразу видно, что даже о банках у тебя посредственные знания. Например, я могу в веллс фарго перевести со своего депозитного счета на депозитный счет жены, и, представь, они оба не картсчета :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:33 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mayton Ты мобилу пополняешь когда-нибудь? Видел, сколько шагов такая операция занимает? Это - тоже не в рамках одного закона ACID происходит. Не одним UPDATE-ом... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:35 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov mad_nazgulВозможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста. В т.ч. название БД, схемы и пр. :-) У Вас название БД, используемой для тестов, захардкожено? Нет. Но кто в автоматических тестах будет менять подключение к БД? Да они хранятся вне приложения. Но все равно кто-то должен передать строку подключения. Я пока не видел, чтобы на лету можно было переподключаться к разным БД. Ну или перед тестом автоматом создать БД, сохранить соответствующие настройки (желательно в git). Потом запускать тесты. Что-то слишком много телодвижений для unit-тестов. Для интеграционных - это нормально. Т.к. они могут долго выполнятся. Но для unit-тестов это нафиг не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:38 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov mad_nazgul Возможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста. В т.ч. название БД, схемы и пр. :-) Они где-то всё равно должны лежать, например в настройках. Пусть у нас 12 тестов SQL-скриптов. Чтобы их запустить параллельно нужно 12 таких настроек. Кто их будет делать? <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:40 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
джобы, которые что-то делают и рассылают почту перевести на шедулеры, которые будут вызвать те же процедуры, но сами будут отсылать почту, но уже без БД ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:44 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Дофига транзакций и никакого ACID. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:45 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Андрей Панфилов Basil A. Sidorov Если вы прибиваете гвоздями названия схем, имена хостов и т.п. подобные "переменные окружения", то у меня для вас неприятные новости: ваши тесты - отстой. Ну использовать на проде БД в docker - ИМХ такая себе идея. А вот для части интеграционных тестов - почему бы и нет. Как минимум получаем контролируемое окружение. Но все равно. В настройках где-то прописаны настройки подключения к БД, в т.ч. хост, название БД, логин/пароль. Если тестировать, то по хорошему нужно для каждой поднятой БД эти настройки писать и как-то передать приложению. Желательно автоматом. Поэтому docker - норм решение, чтобы протестировать какую-то логику работы с БД. Т.к. это проще, чем поднимать на каждый тест БД на уже существующем хосте. Как бы в docker - это уже будет сделано. Главное туда скрипты закинуть для инициализации данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 15:46 |
|
|
start [/forum/topic.php?fid=52&msg=40062022&tid=1880263]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
125ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 491ms |
0 / 0 |