分布式,是一种思路吧,比如以前垂直开发项目,现在的话,为了满足高并发,在软件的设计上面,分层了。比如MVC模式分开,service层,单独搞出来,通过框架交互,比如dubbo。action通过网络service层,实现分布式开发。
集群,是一种部署的方式吧。比如负载均衡集群,通过nginx+多台tomcat实现action层的负载均衡。
同事service层也可以实现集群。
总结:
分布式,思路,把开发软件分层。比如集群之后还存在的瓶颈,可以分布式重构,然后实现分布式集群,更快,响应速度提高多倍。
但是,分布式的事务控制一致性就是问题,怎么去控制这块。。。一直没有好的思路。
简单的分布式,比如只是单纯提取service出来做集群,那就没有问题。更复杂的是,如果service再细分模块,每一个模块都集群,必然导致模块之间的访问,然后不在同一台服务器上面的问题,这样就控制不了事务了。
现在的做法,是建立一个日志表来记录,通过人工去查看是否存在失败的记录,然后回滚或者补偿性操作。