`
mowengaobo
  • 浏览: 166831 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

集群后synchronized失效是必然的

 
阅读更多

集群后synchronized失效是必然的,类似的同步操作必须转换为通过全局的同步互斥机制,例如数据库锁,这样会造成性能的急剧下降,如果系统有大量sychronized的处理不适合做集群。
参见j2ee desgin and development.

 

集群文件共享::

               Share folder

                1、共享目录,都mount同一个地方,简单方便的做法;
                  2、存放在数据库里,需要改动代码,性能上面也低。

                 3、把那个功能独立成一个应用, 不部署在集群上了(前提能够满足业务这样做当然好,不过要用到额外的网络资源)

                 4、2. 也可以通过向一个专门的server请求获得锁来控制

定时任务

                 Quartz支持集群环境下的Task,原理就是用数据库记录Task并进行同步。
                  我们就这么用的

分享到:
评论

相关推荐

    Swift架构概述

    当代理服务器接收到针对特定对象的操作请求后,会根据环信息确定该对象所在的位置,并将请求转发给对应的对象服务器。 对象服务器的主要功能包括: - 存储和检索对象数据。 - 执行与对象相关的操作,如创建、读取、...

    redis第二次课笔记1

    在单个进程中,我们通常使用`synchronized`或`Lock`等同步机制来确保线程安全,但在分布式环境下,我们需要一种跨进程的锁机制。数据库(如MySQL)可以作为实现分布式锁的一种方式,通过设置唯一约束的`lock`表来...

    互联网高频Java后端面试题20道(适合1~3年)V1.0.57.docx

    缓存击穿是指热点数据在缓存失效后,大量请求同时涌入数据库。为了避免这些问题,可以采用布隆过滤器防止缓存穿透,设置合理的缓存过期时间避免雪崩,以及使用互斥锁防止缓存击穿。 问题 13:Java 中的集合框架有...

    面试真题目录大全,详细版

    3. ConcurrentHashMap 的底层原理(CAS+Synchronized) 4. Redis 的数据结构(String、List、Set、Hash、ZSet 等) 5. ZSet 和 Set 的区别 大数据 1. Flume 的配置(多个 Source、Channel、Sink) 2. HBase 的 ...

    百度持续交付项目组面试题

    当一个线程访问某个对象的一个`synchronized`方法时,它就获得了该对象的锁,并执行该`synchronized`方法;其他线程若试图访问此对象的任何`synchronized`方法,都会被阻塞,直到第一个线程执行完该方法。 **...

    (2024)跳槽涨薪必备精选面试题.pdf

    - 节点加入集群后广播其 ID。 - 节点根据接收到的消息确定 ID 最大的节点。 - 当选领导者向集群发送心跳消息。 12. **Zookeeper集群中节点之间数据是如何同步的** - 节点之间通过 ZAB 协议实现数据同步。 - ...

    Redis分布式锁的实现方式(redis面试题)

    4. **容错性**:即使在Redis集群中有部分节点失效的情况下,仍应能够进行加锁和解锁操作。这通常意味着应该有主从复制或者Sentinel集群来保证高可用性。 以下是一个基于Redis的正确分布式锁实现示例: ```java ...

Global site tag (gtag.js) - Google Analytics