我想知道我是否可以对表现做些什么。我正在处理一个处理付款的项目。此时,角色在5秒内处理付款,其中包括向第三方处理器发送付款以进行付款处理。我们维持具有状态的付款(待处理/ InProgress /成功/失败)。
数据库 - Azure SQL Server - P1大小
EF6.0
工人角色 - 中等大小
队列 - Azure服务总线队列
为避免重复付款,我们会保存每笔付款的付款状态。在一天中,我们现在处理1500到2000,这需要3到5个小时。更多的付款需要花费越来越多的时间。
一旦WorkerRole获取了消息,它将由适当的处理程序执行。处理程序就像,
public class PaymentProcessingHandler{
public void Execute(){
foreach(pendingPayments){
// ChangePaymentStatusFromPendingToInProgress
// SaveChanges()
// MakePayment
// UpdateResult
// SaveChanges()
}
}
}
如果有人使用任何支付处理系统,并且有任何改善性能的想法会有所帮助。