blog-post

Представляем Buddy: PHP сайдкар для Manticore Search

Manticore Buddy - это сайдкар на базе PHP и компаньон Manticore Search, который делает разработку быстрее и эффективнее. В мире, где разработка на C++ может быть медленной, Manticore Buddy дает возможность разработчикам быстро создавать и развертывать функции.

Благодаря языку PHP и его огромному сообществу, Manticore Buddy обеспечивает повышенную гибкость и удобство использования. Кроме того, с последней версией 8+, PHP теперь быстрее, чем когда-либо, что делает его идеальным выбором для разработчиков, которые хотят ускорить свои рабочие процессы.

C++ против PHP: выбор правильного языка для ваших нужд

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

В Manticore Search у нас была аналогичная проблема необходимости часто выпускать обновления, одновременно поддерживая высокую производительность. Чтобы справиться с этим, мы разработали Buddy - сайдкар-приложение, которое использует PHP для реализации функций, не требующих максимальной производительности.

В конечном итоге выбор между C++ и PHP зависит от потребностей вашего проекта. Если приоритетом является высокая производительность, то C++ - лучший выбор. С другой стороны, если вы предпочитаете более быструю разработку и удобство использования, PHP может быть более разумным выбором.

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

Преимущества использования Manticore Buddy

Manticore Buddy - это мощный инструмент для разработки Manticore Search, предлагающий несколько преимуществ для оптимизации процесса разработки. Вот некоторые ключевые преимущества использования Manticore Buddy:

  • Ускорение процесса разработки: интуитивно понятные интерфейсы Buddy и PHP позволяют быстро и безболезненно создавать эффективные функции и расширения, что экономит время и оптимизирует рабочий процесс.
  • Бесшовная интеграция с PHP пакетами: Manticore Buddy написан на PHP, что позволяет легко интегрироваться с другими пакетами на PHP. Разработчики могут использовать любой пакет PHP, что сокращает время разработки и делает его полезным и универсальным инструментом. Как один из самых популярных языков, PHP является ценным активом для разработчиков.
  • Улучшенная доступность для разработчиков всех уровней: четкая документация и удобный интерфейс делают Buddy доступным для всех уровней. Это может привести к более широкому кругу участников в разработке Manticore Search, увеличивая гибкость и предлагая потенциал для будущих улучшений.
  • Отправка дополнительных функций без обновления кода C++: Buddy позволяет нам делать что-то мощное: отправлять улучшения, расширения и даже новые функции без прохождения через наш длительный контрольный список реализации C++. Вместо этого мы можем делать это быстро и надежно с помощью PHP.

Manticore Buddy является бесценным активом для любой команды разработчиков, использующей Manticore Search и желающей расширить его самостоятельно. Его интуитивно понятный интерфейс, возможность использовать любые PHP пакеты и доступность для разработчиков всех уровней делают его универсальным инструментом для улучшения процесса разработки Manticore Search и предлагают гибкость для выполнения специальных требований.

Как работает Manticore Buddy

Все это звучит здорово, но, возможно, вы задаетесь вопросом, как мы заставили Manticore Search и Buddy работать вместе? Мы реализовали внутренний протокол для общения Manticore Search и Buddy друг с другом. Процесс очень прост и прямолинейный. Чтобы добавить что-то в Buddy и расширить его функциональность, вам даже не нужно знать протокол, так как мы сделали всю трудную работу, чтобы облегчить создание на его основе.

Давайте посмотрим на запрос SHOW QUERIES в качестве примера:

  • Manticore Search получает запрос. Если для него нет обработчика в коде C++ или запрос вызывает ошибку, он обычно возвращает это пользователю. Однако теперь Manticore Search сначала просит Buddy попытаться обработать его.
  • Таким образом, Manticore Search отправляет запрос Buddy, используя внутренний коммуникационный протокол на основе JSON, и ждет ответа.
  • Buddy обрабатывает запрос асинхронно и параллельно, используя ReactPHP, чтобы обеспечить неблокирующую производительность. По завершении он возвращает результат Manticore Search.
  • Наконец, ответ от Buddy (независимо от того, является ли он действительным или нет) проксируется клиенту с результатами, предоставленными Buddy. Готово. Простой, верно?

Процесс настолько прост и мощен, что вы можете расширять и обрабатывать пользовательские запросы, просто реализуя их на PHP в Buddy.

Что Manticore Buddy уже может делать

Manticore Buddy разработан для поддержки широкого спектра функциональностей, как больших, так и малых, для Manticore Search. Новейшая версия, Manticore 6.0.0, включает в себя ряд этих возможностей!

Мы стремились определить наиболее критичные функции для включения в начальную версию. К ним относятся авто-схема , которая автоматически генерирует таблицу на основе первого полученного документа, SQL-команда BACKUP для легкого резервного копирования таблиц и команда SHOW QUERIES для отображения текущих исполняемых запросов.

Многопоточность и неблокирующая обработка поддерживаются, используя расширение Parallel PHP для обработки запросов в отдельных потоках. Если Manticore Buddy неожиданно остановится, Manticore Search обнаружит это и автоматически перезапустит его.

Я хочу попробовать! Научите меня, как его установить?

Установить Manticore Buddy просто и легко. Пакет “manticore-buddy” является зависимостью пакета “manticore” и автоматически устанавливается, когда вы устанавливаете Manticore Search.

Однако, для правильной работы Manticore Buddy требуются PHP и набор модулей. Для упрощения этого процесса мы разработали Manticore Executor, специальную версию PHP, которая уже скомпилирована со всеми необходимыми модулями.

Вам просто нужно установить пакеты “manticore” и “manticore-extra”, чтобы запустить Manticore Search, Manticore Buddy и Manticore Executor. Не беспокойтесь, Manticore Executor устанавливается по отдельному пути, что гарантирует отсутствие конфликтов с вашими текущими установками PHP.

Что дальше?

Вы в восторге от возможностей, которые Buddy может нам предложить? Мы определенно в восторге! У нас есть несколько предстоящих функций, которые уже завершены и готовы к выпуску. Благодаря удобной природе PHP и Manticore Buddy, мы можем легко предоставить эти функции. Вот небольшой спойлер о том, что нас ждет:

  • mysqldump - теперь легче простого выполнять дамп схемы или данных с помощью общепринятого инструмента для MySQL, используя mysqldump.
  • Отрисовка таблиц, похожая на MySQL с CLI - интерфейс командной строки Manticore HTTP. Да, просто отправьте HTTP-запрос к конечной точке /cli и получите отрисованный ответ, который closely resembles интерфейс клиента MySQL в терминале.
  • Плагина архитектура. Представьте, что вы можете создать плагин для Buddy всего за несколько кликов и небольшое количество строк кода. Вы даже можете опубликовать его в маркетплейсе и просмотреть существующие плагины, чтобы удовлетворить ваши потребности. Звучит невероятно, не правда ли?

Вы уже можете протестировать некоторые из этих функций, используя нашу версию Buddy для разработчиков. Просто перейдите в раздел dev installation , чтобы узнать, как установить его на вашу операционную систему.

Заключение

Manticore Search - это открытый поисковый движок, который набирает популярность в последние годы. Он был разработан для обработки широкого спектра поисковых потребностей и используется в различных приложениях, от интернет-магазинов до онлайн-рынков. Успех любого проекта с открытым исходным кодом во многом зависит от вклада разработчиков, и Manticore Search не является исключением. И именно здесь Manticore Buddy приходит на помощь, чтобы помочь нам доставлять и двигаться быстрее для нашего сообщества.

Manticore Buddy - это мощный и гибкий поисковый компаньон, разработанный для ускорения разработки новых функций и расширения функциональности Manticore Search. Его простой в использовании интерфейс, четкая документация и огромное сообщество делают его идеальным выбором для любого разработчика PHP, который хочет ускорить свои рабочие процессы.

Как разработчик, если вы хотите раскрыть полный потенциал Manticore Search, вам стоит рассмотреть возможность обучения и внесения вклада в Buddy. Это упростит вашу жизнь и позволит вам быстрее доставлять результаты без необходимости модифицировать код на C++. Представьте, вы можете добавить настраиваемые функции для своего случая использования всего лишь написав PHP плагин. Мощно! 🙂


Хотите узнать, с какими проблемами мы столкнулись и как мы их решили? Прочтите нашу следующую статью – Manticore Buddy: challenges and solutions

Установить Manticore Search

Установить Manticore Search