|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Добрый день, друзья! С понедельником всех! Я задаю здесь вопрос, а потом плююсь читая все комментарии типа какой я дурак и зачем я вообще все это делаю и зарекаюсь здесь больше не писать. Но скажу вам, я не прав, в итоге все равно в той или иной степени я получал ответ на вопрос, за что спасибо всем вам! Так вот, собственно вопрос. Есть у нас в приложении синглетоны (EJB, но не суть, могли бы быть и Spring). Все прекрасно до тех пор, пока мы не начали масштабировать свое приложение через loadbalancer. Т.е. у нас база одна, а серверов приложений может быть несколько, с одним и тем же продуктом, естественно. И через load balancer (мы используем т.н. sticky sessions) запросы уходят на тот или иной сервер. Между собой сервера не общаются. Если один сервер умер, все пользовательские сесси на нем умирают - это не критично в нашем случае. Но вопрос касательно синглетонов. Получается их несколько инстансов теперь, естественно. Так вот какие быват практики какой-то синхронизации между ними? Можно конечно синхронизироваться через БД (она-то одна), но бывают критические с точки зрения скорости сценарии. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:02 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterТак вот какие быват практики какой-то синхронизации между ними? Можно конечно синхронизироваться через БД (она-то одна), но бывают критические с точки зрения скорости сценарии. А разве сервера приложений эту проблему не решают? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:13 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Давай начнем с простого - а зачем именно синглтон нужен? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:24 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
забыл никДавай начнем с простого - а зачем именно синглтон нужен? Согласен. Именно с простых истин - синглтон зло - синглтон в пределах одного приложения. Зачем его синхронизировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:27 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
забыл никДавай начнем с простого - а зачем именно синглтон нужен? Почему зло? (но я почитаю) Приложуха большая, много всего, вот зачем синглетон на вскидку: 1. Например для кеширования application scoped данных (тут вы скажете не валяй дурака, используй специальный софт для кеша - согласен, руки еще не дошли, хотя кое-где уже использую ehcache) - хотя тут если несколько инстансов синглетона, это не критично - будет просто несколько инстансев кеша 2. А вот здесь более критично: приложение работает по floating лицензиям. Т.е. при старте мы считываем из файла лицензий сколько у нас свободных лицензий, и выставляем в синглетон как переменную. Когда пользователь логинится, мы уменьшаем счетчик на единичку, когда выходит из системы - увеличиваем. Если счетчик ноль, то ни один пользователь не может залогиниться (нет лицензий). Счетчик AtomicLong. Так вот и получится, что счетчиков-то в кластере несколько! А на базе синхронизироваться? Как-то медленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:41 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
mad_nazgulrabiterТак вот какие быват практики какой-то синхронизации между ними? Можно конечно синхронизироваться через БД (она-то одна), но бывают критические с точки зрения скорости сценарии. А разве сервера приложений эту проблему не решают? Ну есть два подхода - типа sticky sessions и non-sticky sessions. Мы используем первый (сессии у нас жирные, так исторически сложилось, много SessionScoped бинов, поэтому между серверами их синхронизировать через shared disk, или как там еще - тяжело будет). Или можно только выборочно синхронизировать синглетоны? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:42 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiter 1. Например для кеширования application scoped данных (тут вы скажете не валяй дурака, используй специальный софт для кеша - согласен, руки еще не дошли, хотя кое-где уже использую ehcache) - хотя тут если несколько инстансов синглетона, это не критично - будет просто несколько инстансев кеша Все правильно - надо будет на каждый инстанс свой кэш, либо партитичионировать данные на каждый нод - свой кусок. Ну не суть, проблема решаемая, синглтон тут не нужен. rabiter2. А вот здесь более критичноСчетчик AtomicLong. Так вот и получится, что счетчиков-то в кластере несколько! А на базе синхронизироваться? Как-то медленно. Задача ясна, но проблем все равно не вижу. У вас же есть логика авторизации\аутентификации, так? Как она работает? Почему бы в этом сервисе не завести таблицу с этим счетчиком. Не будет это медленно(точнее не медленнее всех способов синхронизировать синглтон) Можно посмотреть в сторону zookeeper еще, но это уже тяжелай артиллерия. Я бы избавлялся от синглтонов на корню. Это бутылочное горлышкр всегда и везде ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:46 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
П. П. 2 - можно и сервис лицензий отдельно запустить как офис MS делает. Отдельный сервис в сетке считает лицензии. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:48 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
забыл никrabiter1. Например для кеширования application scoped данных (тут вы скажете не валяй дурака, используй специальный софт для кеша - согласен, руки еще не дошли, хотя кое-где уже использую ehcache) - хотя тут если несколько инстансов синглетона, это не критично - будет просто несколько инстансев кеша Все правильно - надо будет на каждый инстанс свой кэш, либо партитичионировать данные на каждый нод - свой кусок. Ну не суть, проблема решаемая, синглтон тут не нужен. rabiter2. А вот здесь более критичноСчетчик AtomicLong. Так вот и получится, что счетчиков-то в кластере несколько! А на базе синхронизироваться? Как-то медленно. Задача ясна, но проблем все равно не вижу. У вас же есть логика авторизации\аутентификации, так? Как она работает? Почему бы в этом сервисе не завести таблицу с этим счетчиком. Не будет это медленно(точнее не медленнее всех способов синхронизировать синглтон) Можно посмотреть в сторону zookeeper еще, но это уже тяжелай артиллерия. Я бы избавлялся от синглтонов на корню. Это бутылочное горлышкр всегда и везде У нас монолит, не отдельного сервиса авторизации - все приложение это один жирный EAR файл. В случае кластеров мы его деплоим на N WildFly инстансов и пускаем на них через loadbalancer в sticky-sessions режиме. Т.е. получается если у нас счетчик в памяти - то получится N его инстансов (у нас N WildFly инстансов) Zookeeper посмотрю, не хочу городить огород, но интересно. Синглетоны горлышко, согласен, но если о ни в оснвном для чтения, то все ок (для записи изредка, тогда lock, да). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:50 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC SharpП. П. 2 - можно и сервис лицензий отдельно запустить как офис MS делает. Отдельный сервис в сетке считает лицензии. Хорошая идея. Тут я, честно сказать, упростил... На самом деле сложнее, лицензии съедаются пользователями не во время логина, а во время выполнения пользователем определенных действий, которые нуждаются в лицензии. Типа поиск документов - лицензия на поиск. Редактирование - лицензия на изменения данных. Т.е. во время работы пользователя этот сервис дергался бы несколько раз, а не только во время авторизации. Но, идея централизованного лицензионного сервера мне очень нравится! Но, не станет ли он бутылочным горлышком? По сути тот же синглетон вынесен в отдельный сервис. Все N инстансов WildFly будут к нему обращаться по http ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:54 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterPetroNotC SharpП. П. 2 - можно и сервис лицензий отдельно запустить как офис MS делает. Отдельный сервис в сетке считает лицензии. Хорошая идея. Тут я, честно сказать, упростил... На самом деле сложнее, лицензии съедаются пользователями не во время логина, а во время выполнения пользователем определенных действий, которые нуждаются в лицензии. Типа поиск документов - лицензия на поиск. Редактирование - лицензия на изменения данных. Т.е. во время работы пользователя этот сервис дергался бы несколько раз, а не только во время авторизации. Но, идея централизованного лицензионного сервера мне очень нравится! Но, не станет ли он бутылочным горлышком? По сути тот же синглетон вынесен в отдельный сервис. Все N инстансов WildFly будут к нему обращаться по http Не должен стать по идее. Особенно если у вас операции простые типа инкремент\декремент ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:55 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
забыл никrabiterпропущено... Хорошая идея. Тут я, честно сказать, упростил... На самом деле сложнее, лицензии съедаются пользователями не во время логина, а во время выполнения пользователем определенных действий, которые нуждаются в лицензии. Типа поиск документов - лицензия на поиск. Редактирование - лицензия на изменения данных. Т.е. во время работы пользователя этот сервис дергался бы несколько раз, а не только во время авторизации. Но, идея централизованного лицензионного сервера мне очень нравится! Но, не станет ли он бутылочным горлышком? По сути тот же синглетон вынесен в отдельный сервис. Все N инстансов WildFly будут к нему обращаться по http Не должен стать по идее. Особенно если у вас операции простые типа инкремент\декремент да, сами операции простые, горлышком не станет... Но издержки на транспорт до него и от него. Хотя микросевисы же как-то живут в этом. С другой стороны у нас же и так постоянно транспорт от клиент до сервера и обратно, что я его так боюсь) Хорошая идая, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:59 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterзабыл никпропущено... Не должен стать по идее. Особенно если у вас операции простые типа инкремент\декремент да, сами операции простые, горлышком не станет... Но издержки на транспорт до него и от него. Хотя микросевисы же как-то живут в этом. С другой стороны у нас же и так постоянно транспорт от клиент до сервера и обратно, что я его так боюсь) Хорошая идая, спасибо! Насчет нетворка стоит волноваться если у вас инстансы в разных датацентрах, а если просто лоад балансер на одну подсеть... - как ты правильно и написал, все микросервисы живут с этим и не жалуются ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 15:04 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterгорлышкомсмотря какие программисты у вас. Можно вместо http, сделать винСервис или на линуксе демон. Будет моментально отвечать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 15:12 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharprabiterгорлышкомсмотря какие программисты у вас. Можно вместо http, сделать винСервис или на линуксе демон. Будет моментально отвечать. А это очень интересно, спасибо за идею. Есть джависты и .net. Думаю на java можно демон для linux написать (или посмотреть готовые решения). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 16:59 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterТак вот, собственно вопрос. Есть у нас в приложении синглетоны (EJB, но не суть, могли бы быть и Spring). Singleton Session Beans? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 17:06 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
ПылинкаrabiterТак вот, собственно вопрос. Есть у нас в приложении синглетоны (EJB, но не суть, могли бы быть и Spring). Singleton Session Beans?пусть выпиливает функционал из своего монолита. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 17:13 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
ПылинкаrabiterТак вот, собственно вопрос. Есть у нас в приложении синглетоны (EJB, но не суть, могли бы быть и Spring). Singleton Session Beans? так мы их и используем (@javax.ejb.Singleton вы имеете ввиду?), но и получается, что сколько JVM, столько инстансев синглетонов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 17:34 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterА на базе синхронизироваться? Как-то медленно. - в памяти распределенное хранилище, типа Infinispan и т п (смотря какой сервер приложений используете). На нем и синхронизируйтесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 18:03 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
KachalovrabiterА на базе синхронизироваться? Как-то медленно. - в памяти распределенное хранилище, типа Infinispan и т п (смотря какой сервер приложений используете). На нем и синхронизируйтесь. Спасибо, про Infinispan не слышал, но булы мысль про Redis или Ignite. Правда, я подумал, что это overkill :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 19:01 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpзабыл никДавай начнем с простого - а зачем именно синглтон нужен? Согласен. Именно с простых истин - синглтон зло - синглтон в пределах одного приложения. Зачем его синхронизировать? Синглтон не зло и не добро. Это просто инструмент. Как нож. Им можно хлеб резать. А можно и себе крайнюю пипузку случайно отрубить. И что инструмент - зло? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 19:26 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
mayton, Термин антипаттерн подходит?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 20:06 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC SharpТермин антипаттерн подходит?)))ну это твое мнение.. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 20:46 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
дядя какие EJB ты в своем уме давай мне и ваде денег мы перепишем ваше непотрество на сприг буте будете потом тока проперти менять и в носу ковыряться ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 20:49 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
asv79будете потом тока проперти менять и в носу ковыряться ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 21:27 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Kachalovasv79будете потом тока проперти менять и в носу ковыряться если вадю уволим батареи будут внутри ) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 21:30 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
asv79если вадю уволим батареи будут внутри ) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 21:34 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Kachalovasv79если вадю уволим батареи будут внутри ) вот это правильные проперти ,зовите вадю -пусть завизирует)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 21:50 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Kachalov, а это стандартное подключение, и сантехники могут поставить тройник с переключателем(не знаю как он правильно обзывается) - если ты их сможешь очень сильно убедить рублём и распиской об ответственности. но стоит такой тоже не мало... можно поставить вентиль на перемычку , но просить об этом надо ещё больше.... (из практики) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 21:55 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
вадяPetroNotC SharpТермин антипаттерн подходит?)))ну это твое мнение..я не понял, вадя))) Ты синглетон в жизни видел?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 22:12 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpя не понял, вадя))) Ты синглетон в жизни видел?)))я его использую ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 22:16 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
вадяPetroNotC Sharpя не понял, вадя))) Ты синглетон в жизни видел?)))я его используюзачем? Я тоже глобальные пременные использую. Курю и водку пью. Но детям говорю что это зло))) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 22:20 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC SharpЯ тоже глобальные пременные использую. Курю и водку пью. Но детям говорю что это зло)))этих синглетонов несколько видов - и у каждого и недостатки и прочее. и не вижу в этом зла. надо только правильно приготовить ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 22:23 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpвадяпропущено... ну это твое мнение..я не понял, вадя))) Ты синглетон в жизни видел?))) считаю что вадя самозванец и засланец из фронт энда тест написать не может,синглтон не видел все с ним ясно ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 22:37 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
asv79считаю что вадя самозванец и засланец из фронт энда тест написать не может,синглтон не видел все с ним яснохочешь я и с этим соглашусь? моет это успокоит твой словесный понос? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 22:45 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
вадяasv79считаю что вадя самозванец и засланец из фронт энда тест написать не может,синглтон не видел все с ним яснохочешь я и с этим соглашусь? моет это успокоит твой словесный понос? не хочу)ты не должен так быстро сдваться ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 22:52 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
asv79не хочу)ты не должен так быстро сдватьсячто и кому я должен или не должен это мне решать ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 22:56 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
asv79дядя какие EJB ты в своем уме давай мне и ваде денег мы перепишем ваше непотрество на сприг буте будете потом тока проперти менять и в носу ковыряться а, это вы, милый друг! да я бы счастлив, и ещё заодно можно JSF на реакт, и монолит на сервисы! а то стыдно даже ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 23:11 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpmayton, Термин антипаттерн подходит?))) Нет. Синглтоне не является антипаттерном. Где вы такое прочитали? Может просто чей-то кустарный опыт? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 11:59 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
maytonНет. Синглтоне не является антипаттерном.а глобальные переменные? Антипаттерн? А принципы ООП как согласубтся с синглетоном? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:02 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC SharpmaytonНет. Синглтоне не является антипаттерном.а глобальные переменные? Антипаттерн? А принципы ООП как согласубтся с синглетоном? Глобальный объект представляющий справочник валют или стран - это антипаттерн? Глобальный пул коннектов на приложение - тоже антипаттерн? Аналогию с переменными я не принимаю. Это манипулирование топиком. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:09 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
mayton, Вот тут, раздел плюсы и минусы https://ru.m.wikipedia.org/wiki/Одиночка_(шаблон_проектирования) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:18 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
maytonАналогию с переменными я не принимаю.видимо считает, что не хорошо читать и писать в глобальные переменные ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:19 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
вадяmaytonАналогию с переменными я не принимаю.видимо считает, что не хорошо читать и писать в глобальные переменные Я этого не говорил. Не передёргивайте меня. Я вообще ничего не говорю про глобальные переменны. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:22 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpmayton, Вот тут, раздел плюсы и минусы https://ru.m.wikipedia.org/wiki/Одиночка_(шаблон_проектирования) вот ещё https://www.google.com/search?q=habr Singleton&rlz=1C1GIGM_enRU792RU792&oq=habr Singleton&aqs=chrome..69i57j0l4j69i65.6775j1j4&sourceid=chrome&ie=UTF-8 и там же https://habr.com/ru/post/125238/ ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:23 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpmayton, Вот тут, раздел плюсы и минусы https://ru.m.wikipedia.org/wiki/Одиночка_(шаблон_проектирования) Я вас прошу сейчас. И на будущее не приводить в качестве ответа ссылки на википедию. Такой формат диалога мне не интересен. Он по сути показывает что вам нечего сказать по теме. Википедии мы сами читаем. И пишут википедии не всегда умные люди. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:23 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
вадя, Да там весь инет завален рекомендацией не писать просто так синглетоны. Без нужды. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:24 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
maytonТакой формат диалога мне не интересен.а где диалог? Я сказал что нарушает ООП. Вы промолчали. Извини, архитектура это сложная штука для споров. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:26 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Signleton - это нож. Я говорю о нем. Об инструменте. К ООП это не имеет отношения. Шаблоны проектирования - это сущности которые стоят на уровень выше кастомного ООП (которое по топику замечу разное в разных ЯП). Я прошу вас не смешивать в один замес ООП и Шаблоны. Обобщённого ООП мы не знаем. И в этом форуме практически никогда не обсуждали. Все вопросы ООП всегда касались ПРАКТИКИ применения ООП в Java/C++/C# ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:27 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpрекомендацией не писать просто так синглетоны. Без нужды.к этому я могу добавить - не писать говнокод... без нужды ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:27 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
maytonГлобальный объект представляющий справочник валют или стран - это антипаттерн?зачем синглетон? — DI - из кеша - из сессии. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:28 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
maytonSignleton - это нож. Я говорю о нем. Об инструменте.да все у нас - нож maytonК ООП это не имеет отношения Инкапсуляция. Первый принцип ООП. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:29 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpзачем синглетон? — DI - из кеша - из сессии.пул коннектов тоже в кэш, или сессию? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:30 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Определение говнокода Хде? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:30 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
вадяPetroNotC Sharpзачем синглетон? — DI - из кеша - из сессии.пул коннектов тоже в кэш, или сессию?тебе ращрешаю один раз. Написать пул синглетоном. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:31 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC SharpmaytonГлобальный объект представляющий справочник валют или стран - это антипаттерн?зачем синглетон? — DI - из кеша - из сессии. Офигеть! Вы серъезно? Вы сейчас теорему Пифагора доказываете через теорему Косинусов? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:31 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:32 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
mayton, В этом топике выше показали что синглетон не нужен. Не читал? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:32 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpтебе ращрешаю один раз. Написать пул синглетоном.я тебе показывал , работает с этим одиночной ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:33 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:33 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
вадя, Не видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:34 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpвадя, Не видел.а он есть... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:34 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
mayton, А чего ты ополчился против Вики? Там все разжевано. Про микросервисы спорить интереснее чем про синглетоны. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:35 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
[азве не quote PetroNotC Sharp]Не видел.[/quote]ты разве не заходил по адресу красного боба? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:35 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
вадяPetroNotC Sharpвадя, Не видел.а он есть...)) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:36 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:40 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
mayton, Конечно. Глупо доказывать что синглетон нужен, если все выше вместе с автором нашли решение без него. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 12:46 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Да ради бога. Я што навязывать буду? Доказывайте Пифагора ... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 13:00 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Не понял как синглтон нарушает инкапсуляцию? Хотя согласен что синглтону место на свалке. Объект должен быть доступен там, где используется, а не глобально. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 13:05 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
забыл никНе понял как синглтон нарушает инкапсуляцию?его нельзя изолировать в куске какого то кода. Всегда сосед через другую точку зайдет и разрушит инкапсуляцию изолированность. Поэтому и тесты не работают. забыл никХотя согласен что синглтону место на свалке. Объект должен быть доступен там, где используется, а не глобально.да ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 13:20 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpзабыл никНе понял как синглтон нарушает инкапсуляцию?его нельзя изолировать в куске какого то кода. Всегда сосед через другую точку зайдет и разрушит инкапсуляцию изолированность. Поэтому и тесты не работают. Я тебя понял, но это не нарушение инкапсуляции и ООП, синглтоны они обычно иммутабельные, а если и мутабельные, то ничто не мешает правильно инкапсулировать стейт внутри. Правильнее было бы сказать нарушение правил видимости\скоупа. или least powerful principle ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 13:26 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
забыл ник, Как ты инкапсулируешь состояние? По поводу ООП можно так сказать: - нарушает принципы ООП наследование, полиморфизм и инкапсуляцию - в SOLID нарушает что то там 3 или 4 принципа. Про видимость конечно согласен. Это прямо на поверхности. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 14:02 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
забыл никPetroNotC Sharpпропущено... его нельзя изолировать в куске какого то кода. Всегда сосед через другую точку зайдет и разрушит инкапсуляцию изолированность. Поэтому и тесты не работают. Я тебя понял, но это не нарушение инкапсуляции и ООП, синглтоны они обычно иммутабельные Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 14:30 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharpmayton, Конечно. Глупо доказывать что синглетон нужен, если все выше вместе с автором нашли решение без него. да нужен конечно, что за бред. Тот же выделенный сервер авторизации, тоже синглетон, если разобраться (только в виде приложения).Ничего не вижу плохого в синглетонах. Т. е. кончено если их использовать не там и не так как нужно, но это про что угодно можно так сказать. И причём тут ООП? мы же не только ООП руководствуемся во время разработки, все же сложнее, мультипарадигма же, и кусочки функционального, и процедурного и декларативного подходов - все же переплетено. А инкапсуляцию синглетон тоже никак не нарушает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 11:04 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterТот же выделенный сервер авторизации, тоже синглетонвы серьезно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 11:12 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterвсе же переплетеноу меня сосед чинит телевизоры. Я когда заглядываю, тоже спрашиваю - Как? Тут так всё переплетено! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 11:16 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC SharprabiterТот же выделенный сервер авторизации, тоже синглетонвы серьезно? конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 11:50 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiter, А выделенный стул под вами тоже? Нет логики. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:03 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharprabiter, А выделенный стул под вами тоже? Нет логики. нет, стульев много. т. е. иного инстансев стульев - захотел на один сел, захотел на другой. да есть логика, просто вы почему-то не видите. просто видимо вы в узком смысле понимаете синглетон, а я в более широком смысле говорю. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:11 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Тема - троллинг по сути. Чего вы добиваетесь. Вы говорите не юзайте синглтон - юзайте фреймфорки с DI. Офуеть бл..ть выбор. Это выбор капитализма. Зачем тебе курица когда есть Биг-Мак? Да и вообще если ты решил создать куриную ферму - тебя оштарфуют за био-тероризм. Не выращивай курей! Ведь у тебя есть бигмак! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:11 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
maytonВы говорите не юзайте синглтон - юзайте фреймфорки с DIвы топик не читали? Я говорю что синглетон нужно юзать в последнюю очередь. Когда других средств нет. Выше мемберы нашли средства без синглетона. Вам поименно назвать мемберов? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:16 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
maytonТема - троллинг по сути. Чего вы добиваетесь. Вы говорите не юзайте синглтон - юзайте фреймфорки с DI. Офуеть бл..ть выбор. Это выбор капитализма. Зачем тебе курица когда есть Биг-Мак? Да и вообще если ты решил создать куриную ферму - тебя оштарфуют за био-тероризм. Не выращивай курей! Ведь у тебя есть бигмак! да я не разводил тут троллинга, у тебя была проблема в том, что получается две копии синглетона на двух jvm, решилось тем, что я вынесу сертификацию в из синглетона в отдельный сервис, вот и все а то, что синглетон зло - это чушь имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:17 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiter, Давай в широком. Тогда я за широкий синглетон вне процесса приложения. Подходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:18 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterа то, что синглетон зло - это чушь имхоаргумент мужчины ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:19 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiter, Он не тебе пост писал. Если чё) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:20 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabitermaytonТема - троллинг по сути. Чего вы добиваетесь. Вы говорите не юзайте синглтон - юзайте фреймфорки с DI. Офуеть бл..ть выбор. Это выбор капитализма. Зачем тебе курица когда есть Биг-Мак? Да и вообще если ты решил создать куриную ферму - тебя оштарфуют за био-тероризм. Не выращивай курей! Ведь у тебя есть бигмак! да я не разводил тут троллинга, у тебя была проблема в том, что получается две копии синглетона на двух jvm, решилось тем, что я вынесу сертификацию в из синглетона в отдельный сервис, вот и все а то, что синглетон зло - это чушь имхо Да это не к тебе месседж. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:20 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterя вынесу сертификацию в из синглетона в отдельный сервис, вот и все+1 Поддерживаю. Топик решен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 12:22 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
PetroNotC Sharprabiterя вынесу сертификацию в из синглетона в отдельный сервис, вот и все+1 Поддерживаю. Топик решен. А не узнал вас в гриме, ну нельзя же так! Вы ведь бывший Petro123? Если да, то рад вас видеть, низкий поклон! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 13:30 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiterPetroNotC Sharpпропущено... +1 Поддерживаю. Топик решен. А не узнал вас в гриме, ну нельзя же так! Вы ведь бывший Petro123? Если да, то рад вас видеть, низкий поклон! Хотя может я ошибаюсь :/ ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 13:49 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
rabiter, Поклон передал. Он на канарах . Восстановление сил после пробы пера на шарпе. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 14:02 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Прогнали из Шарпов? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 14:12 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
maytonПрогнали из Шарпов?в плюсах и тут 80\20 в топках код\флуд Там наоборот. Зайди и посмотри. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 14:15 |
|
Дубликат синглетонов на разных JVM
|
|||
---|---|---|---|
#18+
Да зачем оно мне? Яж просто спросил. Без пруфов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 14:21 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2121073]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
142ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
98ms |
get tp. blocked users: |
1ms |
others: | 234ms |
total: | 522ms |
0 / 0 |