`
文章列表
什么是NAS 网络储存设备 (Network Attached Storage,NAS),是一种专门的资料储存技术的名称,它可以直接连接在电脑网络上面,对不同操作系统的使用者提供了集中式资料存取服务。 NAS和传统的档案储存服务或是直接储存设备不同的 ...
最近负责的数据交换平台性能测试,发现数据库连接有缓慢增长的现象,通过调试发现是oracle的sys_uuid()方法导致的,感觉非常奇怪,只好先将sys_uuid()改成java里的uuid生成方法,详细说明如下:   软件环境: java jdk1.4.2/Red Hat 3.4 ...
对随需应变计算的成功而言,维持最大限度的系统运行时间变得越来越重要。WebSphere MQ 是一个重要的消息中间件,可以帮助企业加快向随需应变商务的转型。架构师需要考虑如何将 WebSphere MQ 引入到高可用配置的重要性。本文讲述了如何在硬件级上使用开源软件,让使用所提供集群的 WebSphere MQ 具备高可用性。   WebSphere MQ 具备异步消息和排队能力,可以确保仅发送一次消息。通过同时使用 WebSphere MQ 和 heartbeat,有可能进一步提高 WebSphere MQ 队列管理器的可用性。 在本系列的第 1 部分中,我向您介绍了高可用性 ...
在项目实施中发现,有些公司是做宣传网站或资讯类网站的,服务器均置于国内,他们对集群这 块了解的并不深,而且要求也很简单,只要求1+2架构。在初期我使用的是 Nginx作为负载均衡器,后期发现HAProxy更加稳定,而且它自带 ...
前言:作为一名Linux/unix系统工程师、项目实施工程师,这几年一直在涉及到对外项目,经手过许多小中型网站的架构,F5、LVS及Nginx接触的都比较多,我想一种比较通俗易懂的语气跟大家说明下何谓负载均衡,何谓Linux集群,帮 ...
一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于LVS/HAProxy、Nginx的基于Linux的开源免费的负载均衡软件策略,这些都是通过软件级别来实现,所以费用非常低廉,所以我个也比较推荐大家采用第二种方案来实施自己网站的负载均衡需求。   近期朋友刘鑫(紫雨荷雪)的项目成功上线了,PV达到了亿级/日的访问量,最前端用的是HAProxy+Keepalived双机作的负载均衡器/反向代 ...
对于企业重要的应用系统而言,保证系统能持续、可靠地提供服务是非常重要的,因此就出现了对高可用性的需求和高可用性的解决方案。 对于如何选择高可用性的解决方案,特别是关于双机热备的方案选择,常见的有以下问题: Q:高可用性的解决方案有哪些? A:从广义讲,高可用性包括一切避免系统服务中断的技术。而一般所说的系统高可用性,往往特指服务器的双机或多机热备/容错。 Q:什么时候需要双机热备? A:决定是否使用双机热备,正确的方法是要分析一下系统的重要性以及对服务中断的容忍程度,以此决定是否使用双机热备。即,你的用户能容忍多长时间恢复服务,如果服务不能恢复会造成多大的影响。 Q:双机热备方案与集 ...
今天通读完了温昱老师的《一线架构师实践指南》,感觉这本书能从大局出发,从架构的角度兼顾需求中的功能、质量、约束几个方面,并从可操作的角度提出“目标-场景-决策”表方法,对于提取非功能需求,比较有实际指导意义。   作为经验丰富的架构师,架构设计师除了考虑功能需求,更应该看到功能需求背后的质量需求及约束环境,有针对性地取舍。   针对标准的可靠性,温老师提出了持续可用性,扩展了该指标的范围。另外该书提出了质疑驱动的架构设计思想,我决定也是比较务实、可行的。   还有一个收获,就是系统架构师要把握需求的主线,还包括如系统分布的特点、和外部系统的关系、用户的并发访问量等对架构设计有影响的需 ...

NIO技术

    博客分类:
  • java
复习了一下 nio 技术,发现了一个不错的专题,留个记号:   http://developer.51cto.com/art/201112/307172.htm   这是IBM developWorks 上的一个教程 http://www.ibm.com/developerworks/cn/education/java/j-nio/index.html   了解事件机制很关键 http://developer.51cto.com/art/201112/306532.htm
1.芦荟鲜汁特殊功效及用途 补水:富含天然生理水、矿物质和木质素,渗透性极强,如海绵吸水般直达皮肤最深层,直接补充皮肤所需水份。 增白保湿:富含多种氨基酸和天然美白保湿因子,可直接被皮肤吸收,分解和转换色 ...
 摘自:http://www.blogjava.net/xylz/archive/2010/07/08/325587.html   比较常用的类图收罗了一下,备查:   Executor:    Map:     Queue:      
JVM提供了线程转储(thread dump)功能,可以帮助识别死锁的发生。 linux平台,可以通过向JVM进程发送SIGQUIT信号(kill -3)来触发线程转储。   当有死锁发生时,可以发现类似如下的信息: Found One Java-level deadlock: .................................................
学习到如下几种方法: 1、对于单个的线程,可以采用Future.get()的方法,任务执行完毕后才能拿到结果。 2、对于多个线程,可以采用executor.awaitTemination()的方法,伪代码如下所示:     for(int i = 0;i < n;i++){            executor.execute(task(i));     }     executor.shutdown();     executor.awaitTemination(Long.MAX_VALUE,TimeUnit.SECONDS); 3、可以采用闭锁,制造阀门效应,伪代码如 ...
创建ThreadPoolExecutor时,Executors.newFixedThreadPool()默认采用的是LinkedBlockingQueue,如果工作者线程处于忙碌状态,新任务将放入队列中等候,队列满了之后,才可能创建新的线程。   有时我们希望绕开队列,直接分配接收者线程,此时可采用SynchronousQueue,只要当前池的大小还小于最大值,ThreadPoolExecutor就会创建新线程。   SynchronousQueue并不是真正的队列,而是一种管理直接在线程之间移交信息的机制,Executors.newCachedThreadPool()工厂就采用的这种机 ...
从 Java 5 开始,Java 提供了自己的线程池。线程池就是一个线程的容器,每次只执行额定数量的线程。 java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。它很灵活,但使用起来也比较复杂,本文就对其做一个介绍。   首先是构 ...
Global site tag (gtag.js) - Google Analytics