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 使用基于 JSON 的内部通信协议将查询发送给 Buddy,并等待回复。
- Buddy 使用 ReactPHP 异步并行处理请求,以确保非阻塞性能。完成后,它将结果返回给 Manticore Search。
- 最后,来自 Buddy 的响应(无论其是否有效)都通过代理发送给客户端,附带 Buddy 提供的结果。完成。简单,对吧?
这个过程如此简单而强大,以至于您可以通过在 Buddy 中用 PHP 实现自定义查询来扩展和处理它们。
Manticore Buddy 已经可以做什么
Manticore Buddy 已开发以支持 Manticore Search 的广泛功能,无论大小。最新版本 Manticore 6.0.0 包含了这些功能的一部分!
我们努力确定在初始版本中包含的最关键功能。这些包括
auto-schema
,它根据接收到的第一个文档自动生成表,BACKUP SQL 命令以便于表备份,以及 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 - 现在使用公共工具 mysqldump 导出模式或数据比以往任何时候都更容易。
- 类似 MySQL 的 表渲染,使用
CLI
- Manticore HTTP 命令行界面。是的,只需向
/cli端点发送 HTTP 请求,即可收到一个渲染的响应,该响应在终端中与 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
