使用微服务做复杂的报告
Doing compex reports with microservices
我正在开始一个新项目,并且有兴趣将其构建为微服务。我正在努力解决这个问题:
说我有订单服务和产品服务。现在我想制作一个报告服务,为我提供包含来自特定产品类别的产品的所有订单。
由于订单不知道产品,这意味着我需要获取所有订单,循环它们并为每个订单获取产品,然后 return 如何匹配。
这个假设是否正确,或者是否有更有效的微服务方式?
在微服务架构中,过程是提取应用程序的用例和服务边界。在上面的问题中,至少有两个服务边界,一个用于交易,一个用于报告。
当您有两个不同的服务边界时,典型的方法是在它们之间复制一些数据元素,例如。每当您进行销售时,数据都应发送到报告和交易服务。将数据广播到不同边界的一种可能方法是使用消息队列。复制数据使它们能够独立发展和运行并变得自给自足,这是微服务的目标之一。
个人建议,您可能希望在走微服务路线之前先从单体应用开始。微服务通常在操作上更加繁重;在最初的应用阶段很难推断出它的优势。在开发单体应用程序后,它往往会更好地工作,因为它会更容易看到什么不起作用以及什么可以通过类似微服务的系统进行改进。
我正在开始一个新项目,并且有兴趣将其构建为微服务。我正在努力解决这个问题:
说我有订单服务和产品服务。现在我想制作一个报告服务,为我提供包含来自特定产品类别的产品的所有订单。
由于订单不知道产品,这意味着我需要获取所有订单,循环它们并为每个订单获取产品,然后 return 如何匹配。
这个假设是否正确,或者是否有更有效的微服务方式?
在微服务架构中,过程是提取应用程序的用例和服务边界。在上面的问题中,至少有两个服务边界,一个用于交易,一个用于报告。
当您有两个不同的服务边界时,典型的方法是在它们之间复制一些数据元素,例如。每当您进行销售时,数据都应发送到报告和交易服务。将数据广播到不同边界的一种可能方法是使用消息队列。复制数据使它们能够独立发展和运行并变得自给自足,这是微服务的目标之一。
个人建议,您可能希望在走微服务路线之前先从单体应用开始。微服务通常在操作上更加繁重;在最初的应用阶段很难推断出它的优势。在开发单体应用程序后,它往往会更好地工作,因为它会更容易看到什么不起作用以及什么可以通过类似微服务的系统进行改进。