Closed Mrshengjie closed 7 years ago
1.并且帐户服务的金额永远没有变动啊,即使确认了定单(帐户的过期补偿是否一应该放到它里面?) 2.定单里过期的功能好像无效 3.以上过期处理是不是应该有TCC来统一完成定时处理.是不是TCC应该有一套自己的表?
对了,您的代码写的确实很棒,值得学习.
@Mrshengjie 十分感谢您对我的代码表示肯定。
此句是否应该先用LoadBalancerClient.choose(serviceId)
对于整合了@LoadBalanced
的RestTemplate会自动搜索服务注册列表,通过Ribbon向真正的物理地址发起请求。
论据如下:resttemplate_as_a_load_balancer_client
余额没有变动,库存也不会变动。猜测的原因与您上面所说的问题有关联,另外的话如果确认的是一张已经成功的订单,那么根据接口幂等性是绝不会对系统造成额外的余额扣减。
如果订单自动撤销无效,请先确认MySQL镜像的时间是否与宿主机一致。
rest tcc的过期自动撤销功能必须由具体业务方所提供,其中tcc coordinator正如其名他只是作为一个协调器所使用,原论文有过建议将协调器所接收的TCC请求先作数据固化以防止协调器宕机,但我认为协调器不应该在调用方不知情的情况自发发起请求,所以网络抖动或协调器宕机的情况皆由TCC业务方发起重试所解决。
请问一下作者,能够介绍一下你这些项目是如何运行的呢,项目与项目之间的关系是怎样的呢
我想在windows下用idea运行,windows下只有java开发环境,需要安装其他的东西吗,比如说docker
@xiongchaofs 您好,关于项目的运行及项目之间的关系均已在README中详细描述,如有其他问题可以新开一个issue,感谢您的关注。
tcc-coordinator-ms->CoordinateService->66行: final ResponseEntity response = restTemplate.exchange(participant.getUri(), HttpMethod.PUT, REQUEST_ENTITY, String.class);
此句是否应该先用LoadBalancerClient.choose(serviceId)得出ServiceInstance.getUri() 然后与participant.getUri()拼接,再用restTemplate.exchange(此新的uri).
不然所有的事件资源回调链接都调不通啊.