Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
何时使用微服务&;Laravel项目中的DDD_Laravel_Domain Driven Design - Fatal编程技术网

何时使用微服务&;Laravel项目中的DDD

何时使用微服务&;Laravel项目中的DDD,laravel,domain-driven-design,Laravel,Domain Driven Design,你好 当我在laravel中使用微服务模式时,我很高兴&何时使用 DDD 我搜索了一下,没有结果微服务是架构风格,而DDD是架构模式。 换句话说,您可以将Microservice用于外部体系结构,将DDD或Simple CRUD或Onion用于内部体系结构,作为Microservice内部的服务。 您可以从Microsoft阅读更多信息 在下图中,您可以更好地理解这个概念: 这要看情况而定。你在处理什么样的领域?应用程序应该有多复杂 从你的问题来看,有三件事需要考虑:1。你应该使用微服务模式吗?

你好

当我在laravel中使用微服务模式时,我很高兴&何时使用 DDD


我搜索了一下,没有结果

微服务是架构风格,而DDD是架构模式。 换句话说,您可以将Microservice用于外部体系结构,将DDD或Simple CRUD或Onion用于内部体系结构,作为Microservice内部的服务。 您可以从Microsoft阅读更多信息

在下图中,您可以更好地理解这个概念:


这要看情况而定。你在处理什么样的领域?应用程序应该有多复杂

从你的问题来看,有三件事需要考虑:1。你应该使用微服务模式吗?2.你应该使用DDD吗?3.你应该用拉维吗

  • 当您拥有由大型团队组成的清晰组织结构时,通常会使用微服务。微服务支持独立部署,因此一个服务的部署对另一个服务的影响最小。微服务通常使用DDD方法进行划分,尽管您不必这样做。查看此视频,其中讨论了何时使用microservice:
  • 领域驱动设计是一种基于领域知识设计系统的方法。如果您有一个小项目,并且/或者您也是领域专家,那么您可能不必使用DDD。然而,DDD对于处理您可能不是领域专家的更复杂的领域可能是有用的,因为它使您的领域专家和开发人员之间能够顺利地进行通信。您还可以定义泛在语言的边界,这可能有助于划分微服务
  • Laravel是一个PHP框架。对于您的用例,PHP能满足您的需求吗?PHP通常擅长于更密集的计算任务,但与NodeJ相比速度明显减慢。你可以在那里找到更多关于基准测试的信息。对于一个框架来说,Laravel具有强大的特性、优秀的代码和支持,尽管它是以性能为代价的。如果您想使用microservice,Lumen可能是更好的选择(它是Laravel的轻量级版本)。但话说回来,如果PHP不能满足您的需求,您最好使用另一种语言和另一种框架,可能是ExpressJS/Spring
  • 就我个人而言,我以单片模块化的方式使用了Laravel,每个模块都有洋葱结构,并使用DDD设计和实现了所有模块的模型。到目前为止,它对我的用例非常有效