集群环境下多机器间进行同步操作有什么可选的解决方案?(最好用伪代码写出关键部分)
补充说明问题:比如有一个创建订单的API,同时到达集群中的多台机器上。如何保证只能有效的生成一条订单数据。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
当然是消息队列来保证只有一台服务器处理
这个是不是要有个分发的过程啊,前面有个前置机,专门做请求转发,自主分发到不同的服务器上
不要把思维受限于集群系统,想想当时做这个集群主要是为了应对什么问题?
假设你的生成订单以及订单数据操作没有那么大的负载的话,为什么不剥离出一个订单的服务,然后集群中的所有前端都统一调用这个服务来生成订单,这样就简化了整个流程,等这个服务负载达到一个数量级的时候,再单独给这个服务进行优化,比如加入一个队列,先让数据进队列,然后前端等待轮询检测是否生成订单,然后再提示订单生成成功
只提供一个思路,这个伪代码我不知道如何给你,感觉顺着这个思路,已经比较清晰了
当然是消息队列来保证只有一台服务器处理
这个是不是要有个分发的过程啊,前面有个前置机,专门做请求转发,自主分发到不同的服务器上
不要把思维受限于集群系统,想想当时做这个集群主要是为了应对什么问题?
假设你的生成订单以及订单数据操作没有那么大的负载的话,为什么不剥离出一个订单的服务,然后集群中的所有前端都统一调用这个服务来生成订单,这样就简化了整个流程,等这个服务负载达到一个数量级的时候,再单独给这个服务进行优化,比如加入一个队列,先让数据进队列,然后前端等待轮询检测是否生成订单,然后再提示订单生成成功
只提供一个思路,这个伪代码我不知道如何给你,感觉顺着这个思路,已经比较清晰了