创建两个服务并将其连接

时间:2018-11-22 11:40:30

标签: php laravel service

所以给了我一个项目,我的最终目标是创建两个服务,即服务A和服务B,并使用消息传递系统将它们连接到单个业务流程。

服务A有两项任务:

  • 接受携带金钱信息的HTTP请求
  • 生成针对“服务B”的AMQP消息

服务B有两项任务:

  • 服务接受服务A生成的AMQP消息
  • 服务必须将帐户实体存储在数据库中,并由余额和updatedAt这两个属性来描述

我了解创建此项目并为两种服务执行这些任务的基本概念,但是我不知道我应该如何创建这些服务。它们应该是一个单独的项目,还是我可以在一个Laravel项目中创建它们?是否有Laravel功能来创建服务?几天来我一直在阅读很多东西,但找不到解决方案。如果您能提供任何信息或说明,我将不胜感激。如果您需要有关项目的更多信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

我认为您正在考虑使用微服务架构,在这种情况下,应该是两个不同的项目,这些项目不共享任何代码或数据,而仅通过消息或API进行通信。

当我们总是习惯于使用单片式架构时,微服务架构很难掌握。指针很少,

  1. 改变与数据库相关的思维方式,并跨表联接数据以显示数据
  2. 不要仅仅为了这样做而创建单独的服务。
  3. 每个服务应独立,并应通过公开API或从某些消息总线推送/拉取数据来与其他服务通信
  4. 微服务应可独立扩展(水平扩展)
  5. 将微服务视为解决特定业务问题的东西