2016 - 2024

感恩一路有你

setnx分布式锁原理 本人本科大二,随手可以写java网课上的仓储系统(无法联网,图形化界面,sql),在业内算什么水平呢?

浏览量:2350 时间:2021-03-17 18:39:57 作者:admin

本人本科大二,随手可以写java网课上的仓储系统(无法联网,图形化界面,sql),在业内算什么水平呢?

我做软件已经20多年了。编程不仅是关于使用什么语言,而且是关于思考。编程语言只是一种工具。如果你熟悉一个工具,那就没什么值得骄傲的了,除非你想把编程和诗人比较一下。一个软件要实现哪些功能,这些功能用户如何使用才能酷、易用、稳定如新是最重要的。否则,这是一个悬而未决的问题。在这个领域没有太多的前途

首先,我们需要知道在非分布式环境中使用锁可以解决什么问题?

多线程环境,共享资源线程安全问题!此时,共享资源通常在一台机器的多线程中竞争。从JAVA内存模型的角度来看,我们可以通过锁定对象、方法和代码块来避免共享资源的竞争

!1,生成全局ID;

2,修改全局配置文件;

3,分布式服务中的seckill;

4,分布式环境中的重复提交;

1,使用数据库的唯一主键实现锁定

!2、使用redis指令:通常使用setnx方法,incr方法实现

3、使用zookeeper:使用API生成临时节点实现锁定

什么时候需要分布式锁?

分布式优势:1。增加系统容量。我们的业务量在不断增长,为了能够应对不断增长的业务量,一台机器的性能已经无法满足,我们需要多台机器来应对大规模的应用场景。因此,我们需要对业务系统进行纵向或横向拆分,使其成为分布式体系结构。

2. 增强系统可用性。我们的业务变得越来越关键,我们需要提高整个系统架构的可用性,这意味着架构中不可能存在单点故障。这样,整个系统就不会因为一台机器的故障而不可用。因此,我们需要采用分布式体系结构来冗余系统,以消除单点故障,从而提高系统的可用性。

3. 由于模块化,系统模块的重用程度更高

4。由于软件服务模块是分块的,所以并行开发和发布速度更快

5。系统具有较高的可扩展性

6。团队协作过程也会得到改进

虽然分布式系统有一些优势,但也存在一些问题

2。架构设计变得更加复杂(尤其是分布式事务)

3。系统更灵活部署单个服务会更快,但是如果一个部署需要多个服务,部署会变得更复杂

4。系统的吞吐量会变大,但响应时间会变长

5。由于更多的服务,操作和维护的复杂性将变得非常复杂

6。架构的复杂性将导致更大的学习曲线

7。测试和错误检查的复杂性将增加

8。分布式系统中的服务维护和运维管理技术种类繁多,使得分布式系统中的服务调度变得困难和复杂

setnx分布式锁原理 redis分布式锁和分布式事务 redis获取分布式锁

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。