接着我们在clientsample发起对着两个服务的RPC调用
现在我们通过并发测试统计jmter对其进行并发测试,并发1000个线程去减100个库存,最后我们通过postman去访问get方法看看结果是什么
减库存前
并行访问1000次
可以看到由于没有并发控制,我们的库存被扣负了。现在我们开始对其进行Actor改造。首先我们将接口继承iactorservice并申明服务的方法为actor(这一步的目的是为类型生成actor代理)
[RemoteService("servicesample", "product")] public interface IProductService : IActorService { [RemoteFunc(FuncType.Actor)] Task<ProductOutput> Get(ProductInput input); [RemoteFunc(FuncType.Actor)] Task<ProductOutput> ReduceStock(ProductInput input); }