Clojure/ClojureScript中的哪些内容有助于创建分布式;蚂蚁;演示?

Clojure/ClojureScript中的哪些内容有助于创建分布式;蚂蚁;演示?,clojure,clojurescript,Clojure,Clojurescript,我想大多数Clojure专家都看过Rich Hickey的ants演示(和)。如果一个人试图制作同一个应用程序的分布式版本,但基于浏览器,每个浏览器控制一个ant,那么Clojure/ClojureScript中是否有任何东西可以帮助behave功能的事务性(假设behave在客户端上运行)?或者Clojure/ClojureScript的STM功能真的不适合分布式使用吗 i、 例如,如果在客户机上,我处于(3,2),并且想要移动到(3,3),并且在我的客户机(浏览器)的世界中(可能有点陈旧,就

我想大多数Clojure专家都看过Rich Hickey的ants演示(和)。如果一个人试图制作同一个应用程序的分布式版本,但基于浏览器,每个浏览器控制一个ant,那么Clojure/ClojureScript中是否有任何东西可以帮助
behave
功能的事务性(假设
behave
在客户端上运行)?或者Clojure/ClojureScript的STM功能真的不适合分布式使用吗

i、 例如,如果在客户机上,我处于(3,2),并且想要移动到(3,3),并且在我的客户机(浏览器)的世界中(可能有点陈旧,就像Rich的原始版本中线程有点陈旧一样),该方块是空的,但是我将请求发送到服务器,在服务器的世界中,该方块是满的,ClojureScript中是否有任何类型的分布式STM可以告诉我没有,方块已满,您必须恢复该移动,以便您的下一个移动必须再次从(3,2)开始。在Rich的原始演示中,它是全自动的,内置于Clojure的STM功能中。但是分布式的,是否必须更加明确,或者是否有内置的现有功能来实现这一点


如果Clojure/ClojureScript中没有内置这种功能,那么还有其他更合适的平台吗?

是的,这可以通过使用Clojure(用于后端)和ClojureScript或JavaScript(用于前端)轻松实现

基本上,客户端js代码将使用websocket连接到clojure服务器,在服务器上,您可以将状态包装在atom中,每个客户端都可以访问该atom,并且每个客户端都可以通过连接的websocket更新状态。。。在聊天web应用程序中执行类似的操作


对于websocket,您可以使用。

但是在这种情况下是否有内置的回滚方法?(见我对原问题的增编)。