shipsaas / laravel-inbox-process
为您的 Laravel 应用程序提供收件箱模式处理实现
1.1.2
2024-05-12 04:33 UTC
Requires
- php: ^8.2
- ext-pcntl: *
- laravel/framework: ^10|^11|dev-master
Requires (Dev)
- fakerphp/faker: ^v1.20.0
- friendsofphp/php-cs-fixer: ^3.10
- mockery/mockery: ^1.6
- orchestra/testbench: ^8|^9
- phpunit/php-code-coverage: ^10
- phpunit/phpunit: ^10
README
在讨论分布式计算机和服务器时,现在在服务器之间进行通信是相当正常的。
然而,与常规对话不同的是,没有保证消息只被投递一次,按正确顺序到达,或者甚至得到一个“收到!”的回复。
因此,我们有了 收件箱模式 来帮助我们实现这一点。
什么是收件箱模式
收件箱模式 是微服务架构中流行的设计模式,确保以下内容:
- 高可用性 ✅
- 保证 webhook 交付,不丢失消息 ✅
- 保证 精确一次/唯一 webhook 请求 ✅
- 按 顺序/顺序 执行 webhook 请求 ✅
- (可选)高可见性 & 调试所有之前的请求 ✅
说到这里
Laravel Inbox Process(由 ShipSaaS 支持) 提供了一切即开即用,并帮助您快速推出收件箱处理 😎🚀。
支持
- Laravel 10 & 11
- PHP 8.2+
- MySQL 8,MariaDB,Postgres 13+ 和 SQLite
架构图
安装
安装库
composer require shipsaas/laravel-inbox-process
导出配置和迁移文件,然后运行迁移
php artisan vendor:publish --tag=laravel-inbox-process php artisan migrate
文档 & 使用方法
最佳实践、用法和说明也记录得很好 😎!
测试
运行 composer test
😆
可用的测试
- 单元测试 💪
- 针对
inbox:work
命令的 MySQL 和 PostgreSQL 集成测试 😎 - 人工验证(哈哈) 🔥
ShipSaaS 爱测试,我们不会发布垃圾库 🌹
贡献者
- Seth Phat
贡献和支持项目
请随意提交任何 PR,请遵循 PSR-1/PSR-12 编码约定,测试是必需的。
如果这个包有帮助,请给它一个 ⭐️⭐️⭐️。谢谢!
许可证
MIT 许可证