`
uule
  • 浏览: 6358272 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

服务器集群对Synchronized有没有什么影响

 
阅读更多

有个功能大致如下,在一堆没用过的数据中取一条数据,并将其标示为已用,原来是只有一台服务器,在获取并修改状态的方法上加上synchronized就可以,现在要分布部署为多台服务器,会不会出现并发读取到同一条数据的问题,要怎么解决,谢谢。(多服务器synchronized)

 

答:

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

参见j2ee desgin and development.

 

另:

http://bbs.csdn.net/topics/390723174?page=1

 

分享到:
评论

相关推荐

    构建JAVA大型分布式电商项目实战高并发集群分布式系统架构PDF+视频.rar

    - 通过服务器集群来分散负载,确保系统的可用性和稳定性。负载均衡器(如Nginx、HAProxy)可以动态分配请求到不同服务器。 - 容器化部署(Docker)和编排工具(Kubernetes)使得集群管理更加高效。 5. **微服务...

    Java的网络游戏服务器系统的研究与开发

    5. **分布式系统**:大型网络游戏可能需要分布式服务器集群来分摊负载。Java RMI(Remote Method Invocation)和JMS(Java Message Service)允许不同节点间的通信和任务调度。 6. **负载均衡**:为了确保服务的...

    Android-给集群环境下生产一定命名规范下的id如订单号等

    在Android应用服务端,可能有多个服务器实例(节点)同时运行,以提高系统的可用性和可扩展性。在这种情况下,单个服务器生成的ID可能会与其它服务器生成的ID冲突,因此需要一个能在所有节点间协调的机制来生成全局...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    有没有什么限制? 31 【基础】I/O总结 31 【基础】Java中如何实现序列化,有什么意义? 34 【WEB】session与cookie的区别与联系;session的生命周期 34 session与cookie的区别与联系 34 session的生命周期 35 【WEB...

    数据库GreenPlum集群环境配置与搭建分享.pdf

    GreenPlum是一种高度并行处理(MPP)的分布式数据库系统,由多个独立的数据库服务器组成,形成一个逻辑上的单一数据库。与Oracle和DB2等传统关系型数据库相比,GreenPlum采用MPP架构,而非共享一切(Share-All)的...

    MD-SAL Clustering Internals.pdf

    在分布式系统中,集群是指多个服务器的集合,它们协同工作以提供服务,同时实现高可用性、负载均衡和数据一致性。 从提供的文档内容来看,MD-SAL Clustering Internals覆盖了以下几个关键点: 1. **架构...

    java编写的聊天室

    9. **服务器架构**:如果是多用户环境,可能涉及到服务器集群和负载均衡,这需要对分布式系统有一定的理解。 10. **测试**:使用JUnit或其他单元测试框架进行功能测试,确保聊天室的各个组件都能正常工作。 以上...

    2022 步步高 Java 后端 6 面试经验 · .pdf

    5. 单节点和集群的区别,集群解决了什么问题? 6. 主从复制解决了什么问题? 7. Redis 集群的原理 8. MySQL 为什么要采取读写分离呢? 缓存和消息队列 1. Redis 的使用场景? 2. Redis 的高并发是依靠什么去保证的...

    qq-server-for-java:这是QQ的服务器

    1. **Java基础**:首先,开发者需要对Java基础有深入理解,包括类、对象、接口、多态、异常处理、集合框架(如List、Set、Map)等。这是构建任何Java项目的基石。 2. **网络编程**:QQ服务器需要处理大量的网络连接...

    double-key-portlet:带有双字段主键 PoC 的 PoC ServiceBuilder 用于测试集群设置

    在集群中,多台服务器可能同时处理相同的请求,如果没有正确的主键设计,可能会导致数据重复或丢失。通过使用双字段主键,可以更精确地定位和区分不同服务器产生的数据,从而保证数据的一致性和完整性。 在深入学习...

    基于java的即时通信软件

    4. **并发控制**:在高并发场景下,服务器端可能需要使用`synchronized`关键字、`ReentrantLock`等同步机制来保证数据的一致性和避免竞态条件。此外,`ConcurrentHashMap`等并发集合可以帮助管理共享资源。 5. **...

    Swift架构概述

    审计器负责定期检查Swift集群中的数据完整性,确保数据没有损坏或丢失。审计器会遍历整个集群,验证数据块的校验和,发现任何问题都会立即通知管理员进行修复。 #### 2. 环 (The Rings) 环是Swift架构中用于映射...

    面试题-java大量题目集合

    WebSphere 除了提供基本的 Web 容器功能外,还包含了许多高级特性,如集群、负载均衡、安全管理等。 - **IIS**: Microsoft 开发的一款 Web 服务器软件,主要用于 Windows 操作系统。IIS 支持多种 Web 技术,包括 ASP...

    Raft implementation for Java.zip

    每个服务器都有一个日志,领导人负责接收客户端请求并将其作为新的日志条目添加,然后将这些条目复制到其他服务器。在Java中,这通常涉及网络通信(如使用Socket或Netty框架)以及并发控制(如使用synchronized...

    Fight2Server:Fight2的服务器

    2. 集群部署:通过集群实现服务器横向扩展,增加系统容量和可用性。 3. 数据持久化:利用数据库或分布式存储技术,确保游戏数据的持久性和一致性。 六、性能优化 1. 缓存策略:利用缓存减少数据库访问,提高响应...

    Linux服务器间文件实时同步的实现

    假设有两台服务器A和B,当服务器A的指定目录(例如 `/home/paul/rsync/`)中的内容发生变化时,我们需要这些变化立即反映到服务器B的对应目录中。这个需求在许多场景下都很常见,比如网站文件的更新、数据库备份或者...

    分布式J2EE教程PPT

    J2EE平台提供了多种负载均衡策略,包括基于硬件的负载均衡器和软件解决方案如WebLogic Server或WebSphere的应用服务器集群。通过这些工具,可以将客户端请求分发到多个服务器,以实现服务的高可用性和性能优化。 ...

    MinecraftID-Server:MinecraftID身份验证Minecraft服务器

    此外,服务器还需要处理并发问题,因为可能有大量玩家同时尝试登录,这就需要用到Java的多线程技术和并发控制机制,如synchronized关键字和java.util.concurrent包中的工具。 为了提升服务器的性能和可扩展性,...

    并发编程30.docx

    2. 服务器集群:使用负载均衡技术(如LVS)和心跳检测(如Keepalived),实现服务器之间的主从热备,提高可用性。 3. 数据库优化:采用读写分离,缓解数据库压力;利用缓存(如Redis)来处理频繁的读操作,提升响应...

    面试JAVA程序员常遇到的一些问题.pdf,这是一份不错的文件

    1. Weblogic负载均衡和集群配置:Weblogic通过负载均衡器分配请求到各个服务器,实现高可用性和扩展性。集群配置涉及服务器同步、故障转移和共享存储等。 2. Nginx+Tomcat+Redis实现负载均衡:Nginx作为反向代理...

Global site tag (gtag.js) - Google Analytics