Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/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
Spring 如何验证数据id';微服务之间的冲突_Spring_Microservices - Fatal编程技术网

Spring 如何验证数据id';微服务之间的冲突

Spring 如何验证数据id';微服务之间的冲突,spring,microservices,Spring,Microservices,我有两个微型服务: mPayment以启动付款交易 mConsoleUser管理用户(developerUID、companyUID等) 从我的前端,我必须开始支付交易。 要开始付款,我必须将此DTO发送到mpayment API: public class ConsoleUserTransactionDto implements Serializable { /** * */ private static final long serialVersi

我有两个微型服务:

  • mPayment以启动付款交易
  • mConsoleUser管理用户(developerUID、companyUID等)
从我的前端,我必须开始支付交易。 要开始付款,我必须将此DTO发送到mpayment API:

public class ConsoleUserTransactionDto implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = -8437815814701080539L;
    private BigDecimal amount;
    private Boolean isCashIn = false;
    private String mobileMoneyServiceCode;
    private TransactionActionEnum action;
    private String phoneNumber;
    private Long developerUuid;
    private Long companyUuid;

    }   
}
首先,在开始交易支付之前,我需要验证developerUID和companyUID,以确保它们存在

所以我的问题是: -我是否应该从我的mPayment micro服务中调用web服务,该服务调用mConsoleUser以在开始批处理之前验证信息? -我是否应该开发第三个微服务,前台调用mConsoleUser验证所有信息,然后调用mPayment启动事务


什么是最好的体系结构?

最好在m-Payment中进行验证,因为它可能会收到其他系统和攻击者的呼叫。因此,如果您确保移动支付不会执行未经授权或错误的请求,这将有所帮助。如果它很可能从前端频繁发送错误信息,那么您可以考虑为前端调用的M-控制台用户实现微服务。例如,如果关系可能经常更改,那么前端可能会将过时的数据发送到后端,并且可能会导致许多不同的响应,而不是2XX


然而,即使您在前端使用验证服务,您仍然需要在移动支付中进行验证,因为我们通常创建独立于前端的后端体系结构。因此,后端不应依赖于前端的验证。

非常感谢您给出了清晰的答案和示例。