如何在Git中有效地分离项目的不同部分?我有一个Laravel应用程序,其中包括管理面板+ API的移动应用程序,以提高性能。我认为最好将管理部分从API中分离出来,禁用API中的服务提供者,甚至在不同的服务器上运行管理面板(通过远程MySQL连接到数据库),并指定一个服务器API。如何才能将这些部分分开,而不重复我在普通部件(如模型)中所做的更改?我想把它们创建为Git存储库中的两个分支。是否有更好的方法来完成这种分离,或者更容易维护的整个优化?
更新:我面临的问题是响应时间。我把下面的代码放入我的路线,它需要400-600毫秒的响应。
Route::any('/test2', function()
{
return "test";
});我在两台不同的服务器上测试了它,我认为配置已经足够好了(10 it内存-4 CPU核心3.6Ghz)。顺便说一句,我现在每小时只有不到1k的请求,很快我最多只能看到5k-20k。
发布于 2020-12-16 10:22:12
我建议您作为框架(Taylor)的创建者:包和使用Composer。
在Laravel社区,您有许多软件包,如Horizon、Nova、望远镜、Spatie/*等。
如果您想要添加它们,您只需添加一个Composer依赖项,它就会立即生效。
您可以对两个项目中的代码(如模型等)进行相同的处理。
每个包裹都有自己的Git回购。
这是一个更大的方式来做它,而不是分离到模块(相较于交响乐世界)。Laravel没有以模块为核心。
关于项目分离的现在:
当我阅读您的需求时,如果您在同一个项目上运行API和管理面板,我不确定您是否会有性能问题,除非您每小时有数以百万计的http调用。
我目前正在为客户端开发一个包含大量代码的项目,我们还有一个api,每小时调用数千次,一切都很好。我们还运行Nova的内部后端。
您应该考虑到,当您遇到这些规模问题时,您可能也会遇到数据库问题,也可能会出现服务器问题(带宽、内存、成本等)。
100%的可伸缩性并不是一项容易的任务。
在我看来,当你面对它,解决它。在开始时分离Api/admin面板可能会造成太多的开销,无法启动/维护项目。
https://stackoverflow.com/questions/65319749
复制相似问题