很多朋友对于为什么不建议使用分布式事务和分布式事务不建议用吗不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
本文目录
为什么要用分布式锁而不是事务
比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。
其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。
分布式事务和本地事务有冲突吗
分布式事务和本地事务在一定情况下可能会存在冲突。传统的本地事务是指在单一数据库上执行的事务,具有ACID(原子性、一致性、隔离性和持久性)特性。本地事务通常只涉及单一数据库的操作,因此可以较为简单地进行管理和控制。而分布式事务是指涉及多个独立的系统或数据库的事务,它要求对多个系统或数据库的更新操作保持一致性。分布式事务需要处理多个资源的协调和同步,因此比本地事务更加复杂。在某些情况下,分布式事务和本地事务可能会冲突。例如,在分布式系统中,一个事务可能涉及到多个独立的数据库或服务,可能需要在不同的网络环境中执行操作。在这种情况下,需要通过分布式事务管理机制来确保事务的一致性和隔离性。然而,由于分布式事务的复杂性和性能开销,有时会选择在某些系统中使用本地事务而不是分布式事务。这种情况下,可能会存在分布式事务和本地事务之间的冲突。在这种情况下,可能需要考虑使用一致性协议或其他机制来解决分布式事务和本地事务之间的冲突。
ssh还有必要学习吗
对于ssh可以学习,虽然有不足之处,而且有更好的选择,可学习了解一下,观点如下:
来认识一下ssh是什么:SSH为SecureShell的缩写,由IETF的网络小组(NetworkWorkingGroup)所制定;SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、DigitalUNIX、Irix,以及其他平台,都可运行SSH。
现今很多软件都要用到ssh来进行远程登入验证,在这一方面,网络安全和验证都需要ssh来加持,在知乎上找到一些信息,如下:言归正传
Spring+Struts+Hibernate是越来越少了
Spring+SpringMVC+Mybatis的更多
Spring,怎么都得用的,IOC,AOP,事务管理都太宝贝了。
struts太重太繁琐,SpringMVC各方面,完胜,没接触过struts2,不评。
Hibernate太重,他想作的事太多了,我个人觉得,像hibernate事务,完全鸡肋,而缓存,大部分时候也用不上,需要用到的场景,完全可以自已开发,更轻,而数据关系变得复杂后,hibernate越难驾驭,分布式事务的时候,我没搞过,不知hibernate好不好处理,还是mybatis更灵活,必要时,直接写SQL。按业务类型,混合着用。
SOA用的也真的少了,他太重了,要么用轻的REST,要么用性能更好的RPC
但这些,也绝不是早几年没人在用,现在用的依然很多很多,大公司的不同项目,更是各种框架都有。
为什么不建议使用分布式事务
不建议使用分布式事务是因为分布式事务的实现复杂且性能开销较大。在分布式系统中,各个节点的数据一致性难以保证,而分布式事务需要在多个节点之间进行协调和同步,增加了系统的复杂性和延迟。此外,分布式事务还存在单点故障和性能瓶颈的风险。
因此,为了提高系统的可用性和性能,一般建议使用更轻量级的分布式事务解决方案,如基于消息队列的最终一致性方案。
好了,文章到此结束,希望可以帮助到大家。
声明:本文内容来自互联网不代表本站观点,转载请注明出处:https://bk.oku6.com/12/125163.html