|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Нужна реализация некой системы буферизации бизнес сущностей в очередь с возможностью хранения этой очереди на диске. Оперативы не хватает когда заходит дата-провайдер из китая и миллиардами сущностей. Интерфейс: Код: java 1. 2. 3. 4. 5.
Не рассматривал базы данных т.к. это оверхед и сортировки по дате всегда тормознутые. И Амазон слишком дорого берет за поднятие базячных иснтасов а мне их надо будет поднять для девов штук 4 и для нужд тестинга еще штук 16. Рассматривал : - BerkeleyDb (там вроде очередь поддерживается) - Redis (не Java-native) - KahaDb (из репозитария Apache ActiveMQ). Ничего из этого я еще не тестил и не смотрел. Поэтому можете писать свои мысли. Крутится всё это будет пока на Amazon EC2 instances с блинами типа SSD на 30 Гиг (я надеюсь). Тоеть под каждую очередь у меня будет где-то 30 минус операционка с барахлом софта и логами. Планирую также предусмотреть метод purge() для аварийной очистки очереди. Это в том случае когда например из 2х узлов кластера 1 выпал навсегда - то надо рестаровать все бизнес процессы на оставшихся нодах с чистого листа. События все равно зайдут повторно и не нарушат процессинг (у нас поддерживается idempotency на всех уровнях). Почему мне не подошли MQ системы? Ну по той причине что от MQ мне нужен был только персистенс. Почему нам не подошла обычная файловая система типа ext4? Ну.... у нас были потоки entities мелкого размера и мы переполняли файловую систему ext4 не по размеру файла а по inodes. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 17:32 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Задача совершенно не понятна. Любой класс можно сериализовать. Ну и я так понимаю, проблема то не с Queue, а с "буферизации бизнес сущностей" т.е. нужно или нормальное хранилище (база данных?) или какая нибудь система кэша с возможностью non-heap и хренанения на диске mayton Крутится всё это будет пока на Amazon EC2 instances с блинами типа SSD на 30 Гиг (я надеюсь). AFAIK кроме размера, Amazon еще и за IOPS деньги хочет т.ч. не факт, что Amazon SSD на 30 Гиг это будет ровно то, что Вы думаете ))) по стандартной опции, IOPS должно быть кот наплакал ext4 не по размеру файла а по inodes. AFAIK кол-во inodes в момент форматирование задается на Amazon'е плодил несколько миллионов файлов по 500-800 байт, все нормально работало потом перешел на SQLLite Не рассматривал базы данных т.к. это оверхед и сортировки по дате всегда тормознутые. IMHO и зря Что такое база данных? Это B-tree + максимум лог (redo log). Если целостность не нужна, отключите синхронизацию при записи, оверхеда вообще будет не видно. Использовал SQLLite. Оверхид вообще не заметен. Что такое "сортировки по дате всегда тормознутые" мне вообще не понятно. Постройте индекс, будут "мгновенные" Использовал SQLLite для миллионов строк, все летало. С миллиардами не пробывал ))) Достоинство по сравнению с файловой системой, все же добавить файл в файловую системая значительно больший оверхид, чем строчку в таблицу. И Амазон слишком дорого берет за поднятие базячных иснтасов а мне их надо будет поднять для девов штук 4 и для нужд тестинга еще штук 16. Зачем вообще базячные инстансы от Амазона? Только если своих рук нет, базу поставить. А в случае с SQLite и ставить ничего не нужно. JAR в проект воткнул и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 17:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev AFAIK кроме размера, Amazon еще и за IOPS деньги хочет т.ч. не факт, что Amazon SSD на 30 Гиг это будет ровно то, что Вы думаете ))) по стандартной опции, IOPS должно быть кот наплакал Мы регулируем S3 но не можем выйти на те паспортные параметры которые были анонсированы. Пока есть ощущение что S3 требуется некий прогрев бакета. И все рекомендации по разделению бакета на префиксы мы выполнили. Но пока по записи S3 плох. Я предполагаю что он больше по чтению оптимизирован. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 18:13 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev кол-во inodes в момент форматирование задается на Amazon'е плодил несколько миллионов файлов по 500-800 байт, все нормально работало Да. Это щас - самый рабочий вариант на проверку. Но характер и род доступа к хранилищу будет именно таким как я описал в абстрактном протколе "Q". И сущности могут быть мелкими. меньше от нескольких байт до 4К. Выгодно их хранить или нет в ext4 ? Я не знаю. Но мой опыт баз данных подсказывает что группировать их в более крупные сущности - выгоднее. При этом не нарушая удобство "Q". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 18:22 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Но пока по записи S3 плох. Что под этим подразумевается? Как проверяете запись? И главное - чего ожидаете? Он вообще eventual consistent ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 18:23 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
IMHO и зря Что такое база данных? Это B-tree + максимум лог (redo log). Если целостность не нужна, отключите синхронизацию при записи, оверхеда вообще будет не видно. Использовал SQLLite. Оверхид вообще не заметен. Что такое "сортировки по дате всегда тормознутые" мне вообще не понятно. Постройте индекс, будут "мгновенные" Использовал SQLLite для миллионов строк, все летало. С миллиардами не пробывал ))) Достоинство по сравнению с файловой системой, все же добавить файл в файловую системая значительно больший оверхид, чем строчку в таблицу. Вот как раз я и говорю что мне не нужна БД как таковая. Просто подойдет дисковая структура данных которая сохраняет вид FIFO. А поскольку я ищу эконом-решение то база данных вроде как отпадает. Можно подключить AmazonElastiCache (Redis) но это уже сетевая интеракция. Можно SQS. Но мой последний опыт работы с SQS был резко негативным. Более неудобного API программирования я нигде не видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 18:29 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
забыл ник mayton Но пока по записи S3 плох. Что под этим подразумевается? Как проверяете запись? И главное - чего ожидаете? Он вообще eventual consistent Это - тема отдельного топика. И я сейчас не хочу на ней зацикливать основную тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 18:29 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Зачем вообще базячные инстансы от Амазона? Только если своих рук нет, базу поставить. А в случае с SQLite и ставить ничего не нужно. JAR в проект воткнул и все. Я думаю что здесь кроется самая главная маркетинговая подстава. Действительно - зачем? И я думаю что в амазоне сидят не дураки и они знают где так тонкая грань что продать и в каких условиях. А база ставится через apt install postgres ... да. Это так. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 18:33 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
С S3 работал только как пользователь, т.ч. не специалист Все же S3 это не файловая система. Даже по логике, ожидать от нее быстрой работы я бы не стал. Да и доступ по сети (между нодами-машинками) вещь не быстрая. Плюс, подозреваю, если трафик пойдет между дата-центрами, то еще и на оплату трафика можно нарваться. --- Не очень понятен требуемый функционал. Если бизнес-сущности поддерживают сериализацию. то написать свой Queue с буфферизацией - в общем-то несколько сотен строк кода. Проблема производительности, как мне видится: 1) Скорость сериализации бизнес-сущности. Сам по себе стандартный механизм сериализации в Java тормозной до чертиков, как Java так умудряется, мне не понятно. Я переписывал на Externalizable. 2) Скорость сохранения на диске. Если бизнес-сущности можно сохранить в fixed size записи, то самое быстрое был бы просто Circle Ring Buffer на диске (сервер то выделеннй, сразу и нарезать буффер на все 30 Gb). Если нет (что скорее всего), то SQL Lite, что бы не изобретать буфферизацию записи/чтения на диск. 3) Входные объемы данных. Как я понимаю, если данные помещаются в ОП, то Вы можете работать в ОП (персистентность и защита от сбоев не требуется). Если не помещаются, то на диск. Но тут проблема, что тогда может быть сильный разнобой по скорости в зависимости от нагрузки, допустимо ли это или нужно всегда медленно, но зато стабильная скорость. 4) Требование от сбоев. Если требуется атомарность и гарантированное хранение информации, то быстрее IOPS'ов Amazon'а не прыгнуть. А их, насколько я помню, десятки, максимум сотни (или платите деньги). А 100-200 записей в секунду - как-то не много. Если при сбое все 30 Гб накрываются "медным тазом" и это нормально, то наверное на пару десятков мегабайт в секунду от локальных дисков расчитывать вполне можно. Можно конечно в своем формате хранить или смотреть на какие нибудь продукты кэширования, но если что-то сложнее Circle Ring Buffer'а, то SQL Lite будет и проще и, скорее всего, быстрее. p.s. с точки зрения "велосипедостроения". Но без полноценной постановки, что же требуется, скорее всего разговариваем о разном. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 18:40 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Leonid Kudryavtsev Зачем вообще базячные инстансы от Амазона? Только если своих рук нет, базу поставить. А в случае с SQLite и ставить ничего не нужно. JAR в проект воткнул и все. Я думаю что здесь кроется самая главная маркетинговая подстава. Действительно - зачем? И я думаю что в амазоне сидят не дураки и они знают где так тонкая грань что продать и в каких условиях. А база ставится через apt install postgres ... да. Это так. По опыту, SQLite минимум на порядок ( 7-8 раз и больше ) быстрее postgresql на точечных select'ах / insert'ах. Как минимум, отстутвует проблема меж-процессорного взаимодействия (задержки на localhost + переключение потоков/процессов). Для проектов, где не требуется полноценная, отдельно стоящая база, а бы первым делом сейчас смотрел на SQL Lite. А с учетом родовой травмы PostgreSQL (vacuum), для задачь типа subj, на PostgreSQL смотрел бы вообще в последнию очередь. IMHO & AFAIK Если "не рассматривал базы данных т.к. это оверхед" ориентируясь на PostgreSQL, я бы порекомендовал пересмотреть свое мнение и попытаться сделать тесты производительности, что нужно, что получилось/не получилось с SQL Lite. Какие характеристики не достигнуты. IMHO & AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 18:48 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
>Почему нам не подошла обычная файловая система типа ext4? Ну.... у нас были потоки entities мелкого размера и мы переполняли файловую систему ext4 не по размеру файла а по inodes. В свое время была задача, где нужно было хранить несколько миллионов (но не миллиардов) коротких файлов в одной директории. Прекрасно справлялся RaiserFS. Единственный недостаток - история с ее создателем. Про миллиарды надо тестировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 19:00 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
kolchanov >Почему нам не подошла обычная файловая система типа ext4? Ну.... у нас были потоки entities мелкого размера и мы переполняли файловую систему ext4 не по размеру файла а по inodes. В свое время была задача, где нужно было хранить несколько миллионов (но не миллиардов) коротких файлов в одной директории. Прекрасно справлялся RaiserFS. Единственный недостаток - история с ее создателем. Про миллиарды надо тестировать. Мы попробуем средствами ext4. Или я запилю Berkeley или KahaDb. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 19:07 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton запилю Berkeley Она же вроде денег стоит? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 19:11 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Вот только што скачал отсюдова https://www.oracle.com/database/technologies/related/berkeleydb-downloads.html не заплатив ни шекеля. Я помню что какое-то время у Оракла можно было взять либо легаси версию бесплатно либо последнюю с какими-то ограничениями. Но щас вроде как либерально. Наверно эта беркли просто никому нахер не нужна. Ни в native ни в Java варианте. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 19:14 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
А вспомнил. Точно. Вот здесь этот боян был бесплатным https://mvnrepository.com/artifact/berkeleydb/je/3.2.76 От 2008 года. А у Оракла - будет какое-то заподлецо типа ограниченных возможностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 19:17 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
The our open source license permits you to use Berkeley DB, Berkeley DB Java Edition or Berkeley DB XML at no charge under the condition that if you use the software in an application you redistribute, the complete source code for your application must be available and freely redistributable under reasonable conditions. If you do not want to release the source code for your application, you may purchase a license from Oracle. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 19:21 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Ну... можно и так. Главное что они поддерживают 3 сериализируемые структуры. B+Tree, HashTable, Queue. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 19:34 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Ну с этой Беркли я уже когда-то давно работал. А с KahaDb? Не знаю. Потрачу пол-дня времени чтобы просто осознать что оно может и не сильно надо. Вот репка тут https://github.com/apache/activemq/tree/master/activemq-kahadb-store ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 19:44 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Ну... можно и так. Главное что они поддерживают 3 сериализируемые структуры. B+Tree, HashTable, Queue. BerkeleyDbSince the Queue access method always uses fixed-length records , the user must always set the record length prior to creating the database. сущности могут быть мелкими.меньше от нескольких байт до 4К ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 19:54 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Выж понимаете что у нас нет проблем с диском пока. У нас просто была проблема с нехваткой inodes. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 20:02 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Нужна реализация некой системы буферизации бизнес сущностей в очередь с возможностью хранения этой очереди на диске. Оперативы не хватает когда заходит дата-провайдер из китая и миллиардами сущностей. Интерфейс: Код: java 1. 2. 3. 4. 5.
Не рассматривал базы данных т.к. это оверхед и сортировки по дате всегда тормознутые. И Амазон слишком дорого берет за поднятие базячных иснтасов а мне их надо будет поднять для девов штук 4 и для нужд тестинга еще штук 16. Рассматривал : - BerkeleyDb (там вроде очередь поддерживается) - Redis (не Java-native) - KahaDb (из репозитария Apache ActiveMQ). Ничего из этого я еще не тестил и не смотрел. Поэтому можете писать свои мысли. Крутится всё это будет пока на Amazon EC2 instances с блинами типа SSD на 30 Гиг (я надеюсь). Тоеть под каждую очередь у меня будет где-то 30 минус операционка с барахлом софта и логами. Планирую также предусмотреть метод purge() для аварийной очистки очереди. Это в том случае когда например из 2х узлов кластера 1 выпал навсегда - то надо рестаровать все бизнес процессы на оставшихся нодах с чистого листа. События все равно зайдут повторно и не нарушат процессинг (у нас поддерживается idempotency на всех уровнях). Почему мне не подошли MQ системы? Ну по той причине что от MQ мне нужен был только персистенс. Почему нам не подошла обычная файловая система типа ext4? Ну.... у нас были потоки entities мелкого размера и мы переполняли файловую систему ext4 не по размеру файла а по inodes. http://swaydb.io/?language=java/ До 100 млн записей поддерживает. Хорошего вам дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 20:23 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Valentin Kolesnikov, пардон но в ней не видно интерфейса очереди http://swaydb.io/api/write/put/?language=java/ Возможно это обычная key-value хранилка? Но для меня это тоже избыточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 20:45 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
kolchanov >Почему нам не подошла обычная файловая система типа ext4? Ну.... у нас были потоки entities мелкого размера и мы переполняли файловую систему ext4 не по размеру файла а по inodes - вроде это решается простым раскидыванием файлов по папкам. Или я что то путаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 00:35 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Kachalov - вроде это решается простым раскидыванием файлов по папкам. Или я что то путаю? не решается но при форматировании диска можно задать любое кол-во inodes AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 01:20 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 05:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster Там есть queue? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 12:10 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Там есть queue? А у кого бд поддерживает такие структуры вообще? Если знаешь бд, которые умеют делать ссылки, то очень интересно. Так-то queue накостылить просто и скормить inmemory db, которая сбросит их на диск. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 12:22 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster, топик вообще не про БД! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 14:21 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Рассматривал : - BerkeleyDb (там вроде очередь поддерживается) - Redis (не Java-native) - KahaDb (из репозитария Apache ActiveMQ). Нууу вот же. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 04:25 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster mayton Рассматривал : - BerkeleyDb (там вроде очередь поддерживается) - Redis (не Java-native) - KahaDb (из репозитария Apache ActiveMQ). Нууу вот же. Хорошо. Давай зайдем с другой стороны. Как ты организуешь очередь FIFO в базе данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 11:50 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Как ты организуешь очередь FIFO в базе данных? Никак. Зачем её там огранизовывать? Очередь в яве, при добавлении/извлечении это всё сбрасывается в бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 11:58 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster mayton Как ты организуешь очередь FIFO в базе данных? Никак. Зачем её там огранизовывать? Очередь в яве, при добавлении/извлечении это всё сбрасывается в бд. Очередь большая. В память не влезает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:03 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Очередь большая. В память не влезает. Ленивую подгрузку какую-нибудь замутить. Нужна ли тут бд вообще? Я б закостылил что-нибудь на RandomAccessFile. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:12 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster mayton Очередь большая. В память не влезает. Ленивую подгрузку какую-нибудь замутить. Нужна ли тут бд вообще? Я б закостылил что-нибудь на RandomAccessFile. Ну вот если развивать идею то она и вытекает либо в RandomAccessFile либо в библиотеку. Либо в коробочное решение которое вроде как Queue поддерживает (BerkeleyDb). Костылить сейчас сразу свою библиотеку я не хочу. Объекты будут иметь вариативный размер поэтому сама по себе структура их хранения в этом RAF будет не-тривиальной. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:14 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Очередь большая. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:24 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Костылить сейчас сразу свою библиотеку я не хочу. Не, так не интересно. Сделал бы проект на гитхабе с тестами, а то пишут одни джуны со своими тз. mayton Объекты будут иметь вариативный размер поэтому сама по себе структура их хранения в этом RAF будет не-тривиальной. Да ну. Обычная каша с разделителями. Ты же не будешь там по записям прыгать в случайном порядке, а читать сразу большими кусками от разделителя до разделителя, потом помечать, что вычитал, что отправил, где остановился. mayton Либо в коробочное решение которое вроде как Queue поддерживает (BerkeleyDb). Там своя специфика будет, я думаю. В итоге придётся лепить что-то пригодное из того, что для этого не предназначалось и собирать грабли. Вполне может выйти так, что времени сил и нервов на это уйдет больше, чем на велик. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:27 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Не рассматривал базы данных т.к. это оверхед и сортировки по дате всегда тормознутые. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:30 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton BerkeleyDb викиПоследняя версия 6.0.20 (10 июня 2013 года) Я не хочу тебя расстраивать, но по-моему оно уже сдохло. Я за велик. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:31 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Почему мне не подошли MQ системы? Ну по той причине что от MQ мне нужен был только персистенс. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:33 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster Я за велик ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:34 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Очередь большая. У нас нет транзакций. Просто загрузка. Ее можно трактовать как транзакцию а можно и нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:35 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Как ты организуешь очередь FIFO в базе данных? Организовать то без проблем, но ты понимаешь что жесткое FIFO это жесткая сериализация? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:37 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Ее можно трактовать Смотри, если очередь не выгребать, то НИКАКОЙ ПАМЯТИ не хватит. Очевидно? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:37 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp а сортировка?)) А зачем? Там же просто fifo с двумя метками. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:37 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster А зачем? Там же просто fifo с двумя метками. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:37 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster mayton Либо в коробочное решение которое вроде как Queue поддерживает (BerkeleyDb). Там своя специфика будет, я думаю. В итоге придётся лепить что-то пригодное из того, что для этого не предназначалось и собирать грабли. Вполне может выйти так, что времени сил и нервов на это уйдет больше, чем на велик. Да там своя специфика. Вот - картинка есть на эту тему. https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/berkeley-db-datasheet-132390.pdf Это говоря грубо. Вообще не SQL-dbms. Это встраиваемая система которая поддерживает B+Tree, Hastable, Queue-организованные табличные структуры. Диалект SQL там вообще не основной API. Как в key-value. Он может поддерживаться но как дополнительная услуга. Чтоб не было так страшно на нее смотреть невооруженным глазом. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:40 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Ее можно трактовать Смотри, если очередь не выгребать, то НИКАКОЙ ПАМЯТИ не хватит. Очевидно? Да. У нас процесс продюсер будет работать быстрее чем консюмер. Но консюмер за 1 сутки должен подобрать то что продюссер наформировал за 1 час. (Это всё цифры приближенные. Не цепляйтесь к ним.) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:42 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster mayton, Зачем? Зачем что? Сортировка? Низачем. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:42 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Это говоря грубо. Вообще не SQL-dbms. Это встраиваемая система которая поддерживает B+Tree, Hastable, Queue-организованные табличные структуры. Ну вот зачем всё это тащить ради одного queue? Вместо этого же можно весело провести время за изобретением велика! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:45 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
(пожимая плечами) Ну давай. Начинай. Но инженерный подход в общем случае заключается в поиске и отборе существующих инструментов. И потом уже собственно в разработке того чего нет. Тыж не создаёшь свой собственный драйвер для принтера если надо 1 страничку распечатать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:54 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp пропущено... я это и сделал. Смотри, если очередь не выгребать, то НИКАКОЙ ПАМЯТИ не хватит. Очевидно? Да. У нас процесс продюсер будет работать быстрее чем консюмер. Но консюмер за 1 сутки должен подобрать то что продюссер наформировал за 1 час. (Это всё цифры приближенные. Не цепляйтесь к ним.) Можно абстрактно, можно считать память как сишники. Винда сбрасывает в своп когда память кончается? Почему MQ системы не подходят если ОЧЕРЕДЬ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Тыж не создаёшь свой собственный драйвер для принтера если надо 1 страничку распечатать? Ну, когда у меня был матричник я писал какой-то скрипт, который именно это и делал. Работало так: я выделял текст, нажимал шорткат и оно печаталось. Таким же образом делал "драйвер" для com сканера штрихкодов, ибо всё существующие было дерьмовыми дельфиподелками. mayton Ну давай. Начинай Всё, поздно. Я уже домой собираюсь. Можешь сделать ТЗ и описать подробнее что надо и под какие нагрузки, пока я доберусь до компа. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 12:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Почему MQ системы не подходят если ОЧЕРЕДЬ? MQ это не столько про очередь, сколько про доставку сообщений. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:00 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster PetroNotC Sharp Почему MQ системы не подходят если ОЧЕРЕДЬ? MQ это не столько про очередь, сколько про доставку сообщений. Разве не как в спринг.... Бери то что надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:09 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster mayton Тыж не создаёшь свой собственный драйвер для принтера если надо 1 страничку распечатать? Ну, когда у меня был матричник я писал какой-то скрипт, который именно это и делал. Работало так: я выделял текст, нажимал шорткат и оно печаталось. Таким же образом делал "драйвер" для com сканера штрихкодов, ибо всё существующие было дерьмовыми дельфиподелками. Ты - страшный человек Даже не могу представить как ты по работе проблемы решаешь. Всё - сам кодишь. Процент повторного использования кода для тебя ... наверное равен нулю ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:29 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
MQ системы обычно связаны с поднятием сетевых сервисов. У меня пока все локально. 1 процесс все делает. Поэтому поднимать еще MQ не вижу смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:30 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton MQ системы обычно связаны с поднятием сетевых сервисов. У меня пока все локально. 1 процесс все делает. Поэтому поднимать еще MQ не вижу смысла. А как с сортировкой? Либо fifo либо сортировка. Выбирай. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:32 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Не нужна мне никакая сортировка от слова вообще. Мне нужен FIFO. Но очередей будет несколько. И нужна очистка в случае всяких repeat-логик. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster Всё, поздно. Я уже домой собираюсь. Можешь сделать ТЗ и описать подробнее что надо и под какие нагрузки, пока я доберусь до компа. Нет никакого ТЗ. Есть пока только идея. Сейчас процессы синхронизированы и работают медленно. Я хочу их разнести в конвейер очередей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:46 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Но очередей будет несколько. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:49 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Я хочу их разнести в конвейер очередей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:50 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, По сути тебе нужно хранение сущностей на диске в виде двусвязного списка, таких инструментов не знаю, может в графовую БД запихать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:51 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Честно говоря, если делать велосипед, я бы делал что нибудь простое. Типа Circle Ring Buffer на диске. Chunk фиксированного размера (байтов 30-60). Большие записи разбивать на несколько chunk'ов и просто писать последовательно. Структура хранения будет тривиальная. Поскольку FIFO и Circle Ring Buffer то не будет фрагментации и все общение с диском исключительно последовательное - максимальная производительность на любом жетком диске. Объем кода для полноценной реализации, думаю пара сотен строк в максимуме. Недостаток и одновременно достоинство, место для хранилище нужно выделять заранее. Для пользовательского софта это был бы недостаток, для серверного достоинство. mayton Не нужна мне никакая сортировка от слова вообще. Мне нужен FIFO. Но очередей будет несколько. И нужна очистка в случае всяких repeat-логик. Про очистку не понял. Вообще, interface из первого поста на Queue совершенно не похож. Где Вы видели такие Queue, я вообще не понимаю ))) и что данный интерфейс должен делать - тоже ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:53 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
iOracleDev По сути тебе нужно хранение сущностей на диске в виде двусвязного списка , таких инструментов не знаю, может в графовую БД запихать? Зачем? 1. Банальный файл на диске и логика Circle Ring Buffer. в конец пишем, из начала читаем. 2. Если нужно удаление и random доступ к содержимому, то банальная табличка например в SQL Lite id, data Низ и верх / начало и конец / head tail FIFO очереди банально храним в самом классе. Т.ч. никаких сортировок или min/max не требуется Насколько я помню. Табличка в SQL Lite это физически Key-Value, NoSQL структура. Т.ч. даже даже дополнительный индекс primary key в случае SQL Lite будет не нужен ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 13:56 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, А я и не знал про редактирование)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:01 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
iOracleDev mayton, По сути тебе нужно хранение сущностей на диске в виде двусвязного списка, таких инструментов не знаю, может в графовую БД запихать? Зачем графовую? У меня нет графов? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:02 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Вообще, interface из первого поста на Queue совершенно не похож. Где Вы видели такие Queue, я вообще не понимаю ))) и что данный интерфейс должен делать - тоже ))) Ну... это так. Для затравки. Для старта дискуссии. Надож с чегото начать. Да он не совместим с стандартными очередями. Ну и фиг с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:04 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Leonid Kudryavtsev, А я и не знал про редактирование)))) Можно тактично послать собеседника а потом быстринько зачистить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:05 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
iOracleDev mayton, По сути тебе нужно хранение сущностей на диске в виде двусвязного списка, таких инструментов не знаю, может в графовую БД запихать? Хранение сущностей любого размера друг за другом. Без пропусков) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:06 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp Leonid Kudryavtsev, А я и не знал про редактирование)))) Можно тактично послать собеседника а потом быстринько зачистить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:08 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Реализация кольцевого есть где? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:11 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Что там "реализовывать" ? Можно конечно поискать в google.com, но честно говоря, интерес представляет не реализация (дабы ее любой школьник за час закодировать может), а оптимизация под конкретные условия работы а тут нужно знать эти самые условия, особой конкретики в топике нет из интересных обсуждений, использование circle ring buffer'а на диске для видеопередачи (видеокамера продюсер + пара видеоплееров консьюмеры) https://stackoverflow.com/questions/45869793/c-circular-buffer-using-large-disk-file/45870483 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:41 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
В теме с буферизацией видосов речь идет о записях фиксированного размера. Их легче поддерживать. Как арифметику указателей в С++ ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 15:26 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Для вариативного размера... я пока придумал писать sequence из файлов. Типа Код: plaintext 1. 2.
И по кругу их использовать. Каждый файл приближенно до 128Мб. Что диск рационально утилизировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 17:20 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Каждый файл приближенно до 128Мб. Что диск рационально утилизировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 17:22 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Я беру за основу идею что мне не нужен 1 месседж ка единица использования. Если при размере 1-4k средняя длина месседжа будет 2 к то в 128 Мегабайтном куске у меня лежит фрагмент FIFO порядка 65 тысяч месседжей. Это меня вполне устраивает. Все равно чтение и запись будет крупным потоком. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 17:26 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton В теме с буферизацией видосов речь идет о записях фиксированного размера. Их легче поддерживать. Как арифметику указателей в С++ Mayton, фиксированные <=> не фиксированные - двадцать строчек кода В момент записи: Разбиваем на сhunk'и и пишем в FIFO Circle Ring Buffer, у последней записи ставим признак последняя В момент чтения: Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Для вариативного размера... я пока придумал писать sequence из файлов. Типа Чем сиквенс из 10 файлов по 128 Mb лучше одного файла в 1.2 Gb - мне не понятно Чем он помогает при записях разной длина - мне так же не понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 18:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, предлагай свои варианты. Базовый проткол остаётся тот-же самый. Но добавим метод poll. И несколько очередей (несколько экземпляров Q) и бросание исключений и ошибки статусов для каждой команды. Код: javascript 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 18:46 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton В теме с буферизацией видосов.... тут скорее вопрос: 1. допустимо и нужно ли "накапливать" входящие пакеты в памяти перед записью на диск? 2. какая максимальная задержка по времени допустима? (пакет пришел и пауза... буфер не заполнен, нужен сброс по таймеру) 3. требование к надежности (нужно ли и когда жестко flush'ить) 4. Так же не очень понятно, где хранить head - tail позицию. Вроде же они должны быть синхронезированы у читателя и писателя (когда очередь не заполнена и читатели ждут новых данных). Если на диске, когда их flush'ить С последним пунктом не уверен, нужно думать, а что бы начинать думать, по хорошему нужно начинать кодить ))) совершенно не понятно, что Вы имели в виду под "удалением" ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 18:47 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton В теме с буферизацией видосов.... тут скорее вопрос: 1. допустимо и нужно ли "накапливать" входящие пакеты в памяти перед записью на диск? Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 18:49 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 4. Так же не очень понятно, где хранить head - tail позицию. Вроде же они должны быть синхронезированы у читателя и писателя (когда очередь не заполнена и читатели ждут новых данных). Если на диске, когда их flush'ить С последним пунктом не уверен, нужно думать, а что бы начинать думать, по хорошему нужно начинать кодить ))) Это самый интересный и сложный вопрос. Я как раз думаю что форум придумает пропозицию. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 18:51 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 3. требование к надежности (нужно ли и когда жестко flush'ить) Нет жесткого требования. Если вы будете флашить через каждые 3 секунды с последнего event то я не против. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 18:52 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev совершенно не понятно, что Вы имели в виду под "удалением" Очистка? Ну... как вариант обнаружен баг и очередь надо сбросить. Или в кластере java-приложений насмерть помер один из nodes и чтобы ребаланс евентов сработал - надо просто рестаровать бизнес процессы в новом окружении очередей. Старые данные что скопились в очередях уже ценности не представляют. Их можно убить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 18:54 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Пятничный креатив: сбрасывайте сообщения в Lucene (если нужно легкое рукоблудное решение с нулевым администрированием) или в Elastic (тут с администрированием, зато и с кластеризацией) с индексацией по времени ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 20:47 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
В первом приближении Многопоток не проверял и не делал Проверок не делал Гитхабом не заморачивался ))) Буферизацию не делал. Флегда флушится. пришлось сделать свою реализацию FileOutputStream, FileInputStream трогать не стал ))) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83.
простейший тест на запись и чтение: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 21:53 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, И как его закрыть тогда? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2019, 00:16 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
забыл ник Leonid Kudryavtsev, И как его закрыть тогда? Что если вдруг эксепшен? Ну так себе идея.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2019, 00:17 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Есть ещё memcached и rocksdb. https://db-engines.com/en/system/Memcached;RocksDB;SwayDB Хорошего вам дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2019, 06:29 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Спасибо. Попробуем. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2019, 11:35 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Хм. Кое что не юзается. Убрал. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2019, 23:54 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Надо еще потестить в 2 потока. Один добавляет. Другой poll-ит. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2019, 01:34 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Надо еще потестить в 2 потока. Один добавляет. Другой poll-ит. я никак не могу придумать, как сделать проверку на переполнение буфера если ее не делать - то все просто, но как-то хочется, что бы если пишешь больше размера буфера и читалка не успевает - был бы эксепшен ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2019, 16:21 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Давайте отложим пока. Это не бизнес-кейс. Главное что больше чем heap положили в голову очереди - уже хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2019, 17:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Заменил Object на Serializable. Изменил тест пока на синхронное отрабатывание сначала продюсера а потом потребителя. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55.
Код: java 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2019, 23:44 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Даже не могу представить как ты по работе проблемы решаешь. Всё - сам кодишь. Ну почему всё. Либы для оракла и раббита я не велосипедил ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 06:29 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Честно говоря, если делать велосипед, я бы делал что нибудь простое. Типа Circle Ring Buffer на диске. Chunk фиксированного размера (байтов 30-60). Большие записи разбивать на несколько chunk'ов и просто писать последовательно. Структура хранения будет тривиальная. Поскольку FIFO и Circle Ring Buffer то не будет фрагментации и все общение с диском исключительно последовательное - максимальная производительность на любом жетком диске. Да, думал, пришел к тому же самому. Разделители - не нужно, запись кусками с метками (принято/отправленно/кусок/заголовок) настраиваемого размера. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 06:31 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Заменил Object на Serializable AFAIK: Serializable - тупое и медленное г...но Externalizable - rulezzzzz ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 20:03 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton Заменил Object на Serializable AFAIK: Serializable - тупое и медленное г...но Externalizable - rulezzzzz Согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 20:51 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster Leonid Kudryavtsev Честно говоря, если делать велосипед, я бы делал что нибудь простое. Типа Circle Ring Buffer на диске. Chunk фиксированного размера (байтов 30-60). Большие записи разбивать на несколько chunk'ов и просто писать последовательно. Структура хранения будет тривиальная. Поскольку FIFO и Circle Ring Buffer то не будет фрагментации и все общение с диском исключительно последовательное - максимальная производительность на любом жетком диске. Да, думал, пришел к тому же самому. Разделители - не нужно, запись кусками с метками (принято/отправленно/кусок/заголовок) настраиваемого размера. Если использовать мой подход Код: java 1. 2.
то кольцо делать не нужно. Файловая система предоставляет нам все что нужно. А чтоб readPos не догонял writePos их надо синхронизировать через Приложение. Как вариант - два Atomic счетчика. Long указателя должно хватить на десятилетия. Инстанс приложения столько не живет обычно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 20:54 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Использованные файлы - удалять нахер. Сразу-же как только readPos их вычитал. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 12:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Создание файла - AFAIK крайне дорогая операция + дергание головок. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 14:48 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Согласен. Игры с аллокацией тоже надо посчитать. Но этот вариант меня тоже устраивает т.к. он - простой. А перформансных инцедентов пока у нас нет т.к. нет самого софта и нет данных. Вариант с вращением данных в одном файле - тоже ОК. Только я еще хотел дописать либо Externalize поддержку либо какой-нибудь Cryo. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 16:09 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Создание файла - AFAIK крайне дорогая операция + дергание головок. если памяти не хватает, что ещё остаётся? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 18:34 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух Leonid Kudryavtsev Создание файла - AFAIK крайне дорогая операция + дергание головок. если памяти не хватает, что ещё остаётся? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 18:38 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
что за файл с разделами? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 18:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
БД я отверг как избыточное. Кроме того... только Berkeley заявяет о поддержке очереди FIFO как нативной структуре данных. И встроенные движки в MQ-брокеры но... API которых мне неизвестен. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 18:40 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух что за файл с разделами? 1 файл с миллионом классов в формате - имя класса, сам класс в байтах. 2 файл индексный, где позиции начала классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 19:19 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton БД я отверг как избыточное. Кроме того... только Berkeley заявяет о поддержке очереди FIFO как нативной структуре данных. Не модет быть, чтобы оракл был хуже)) https://docs.oracle.com/database/121/ADQUE/aq_intro.htm#ADQUE2431 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 19:52 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp полудух что за файл с разделами? 1 файл с миллионом классов в формате - имя класса, сам класс в байтах. 2 файл индексный, где позиции начала классов. в смысле vector<User> ? или как оно там в Яве...? да пофиг, как такой вектор сохранить в файл в C++? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 21:12 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, У меня есть шанс построить копеечное решение а ты меня толкаешь в дорогие и лицензированные? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 21:42 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp, У меня есть шанс построить копеечное решение а ты меня толкаешь в дорогие и лицензированные? Так есть готовое решение. Хорошего вам дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 22:29 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Valentin Kolesnikov mayton PetroNotC Sharp, У меня есть шанс построить копеечное решение а ты меня толкаешь в дорогие и лицензированные? Так есть готовое решение. Хорошего вам дня! SayDb мы отбросили. Memcached - это по определению In-memory dbms, поэтому не подходит. RocksDb я помню. Хорошая штука от Фейсбука. Я где-то проводил сравнение ее с LevelDb. Надо еще раз почитать про нее. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 23:04 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух PetroNotC Sharp пропущено... 1 файл с миллионом классов в формате - имя класса, сам класс в байтах. 2 файл индексный, где позиции начала классов. в смысле vector<User> ? или как оно там в Яве...? да пофиг, как такой вектор сохранить в файл в C++? В java смотрят крупнее на задачи. Неважно в каком контейнере приходят миллионы объектов. В коллекции/векторе/массиве/связанные веревкой. На диск мы УПОРЯДОЧЕННО сбрасываем только объекты. Без контейнера. То есть User, Puser, Muser, Мышка, Паровоз,... Вот можно создать 5 файлов, а можно один и можно парочку. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 07:17 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Создание файла - AFAIK крайне дорогая операция + дергание головок В 2к20 уже можно пользоваться ssd. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 07:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Serializable - тупое и медленное г...но Externalizable - rulezzzzz эскобар.жпг По сравнению с си/плюсами - всё это 3-х колёсные велики без педалей. Тут единственный вменяемый способ - кастить структуру сразу из void*, всё остальное - дико медленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 07:49 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух да пофиг, как такой вектор сохранить в файл в C++? Элементарно. Кастишь всё в char* да сохраняешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 08:09 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster полудух да пофиг, как такой вектор сохранить в файл в C++? Элементарно. Кастишь всё в char* да сохраняешь. Может так? int x = testvalue; fwrite(&x, 1, sizeof(int), fp); ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 10:28 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster полудух да пофиг, как такой вектор сохранить в файл в C++? Элементарно. Кастишь всё в char* да сохраняешь. а как структуру скастить в чар? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 13:41 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster Leonid Kudryavtsev Создание файла - AFAIK крайне дорогая операция + дергание головок В 2к20 уже можно пользоваться ssd. Уже ранее говорил: Даже для SSD, тарифы Amazon'а считают IOPS'ы и их тарифицируют/режут_скорость Т.ч. даже SSD не значит, что из IO-подсистемы можно устраивать помойку. Это все равно скажется или на производительности (в случае механики) или на деньгах (в случае с Amazon'ом) IMHO & AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 17:19 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух crutchmaster пропущено... Элементарно. Кастишь всё в char* да сохраняешь. а как структуру скастить в чар? уже сам нашёл (внизу) авторПри сложном строении классов или активном участии указателей в классах объекты часто сериализуют. Я сериализовать ничего не умею, поэтому и показать, как такое вытворять — не могу. а про это кто чего может сказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 20:43 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster Leonid Kudryavtsev Serializable - тупое и медленное г...но Externalizable - rulezzzzz эскобар.жпг По сравнению с си/плюсами - всё это 3-х колёсные велики без педалей. Тут единственный вменяемый способ - кастить структуру сразу из void*, всё остальное - дико медленно. Здесь С++ не нужен потому что у нас весь стек технологий на базе Java-8. Это требование нашего драгоценного кастомера. Который платит нам деньги. Которые мы тоже нежно любим. Спор о том что будет быстрее кастинг void* или еще что-то это спор о наносекундах. У нас идет речь о величинах порядка 1-мс. Сетевые события. Поэтому не вижу особого смысла развивать идею подобного спора. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 20:48 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton У нас идет речь о величинах порядка 1-мс. Умножь эти 1 мс на количество запросов получится очень даже жирно. mayton Спор о том что будет быстрее кастинг void* или еще что-то это спор о наносекундах. Это вопрос о том, что эффективнее, возможно, в тысячи раз. mayton Здесь С++ не нужен потому что у нас весь стек технологий на базе Java-8. Ну, если железо покроет оверхед, то ок, хотя я наслышан, что в ынтерпрайзе не гнушаются не то, что сями в жабке, а даже засовывать в этот си асм вставки. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 05:30 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух а про это кто чего может сказать? Ну так же как и на жабкином Externalizable делают каждому метод, который выкидывает char* всего, что нужно. Потом всё это собирают и переписывают. На выходе получается тупое копирование кусков памяти с со всех экземпляров классов и минимумом оверхеда в отличии от жабки, которая будет заниматься хрен пойми чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 05:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Может так? Так int - не struct, и там еще надо по указателям будет бегать с контейнерами. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 05:43 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster PetroNotC Sharp Может так? Так int - не struct, и там еще надо по указателям будет бегать с контейнерами. Не все наверно поняли твою строчку и идею класса в байтовый поток. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 07:11 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 07:50 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster, Согласен. А что если в ТЗ сказать что структура классов заранее неизвестна? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 08:08 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А что если в ТЗ сказать что структура классов заранее неизвестна? Неизвестна когда? Во время компиляции? Да и хрен бы с ней, можно и в рантайме классов наделать, главное, чтобы их все можно было в поток потом спустить. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 08:47 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Я понимаю, что ты клонишь к тому, что получится та же самая ява. Ну да. Тогда там будет велоява без ненужного оверхеда. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 09:00 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster, Угу. Как раз на обход всех полей класса время уходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 09:18 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Как раз на обход всех полей класса время уходит. Ну, как бы если там всё динамическое, то можно вообще херачить всё в char*, а потом кастить нужные куски этого буфера по известным метаданным. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 10:22 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster PetroNotC Sharp Как раз на обход всех полей класса время уходит. Ну, как бы если там всё динамическое, то можно вообще херачить всё в char*, а потом кастить нужные куски этого буфера по известным метаданным. В java вроде так: Код: java 1. 2. 3.
А ты опять сослался на звездочку указатель примера которого так и не привел. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 10:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster, Указатели на память становятся плохим тоном в программировании. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 10:40 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А ты опять сослался на звездочку указатель примера которого так и не привел. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Что-то такое. PetroNotC Sharp Указатели на память становятся плохим тоном в программировании. Да они всегда считались чем-то стрёмным, но что ты интересного в жизни сделаешь без void* и зачем вообще плюсы и сишечка нужны без void*? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 11:00 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 11:28 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Вот тут: User, Puser, Muser, Мышка, Паровоз,... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 12:15 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp crutchmaster, Согласен. А что если в ТЗ сказать что структура классов заранее неизвестна? видимо некий dump-class получает список указателей на члены, которые надо сохранить... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 12:27 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp crutchmaster, Указатели на память становятся плохим тоном в программировании. По разному. В ассемблере - это каждодневная рутина. В бизнес-программинге - это вечный источник ошибок и предмет ненависти. Особенно когда кодер старшей категории делает code-review своих младших коллег. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 12:32 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Я про ЯП высокого уровня. Не про ассемблер. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 12:50 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух, Ну дак RTTI же. А в java зовут рефлексия. Мы же это не будем тут изобретать? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 12:51 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster, Дык там нет твоего класса в качестве базового. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 12:52 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp полудух, Ну дак RTTI же. А в java зовут рефлексия. Мы же это не будем тут изобретать? значит где-то должна быть либа, которая идеально сохраняет объекты на диск и потом восстанавливает их (в т.ч. и сложные иерархии классов с указателями) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 15:57 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
crutchmaster mayton У нас идет речь о величинах порядка 1-мс. Умножь эти 1 мс на количество запросов получится очень даже жирно. mayton Спор о том что будет быстрее кастинг void* или еще что-то это спор о наносекундах. Это вопрос о том, что эффективнее, возможно, в тысячи раз. mayton Здесь С++ не нужен потому что у нас весь стек технологий на базе Java-8. Ну, если железо покроет оверхед, то ок, хотя я наслышан, что в ынтерпрайзе не гнушаются не то, что сями в жабке, а даже засовывать в этот си асм вставки. (разводя руками) Совершенству нет предела. Пишите вашу очередь на С++. Но у нас - бизнес код. И его много. И интеракция с С++ на Java в рамках одного процесса мне слабо представляется. В крайнем случае - это сетевой сокет но это уже движение в сторону MQ систем. А я этого всячески избегаю. Поэтому какой-то процесс на Асме который делает очень быстрые вставки в файл мне ровным счетом ничего не дает из-за сложностей интеграции. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 16:12 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух PetroNotC Sharp полудух, Ну дак RTTI же. А в java зовут рефлексия. Мы же это не будем тут изобретать? значит где-то должна быть либа, которая идеально сохраняет объекты на диск и потом восстанавливает их (в т.ч. и сложные иерархии классов с указателями) Уже есть на java. Выше 2 строчки дал. Со сложными связями нигде нет либы. Это везде руками. Ну, у автора message идут простейшие. Без связей между собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 16:29 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
а какой вариант лучше? И для каких случаев struct User { Phone* ph; Phone ph; }; ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 17:46 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух а какой вариант лучше? И для каких случаев struct User { Phone* ph; Phone ph; }; В java эти варианты сделали одним. Чтобы не мучались. А в плюсах почему то невозможно сделать null во втором варианте. То есть если я Phone рожаю на кнрпку во время работы программы я обязан делать первый вариант. Асвторой, если в конструкторе класса main. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 17:52 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Покурите как управление памятью сделано в Rust. Там - интереснее. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 17:55 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton Покурите как управление памятью сделано в Rust. Там - интереснее. Как я изумился невозможности жить без звездочки))). Как только ставил без, то конструктор класса автоматом стартовал меня не спрашивая)) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 17:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, нету у тебя ничего в плюсах про Rust. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:08 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp В java эти варианты сделали одним. Чтобы не мучались. ну да, ну да... знаем мы эти "не мучались" в PHP вон сделали int универсальный, "чтоб не мучались"... он и int, и short, и uint, и ulong а по итогу int в PHP весит 40 байт!! и это в PHP7, а в PHP5 было 76 байт! про массив (который одновременно и map, и tuple, и array) в PHP вообще молчу... как сказал Александреску - "самая идиотская придумка of all time" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:19 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Про указатели а не rust ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:27 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух, PHP это ты далеко сравнил. У них ООП то недавно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:30 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
ООП не имеет отношения к звёздочкам или интам ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:32 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Про указатели а не rust Кинь ссылку. А то нахожу все не то. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:38 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух, Тогда с 1С сравнивай. Никто не против. Я могу сравнить с дельфи, шарп и явой. Не я же вводил умные указатели. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Ок ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:39 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Мне кажется тема умных указателей будет вечной потому что нет теоретической базы. Как в реляционной алгебре. Нужен аппарат. Который просто должен ответить на вопрос нужено ли значение указателя или нет. А пока нет и будут делать полу-умные. Полу-авторматические. Почти-умные. Смарт-умные. И так-далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:45 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:47 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Блин! И тема не твоя. И не про указатели! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 18:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Конкретнее маэстро. Тема моя, так как в те времена за мной гонялись люди в черном))) из шарп. Шифровался. #онижедети ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 19:02 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Да я про petrav говорю. Тыж не Петров? Верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 19:18 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Лучше цитируй. И я всё расскажу) (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 19:22 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
очевидно это он, мыло одинаковое ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 19:28 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Форум каскадный апдейт поддерживает?) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 19:31 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Форум каскадный апдейт поддерживает?) Каскадный бан. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 19:54 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, проверь юз кейс пожалуйста - в топике нажимаем Ответить - форум перемещает вверх и вставляет в окошко JS имя с запятой - нажимаем у другого ответить - форум перемещает вверх и вставляет в окошко JS ВТОРОЕ имя с запятой СТИРАЯ прошлое. То есть цитировать несколько раз невозможно. Есть такой глюк? Это сайт? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 20:13 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Это не ко мне чувак. Я такой же пользователь обобщенного UI как и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 22:51 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Дык тебя и просят как обычного юзверя проверить) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 23:01 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, я не очень понимаю какой баг ты воспроизводишь? Да при режиме цитирования если ты еще раз нажмешь Ответить на другого мембера - предыдущая форма ответа обнуляется. Нормальное на мой взгляд поведение. К цитированию не имеет отношения. Цитирование можешь сам добить рекурсивными тегами quote. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 14:11 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Баг потому что было не так. Старый текст не стирался а добавлялся. Второй юз кейс это выделить текс и нажать Цитировать. У меня не выделенное добавляется а ВЕСЬ ПОСТ. У тебя так? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 15:19 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, Ты правда сам теги ставишь? Видно сишника издалека)) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 15:20 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Ты знаешь. Все эти нововведения форума меня настолько мало волнуют. Вобщем.. я за 15 лет сидения в скруле давно уже не интересуюсь. Мне важен контент а не оболочка. Вот щас они langing пейджу поменяли на какое-то говно. И зачем? Вобщем я - консервативен в выборе UI. Мне даже телеграм не заходит как замена С++ и Java форуму. А знаешь почему? Там нет возможности нормально исходник оформить. Тудаже до кассы твиттеры. Фейсбуки. Вацабы и Вайберы. Говно-говняцкое. И вообще. Лучшее - враг хорошего и ничего нового под солнцем люди не сделали. Всё есть - бесконечное пережёвывание идей 20-го века. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 15:46 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Баг потому что было не так. Старый текст не стирался а добавлялся. Второй юз кейс это выделить текс и нажать Цитировать. У меня не выделенное добавляется а ВЕСЬ ПОСТ. У тебя так? всё ок ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 15:52 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух, Странно. У меня на двух независимых компах сломалось)). Надо включить отладчик JS. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 16:00 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
в профиле есть настройки форума, а там есть "Включить "быстрый" ответ и цитирование" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 17:29 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
полудух в профиле есть настройки форума, а там есть "Включить "быстрый" ответ и цитирование" Точно. Спасибо. Кстати очень странный параметр. Насколько понял, он по умолчанию при создании аккаунта не включается. И второе, зачем она выведена для юзверя? Какой прок от режима "выкл быстрое цитирование"? Плюсов вроде никаких). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 11:19 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 16:35 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 21:13 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, QueueFile is a lightning-fast, transactional, file-based FIFO The MVStore is a persistent, log structured key-value store ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2019, 14:24 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Valentin Kolesnikov Прости пожалуйста. Но где те самые весы на которые можно положить эти две технологии чтоб взвесить? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2019, 14:37 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Victor Nevsky Вот за это - спасибос большой. Посмотрю. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2019, 14:37 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Новый год был бурный. Но топик я не забыл. Я помню. Актуальность есть. Промежуточный итог. На рассмотрении следующие системы. - Berkeley Db (точно есть) - KahaDB (есть но хер доступишся до API запрятано внутри) - Leonid's Queue (хорошо но мне надо попроще. С ротацией файлов). - RocksDB (посмотреть есть ли поддержка) - Tape ( https://github.com/square/tape) посмотреть что это как работает и какие есть лимиты. Как дойдут руки я попробую сделать бенчмарк хотя-бы для 2-3 их них и выбрать одну либу. Прочие системы которые я отбросил не содержали нативной поддержки FIDO(Queue) как дисковой структуры данных или нигде не деларировали ее. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2020, 15:10 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
А зачем всегда на диск писать всю очередь? Ну выросла очередь в памяти, пусть её ОС на диск своппит, когда припрёт. Кольцевой буфер теоретически правильный подход, но для ССД это хороший способ портить диски, впрочем, как и куча отдельных файлов. Почему, кстати, ext4, а не xfs или что-то другое? И да, куски меньше 4к при записи всё равно смысла не имеют. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 21:01 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Ext4 это просто дефолтная амазонская ec2 конфигурация. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 21:13 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
По поводу свопа. Опять же... Мы влезем в глубокий технический спор на тему как выбирать Xmx для известной конфигурации памяти. Я думаю тут выбор очевиден. А дисковая очередь - это просто моя перестраховки. Тем более что я знаю характер и род нагрузки. И он не совпадает с Heap. Он редкий. И шквальный. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 21:18 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
То-есть у вас вся нагрузка взрывная и заморачиваться с трешхолдом писать в память/писать на диск нет смысла? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 22:57 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Есть смысл писать на диск. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 23:02 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
тест QueueFile - в мьютексах не шарю Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. 618. 619. 620. 621. 622. 623. 624. 625. 626. 627. 628. 629. 630. 631. 632. 633. 634. 635. 636. 637. 638. 639. 640. 641. 642. 643. 644. 645. 646. 647. 648. 649. 650. 651. 652. 653. 654. 655. 656. 657. 658. 659. 660. 661. 662. 663. 664. 665. 666. 667. 668. 669. 670. 671. 672. 673. 674. 675. 676. 677. 678. 679. 680. 681. 682. 683. 684. 685. 686. 687. 688. 689. 690. 691. 692. 693. 694. 695. 696. 697. 698. 699. 700. 701. 702. 703. 704. 705. 706. 707. 708. 709. 710. 711. 712. 713. 714. 715. 716. 717. 718. 719. 720. 721. 722. 723. 724. 725. 726. 727. 728. 729. 730. 731. 732. 733. 734. 735. 736. 737. 738. 739. 740. 741. 742. 743. 744. 745. 746. 747. 748. 749. 750. 751. 752. 753. 754. 755. 756. 757. 758. 759. 760. 761. 762. 763. 764. 765. 766. 767. 768. 769. 770. 771. 772. 773. 774. 775. 776. 777. 778. 779. 780. 781. 782. 783. 784. 785. 786. 787. 788. 789. 790. 791. 792. 793. 794. 795. 796. 797. 798. 799. 800. 801. 802. 803. 804. 805. 806. 807. 808. 809. 810. 811. 812. 813. 814. 815. 816. 817. 818. 819. 820. 821. 822. 823. 824. 825. 826. 827. 828. 829. 830. 831. 832. 833. 834. 835. 836. 837. 838. 839. 840. 841. 842. 843. 844. 845. 846. 847. 848. 849. 850. 851. 852. 853. 854. 855. 856. 857. 858. 859. 860. 861. 862. 863. 864. 865. 866. 867. 868. 869. 870. 871. 872. 873. 874. 875. 876. 877. 878. 879. 880. 881. 882. 883. 884. 885. 886. 887. 888. 889. 890. 891. 892. 893. 894. 895. 896. 897. 898. 899. 900. 901. 902. 903. 904. 905. 906. 907. 908. 909. 910. 911. 912. 913. 914. 915. 916. 917. 918. 919.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 23:13 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Victor Nevsky, ого тут букв. А есть ссылка на гитхаб? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 23:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, git чего? я на коленке) это давал - https://github.com/square/tape от туда выдрал - QueueFile.java покоцал - покоцаный файл/*код*/ под спойлером (-аннотации Private, +pool) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 00:19 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Victor Nevsky, спасибо конешно. Но мне такие простыни кода в браузер вобщем-то не надо. Я вообще листинги больше чем 20 строк не воспринимаю. Неужели ты думаешь что я их щас быстро прочту и осознаю и решу что это рабчий материал? Я либо смотрю структурно. Либо по юзкейсам. По описаниям. По документации. Мне в данном топике исходники не нужны. Я и сам много всего пишу и могу наводнить этот форум своими сорцами. Мне нужны какие-то гарантии что это работает. Ты сам проверил что это работает? Понимаешь? Чтоб я не тратил своё время на изучение чуждого кода. Поэтому и мне были интересны в первую очередь BerkeleyDb, Kaha(ApacheMQ) потому-что это 100% рабочий материал. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 00:59 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton, даже не знаю, что, Вам, ответить .... код рабочий, готовый тест ... многопоточный ... проверял ... 95,1% .... непонятки указал - мьютексы. слабое звено - читающий блокирует пишущего, пишущий - читающего ... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 01:08 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Хорошо. Я потрачу на ваш сорц 15 минут времени. Но если что-то не склеится - я отставлю в сторону. Вы не против? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 01:14 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
До сорца Леонида руки так и не дошли. Последнее что я там видел - NPE и моё пожелание упростить интеракцию файловой системы до нескольких файлов. Без повторного использования. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 01:17 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
а почему для задачи очереди не использовать очереди? я чо то так и не понял простите, что такое неординарное предложение кафки, рабиты и вот это всё ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 23:08 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
mayton MQ системы обычно связаны с поднятием сетевых сервисов. У меня пока все локально. 1 процесс все делает. Поэтому поднимать еще MQ не вижу смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 23:36 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
ну так их локально можно поставить базы данные тоже обычно связаны с поднятием сетевых сервисов ну и вообще обычно любой %program_name% связан с поднятием сетевых сервисов или стоит цель zaebatsya, но написать что-нибудь своё? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 00:33 |
|
Queue с поддержкой сериализации на диск.
|
|||
---|---|---|---|
#18+
Бумбараш ну так их локально можно поставить базы данных тоже обычно связаны с поднятием сетевых сервисов ну и вообще обычно любой %program_name% связан с поднятием сетевых сервисов или стоит цель zaebatsya, но написать что-нибудь своё? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 00:33 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120961]: |
0ms |
get settings: |
23ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
3139ms |
get tp. blocked users: |
3ms |
others: | 328ms |
total: | 3571ms |
0 / 0 |