The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз Memcached 1.5.15 с поддержкой аутентификации для протокола ASCII

21.05.2019 11:27

Состоялся релиз системы кеширования данных в оперативной памяти Memcached 1.5.15, оперирующей данными в формате ключ/значение и отличающейся простотой использования. Memcached обычно применяется как легковесное решение для ускорения работы высоконагруженных сайтов путём кэширование доступа к СУБД и промежуточным данным. Код поставляется под лицензией BSD.

В новой версии реализована экспериментальная поддержка аутентификации для протокола ASCII. Аутентификация включается при помощи опции "-Y [authfile]" с указанием в файле authfile до восьми пар "логин:пароль". В отличие от ранее реализованной для бинарного протокола аутентификации на базе SASL реализация для ASCII существенно проще, не требует внешних зависимостей и собирается по умолчанию. При включении аутентификации через опцию "-Y" автоматически отключается бинарный протокол и работа через UDP. Разграничения доступа в привязке к логинам пока не поддерживаются.

В новом выпуске также ускорена работа операций incr/decr за счёт замены snprintf. Обеспечена совместимость бинарного протокола с функциональностью idle-timeout. Удалён код для поддержки режима "-o inline_ascii_response", который был отключен начиная с выпуска 1.5.0. Данный режим потребляет на 10-20 байт больше на запись для ускорения обработки запросов в режиме ASCII и потерял смысл после перехода с использования snprintf на быструю реализацию itoa.

  1. Главная ссылка к новости (https://github.com/memcached/m...)
  2. OpenNews: Релиз Memcached 1.5.13 с поддержкой TLS
  3. OpenNews: Выпуск СУБД Redis 5.0
  4. OpenNews: Релиз Memcached 1.5.9
  5. OpenNews: Эксплуатация уязвимости в DRAM-памяти через локальную сеть
  6. OpenNews: Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях
Лицензия: CC-BY
Тип: Программы
Ключевые слова: memcached
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (46) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 11:41, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    >протокола ASCII

    За такое именование нужно бить: неужели непонятно насколько нелепо использовать для названия нового велосипеда уже устоявшуюся и повсеместно известную аббревиатуру?

     
     
  • 2.2, пох (?), 11:58, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    в чем новизна велосипеда, если этими буквами обозначена текстовая версия протокола? Есть еще binary.

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

     
     
  • 3.4, Аноним (4), 12:09, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > она by design локальна

    Так ведь облака же! Когда пых крутится (физически) в датацентре в Филадельфии, мускул - в Неваде, а мемкэш - в Нидерландах, как же без аутентификации?

     
     
  • 4.13, Аноним (13), 13:06, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    расстояние от Филадельфии до Нидерландов примерно 6000 километров по прямой, т.е. на отправку запроса и получение ответа уйдет не меньше 0,04 сек., это если скорость света в вакууме взять
    если учесть что связь не в вакууме и другие накладные расходы (не буду расчеты приводить, не поймешь) то будет больше 0,1 с, т.е. уже не важно в памяти эта информация, на диске (или с флэшки смартфона читается)

    старайся молчать, умнее будешь казаться

     
     
  • 5.14, пох (?), 13:12, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    да ну, все правильно - то есть вот так они и проектируют, ага.

    получился аж rtt 200, проще и надежнее было slave mysql'я поднять локальный? Да кого это колебет, немодно-немолодежно.

     
  • 5.23, Аноним (4), 16:24, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то, речь именно об этом - платой за гибкость облачных решений является рост накладных расходов, причём возможность как-то их контролировать у подписчика облачного сервиса очень ограничена. Он видит два контейнера, а где они реально выполняются, какие дополнительные задержки возникают при обмене трафиком между ними - об этом думать не модно, а задавать вопросы об этом столь же неприлично, как и ставить sshd в контейнер.
     
     
  • 6.26, пох (?), 16:54, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    но сову-то зачем тягать на глобус?

    впрочем, да, думать немодно, как на локалхосте был мемкэш, так в облака его и перенесем, бережно сохранив udp-binding к 0.0.0.0

     
     
  • 7.29, Аноним (4), 17:15, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Общемировой тренд патамушта.
     
  • 6.32, Аноним (32), 00:04, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы облака-то в живую видели или только в презентациях?
     
  • 3.5, A.Stahl (ok), 12:20, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >этими буквами обозначена текстовая версия протокола

    Это вообще не оправдывает словосочетание "ASCII протокол". Ну вот совсем.

     
     
  • 4.8, KonstantinB (ok), 12:32, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Так исторически сложилось. Когда добавили binary, старое надо было как-то назвать, ну вот и назвали.
     
     
  • 5.11, A.Stahl (ok), 12:48, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > вот и назвали.

    Я возражаю не против факта называния, а против самого названия.

     
     
  • 6.20, Аноним (20), 15:42, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Надо было лет этак 12 раньше возражать. :-)

    Сейчас уже все привыкли.

     
  • 3.6, ОШИБКА Граничные пробелы и смешивание (?), 12:21, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Аутентификация нужна хотя бы чтобы js-fullstack-smoothie-react-typescript-vscode разработчики, выполняющие роль девопсов работающих админами, выставив в паблик порт такой базы получили хоть какую-то защиту.
    Ну и для обпаков, фаерволы в которых настраивать никто не умеет, понятие локалки отсутствует как класс, а кидать VPN между инстансами - рокетсаенс, учитывая описанное выше
     
     
  • 4.9, KonstantinB (ok), 12:34, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Она по дефолту выключена, так что смузихлебам не поможет.
     
     
  • 5.15, пох (?), 13:13, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    в следующей версии поменяют дефолт, не накаркай.
    udp уже победили, даже на секунду не задумавшись, зачем этот udp вообще-то придумали.

     
     
  • 6.39, KonstantinB (ok), 04:05, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да пусть делают, что хотят. Все равно последняя нормальная ветка - 1.2. В фейсбуке все сделали через одно место с самого началаю
     
     
  • 7.40, пох (?), 08:44, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Да пусть делают, что хотят. Все равно последняя нормальная ветка - 1.2.

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

    > В фейсбуке все сделали через одно место с самого начала

    угу, в тот момент когда придумали.


     
     
  • 8.46, KonstantinB (ok), 05:08, 25/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем для каждого Я один раз пакет собрал и отлично Ну раз в пару лет пересобе... текст свёрнут, показать
     
  • 4.22, 1 (??), 16:23, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В нормальных облаках есть VPC с изолированной сетью, централизованным файрволлом, при желании - приватными IP-адресами (хотя это и не нужно при наличии файрволла) и подключением через предоставленный VPN. А наружу выставляются только нужные сервисы через лоадбалансеры.
     
     
  • 5.27, пох (?), 16:55, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    чего ж тут нормального? Нормальные облака они не про то чтоб просто выкинуть серверную инфраструктуру, они еще и для того чтоб не думать головой на тему сколько у нас хостов, инстансов и подов.
    А ты предлагаешь вручную ип адреса выделять - каменный век, девляпсы так не работают.

     
     
  • 6.33, Аноним (32), 00:07, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Никто и не выделяет "ip-адреса", заводится сеть и фаервол настраивается для сети, а не для каждого выделенного ip.
     
  • 3.7, KonstantinB (ok), 12:30, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Так и делаю до сих пор. Беру 1.2, собираю под современный дистр, запускаю N штук memcached-1.2, прибитых к ядрам, на разных портах, в приложении делаю consistent hashing pool. Работает намного лучше, чем фейсбуковские "улучшения" с одним локом на все.
     
  • 3.10, Аноним (10), 12:40, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    щас погоди еще к ping прикрутят тлс и аутентификацию
     
  • 3.25, Аноним (25), 16:53, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Особо сказочные вроде меня пускают посторонних пользователей на локальный сервер. Именно ради этого пришлось переводить все коннекты с мемкэшем на протокол binary, в котором аутентификация есть
     
  • 2.12, trolleybus (?), 12:50, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Бить нужно переводчика. "ASCII protocol" - это не "протокол ASCII" (как будто он так называется), а "ASCII-протокол" (т.е. текстовый, не бинарный). То же самое, как, например, "text file" - это "текстовый файл", а не "файл text".
     
     
  • 3.16, rshadow (ok), 13:36, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну ты же говоришь: "какое прекрасное голубое небо". А не "Как прекрасно O2 излучает на длинне 500 нм"?
    Бинарный/текстовый протокол - устоявшаяся в среде разработчиков ПО терминогология.

    ASCII эдесь вообще не лезет - это же один из видов преобразования чиселок в символы понятные человеку. Ты же сам привел пример: никто не говорит "ascii файл". Что бы ты подумал о человеке который так говорит? Примерно, то же самое если человек говорит "компьютер" показывая на монитор.

     
     
  • 4.19, Аноним84701 (ok), 15:15, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты же сам привел пример: никто  не говорит "ascii файл". Что бы ты подумал о человеке который
    > так говорит?

    Что человек имеет в виду текстовый файл в кодировке ASCII?
    Но это я -- в моей вселенной это вполне устоявшееся обозначение:
    universe/84701 https://www.census.gov/econ/www/instrasci.html
    universe/84701 https://help.ceda.ac.uk/article/4429-ascii-formats
    universe/84701 https://earthdata.nasa.gov/about/esdis-project/eso/standards-and-references/as
    > The ASCII File Format Guidelines

    --
    > Примерно, то же самое если человек говорит "компьютер" показывая  на монитор.

    Хорошо вам там! А у нас тут был Apple c их линейкой Макинтошей  и вплоть до iMac:
    universe/84701 https://en.wikipedia.org/wiki/File:Macintosh_128k_transparency.png
    universe/84701 https://en.wikipedia.org/wiki/IMac_(Intel-based)
    Так что при слишком поспешном наклеивании ярлыка можно и обжечься :(

     
  • 4.31, пох (?), 22:43, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Что бы ты подумал о человеке который так говорит?

    что у него где-то рядом лежат файлы в EBCDIC

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

    Ну да, тяжелое наследие Фидо и sprint network.
    Где эти п-сы, авторы софта, видали семибитные каналы (еще и создающие ненулевой 8й бит при чтении) и существовали ли такие вообще хотя бы в теории - так и осталось для меня загадкой. Пятибитные видел, восьмибитные видел, семибитные - не брал.
    Только п-ский софт, портящий восьмой бит без всякого смысла и цели, причем написанный для 16битных компьютеров с 8bit char.

     

  • 1.3, Аноним (4), 12:04, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ещё одну подпорочку под костылём прилепили.
     
  • 1.17, OpenEcho (?), 14:11, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Питайтесь redis-кой, вкуснее сабжа imho
     
     
  • 2.18, пох (?), 15:06, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    омномоном? Кушай, не подавись.

     
     
  • 3.21, OpenEcho (?), 15:44, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > омномоном? Кушай, не подавись.

    А если без фраейрства и по теме, есть что сказать, чем memcache лучше redis ?

     
     
  • 4.28, пох (?), 17:12, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    если по назначению использовать - то быстрее (но прежде чем бороться за миллисекунды - надо быть совершенно уверенным, что перестановкой пары полей в запросе не получится сэкономить минуту), не требует долбанутых настроек сервера (опять же, если по назначению, а не пытаться запихнуть туда терабайт данных одним куском), всегда предсказуем (редис уже нет), апи прост как палка (поскольку "по назначению" скорее всего означает вовсе не пых в качестве клиента).

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

    Ну и ha вызывает, конечно, рвотные позывы, когда разбираешься, как он устроен.

     
  • 4.35, Аноним (20), 03:05, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Тем, что все операции - O(1). Если функциональности мемкеша достаточно, сложно придумать более эффективное и предсказуемое по CPU решение.
     
     
  • 5.36, пох (?), 12:09, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    хрен с ним с cpu, его не жалко, но оно быстрое и предсказуемое по времени ответа - причем заранее понятно, как будет расти, и что делать - до того, как начнутся проблемы.
    А с редисом время реакции вообще невозможно оказалось предсказать - разработчикам, похоже, просто не нужно было.
     
     
  • 6.37, KonstantinB (ok), 03:56, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В мемкеше все данные хранятся в блоках, кратных степени двойки. Потому realloc-ов просто нет по определению.

    В редисе же реаллокация может случиться в любой момент.

     
     
  • 7.38, KonstantinB (ok), 04:02, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати, немного обидно за автора архитектуры и первых версий memcached (Анатолий Воробей, lj-user avva) - его почти никто не помнит, а Фицпатрика вот все помнят, хотя он сделал только первоначальный прототип на Перле и поставил Анатолию таск "сделать хорошо на сях".
     
     
  • 8.41, пох (?), 08:45, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    все норм, его тоже никто не помнит, кроме пары олдфагов, да и то не как автора и... текст свёрнут, показать
     
     
  • 9.42, KonstantinB (ok), 21:44, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ха, да, наверное, щас многие думают, что memcached это фейсбук, хаха Хотя Цукер... текст свёрнут, показать
     
     
  • 10.43, пох (?), 21:53, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    теперь это так и есть, и примерно такое же ненужно и это тоже оказалось крайне ... текст свёрнут, показать
     

  • 1.24, Oleg (??), 16:45, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Вопрос новичка в никсах - на VPSке OpenVZ заблокирована команда swapon.
    Можно ли что-то сабжем сделать? Или бесполезно?
     
     
  • 2.30, Аноним (4), 17:56, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ну правильно, они хотят, чтобы вы купили тариф с большим объёмом памяти ))
     
  • 2.34, Аноним (20), 03:02, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Можно задать сабжу лимит потребляемой памяти, при запуске, аргументом. Если ФБ это не выпилил.
     
  • 2.44, Ан.Зонд (?), 01:18, 24/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    UserSpace zswap через LD_PRELOAD
     
     
  • 3.45, Аноним (45), 05:02, 24/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, да, такое сработает.

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

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру