看完前面的章节,多多少少,对JBoss Datagrid(JDG)应该有一个大致的了解,比如它有几种运行模式,分别使用于什么场景。它的启动模式,是单实例的还是集群模式,各种模式分别适用于什么场景。
了解了这么多之后,这一节学习一下关于它的内部结构。
远程客户端服务器模式
远程客户端服务器模式里,由infinispan服务器,infinispan核心,JGroups这三个模块组成。
infinispan (server):infinispan服务器就是,接受从客户程序(应用程序)发过来的cache操作的命令,将cache操作的结果返回给客户端的JDG的"前端部分"。
infinispan(core):infinispan core担当着JDG里重要的任务,是键值对存储(cache)的管理部分。
JGroups:Jgroups模块的作用是使得组成集群的结点间的数据的复制,平衡。
JDG服务器就是通过这三个模块之间的协同工作,来提供服务的。
库模式
库模式中,infinispan服务器这一个模块是不使用的,应用程序直接操作infinispan core的API。也就是说在库模式中,应用程序通过捆绑infinispan core和JGroups的jar包而使用的。
下面就对JDG的各个模块进行详细的说明。
infinispan server
JDG服务器中,为了要和客户端(应用程序)相链接,默认情况下Infinispan服务器中Hot Rod,Memcached,REST这三个连接器是有效的。关于Hot Rod和Memcached,infinispan服务器里
通过启动相应的协议服务,就会持有各自的线程池。 关于REST,因为使用了和JBoss EAP容器同样的JBoss Web模块,因此可以使用和JBOSS EAP一样的考虑方法来进行该Web容器的调优。还有,这里的协议服务可以根据配置的变更,可以实现自由的停止。举个例子,如果只使用Hot Rod的客户端,那么可以通过不启动Memcached和REST的连接器来使得启动的时候生成的线程数变少,也就是说JDG是一个轻量级的服务。
infinispan core
Infinispan core作为JDG服务中的核心组件,它可以拥有多个cache container,而cache container中,又可以定义多个键值对存储也就是cache。cache可以选择是否定义使得数据可以永久存储的cache存储。
cache存储,可以使用文件系统的文件存储,使用数据库的JDBC存储,或者使用的别的JDG集群来作为存储,除此之外还可以使用自己定制的存储。但是使用cache存储的情况下,JDG的性能将会收到使用的cache存储的性能的制约,因此使用cache存储时要非常的注意。
从架构上来看,infinispan core关于集群中使用的模块是可以进行选择的,但是从目前的现状来看,可以选择的协议模块实际上只有JGroups。
JGroups
JGroups因为是由多个协议栈的集合构成,因此可以非常简单的管理由多个结点构成的动态的集群。这里指的协议栈包括:比如,为了检出是否有一个新的结点要加入到集群中的discovery协议,
再比如为了能够检出集群中是否有节点要脱离的障害检知协议,消息再发送的控制协议和消息循序的控制的协议。而JGroups中,又使用unicast和multicast的组合,因此它能高效率的管理
动态的集群。
通过上面的描述,可以看出JDG服务器是基于模块的架构,因此它有着非常多的可以扩展的地方。
相关推荐
由于JBOSS 7.0版本发布不久,在Eclipse上面部署的时候遇到不少问题,通过百度没有找到完全的解决办法,特此记录下,以方便来者。
jboss7.0源码及依赖包,如果有想解构jboss内核的朋友可以看看,因为从官方途径需要注册账号而且规则比较多
linux 下 配置JBoss6.0+JDK7.0
JBOSS7.0全套的api 从官网下载 https://developers.redhat.com/products/eap/docs-and-apis/ 同学们不用再一个个下载啦!
JBoss 企业应用平台和 JBoss 数据网格演示添加一名作者级别:中级技术:CDI、jQuery、JAX-RS、Infinispan HotRod 简介: datagrid-demo-app展示了 JBoss DataGrid 如何使用服务器内存而不是数据库来存储、删除、检索...
jboss rules 中文学习资料.chm
JBoss是一个管理EJB的容器和服务器,为服务器端的基础架构。这是jboss-as-7.0.0.Final,属于次新版本。
JBOSS_Esb学习资料包含各种基础学习资料与协议交互资料
yeclipse7.0+JBoss5.0测试EJB3.0环境搭建过程详解
JBoss Rules 的前身是Codehaus的一个开源项目叫Drools。最近被纳入JBoss门下,更名为JBoss Rules,成为了JBoss应用服务器的规则引擎。 Drools是为Java量身定制的基于Charles Forgy的RETE算法的规则引擎的实现。具有...
是JBoss学习的最佳材料,包含JBoss的配置以及其文件修改方法和文件介绍。
Jboss_ESB学习笔记,介绍的很详细,可以作为入门文档来看。
jboss 5的详细说明。对在jboss5上进行开发来说是很好的参考资料。
JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南JBOSS使用指南
技术分享:jboss配置入门学习教程
Jboss应用服务器7.0最新版的管理指南,学习最新版的jbossAS不可不读。
jBoss+tomcat学习笔记大全,jBoss+tomcat的帮助文档
Jboss_ESB学习笔记.doc
Myeclipse7.0+JBoss5.0测试EJB3.0环境搭建过程源代码