服务
如分配中所述,服务通过请求正文中的对象ID数组接受对/callback路由的POST请求。
在每个回调请求上,它将启动这些对象的异步更新,并立即以202 Accepted响应客户端。
对于每个对象,服务都通过tester_service的ID请求其数据,并更新数据库中对象的状态。
笔记
请使用此存储库中提供的tester_service.go 。
我收到的tester_service.go有一个小错误。 所以我更新了它以正确处理对/objects/:id请求。
怎么跑
运行PostgreSQL实例,并在database/connection.go配置对其的访问权限
go run service.go
对象更新
从理论上讲,如果这是一个生产系统,则可能存在竞争状况。
假设我们对同一对象有2个并发更新(为便于举例, updateTime值):
Update 1 = {