ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产一区二区视频,中文精品视频,不卡欧美aaaaahttp://www.aygfsteel.com/wansong/category/49309.htmlwansongzh-cnTue, 30 Aug 2011 19:21:28 GMTTue, 30 Aug 2011 19:21:28 GMT60JGroup UDPå’ŒTCP两种方式http://www.aygfsteel.com/wansong/articles/357232.htmlw@ns0ngw@ns0ngThu, 25 Aug 2011 00:18:00 GMThttp://www.aygfsteel.com/wansong/articles/357232.htmlhttp://www.aygfsteel.com/wansong/comments/357232.htmlhttp://www.aygfsteel.com/wansong/articles/357232.html#Feedback0http://www.aygfsteel.com/wansong/comments/commentRss/357232.htmlhttp://www.aygfsteel.com/wansong/services/trackbacks/357232.htmlJGroup可以åŸÞZºŽTCP协议来实现消息广播,也可以通过UDP方式来广播消息,利弊不言而喻åQŒTCP可靠åQŒä½†æ˜¯ä»£ä»·å¤§åQŒæ€§èƒ½æ²¡æœ‰UDP来的 好,UDP速度快,代ä­hž®ï¼Œä½†æ˜¯æ¶ˆæ¯çš„丢å¤ÞqŽ‡ä»¥åŠæ— åºæ€§æœ‰ç€å¾ˆå¤§çš„é™åˆ¶ã€‚ä½†æ˜¯JGroup在UDP方式的基¼‹€ä¸Šï¼Œå¢žåŠ äº†åè®®æ ˆçš„é…¾|®ï¼Œé€šè¿‡é…ç½®ä¸Šå±‚的协 议,可以保证消息的重发,大包体的分解åQˆåŒæ—¶ä¿è¯æ¶ˆæ¯åŒ…体顺序)åQŒç»„内机器的状态检‹¹‹ç­‰åŠŸèƒ½ã€?br />
http://www.javachen.com/2011/06/jgroups-introduction-and-configruation/

http://blog.csdn.net/lnfszl/article/details/5747427

http://docs.jboss.org/jbossas/jboss4guide/r4/html/jbosscache.chapt.html


w@ns0ng 2011-08-25 08:18 发表评论
]]>
JGroups ½Ž€ä»‹ã€é€‚用场合、配¾|®ã€ç¨‹åºä¾‹å­Demo½{‰å®Œå…¨ä‹É用指å?/title><link>http://www.aygfsteel.com/wansong/articles/355922.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sat, 06 Aug 2011 12:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/wansong/articles/355922.html</guid><wfw:comment>http://www.aygfsteel.com/wansong/comments/355922.html</wfw:comment><comments>http://www.aygfsteel.com/wansong/articles/355922.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wansong/comments/commentRss/355922.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wansong/services/trackbacks/355922.html</trackback:ping><description><![CDATA[目前™å¹ç›®ä¸­åœ¨å…‹æœJGroups初期使用的困难之后,已经使用比较½E›_®šäº†ã€‚感觉比较烦琐和å®ÒŽ˜“出错的还是JGroups配置。感觉中文的资源较少åQŒçްž®†è‡ªå·±æ€È»“的经验æ€È»“如下<br />Tim <a target="_blank">http://hi.baidu.com/jabber/blog/item/7e879852a23efd0f0cf3e3ea.html</a><br /><br /><a >http://puras.iteye.com/blog/81783</a><br /><br /><strong>JGroups 适合使用场合</strong><br />服务器集¾Ÿ¤cluster、多服务器通讯、服务器replication(复制)½{‰ï¼Œåˆ†å¸ƒå¼cache¾~“å­˜<br /><br /><strong>JGroups ½Ž€ä»?/strong><br />JGroups是一个基于Java语言的提供可靠多æ’?¾l„æ’­)的开发工具包。在IP Multicast基础上提供可靠服务,也可以构建在TCP或者WAN上。主要是由Bela Ban开发,属于JBoss.orgåQŒåœ¨JBoss的网站也有一些相å…Ïx–‡æ¡£ã€‚目前在 SourceForge上还是比较活跃,¾lå¸¸ä¿æŒæ›´æ–°ã€?br /><br /><strong>JGroups 配置</strong><br /><br />PING: 发现初始成员<br />MERGE2: ž®†ç½‘¾lœå±‚åˆ‡åˆ†çš„åŒ…é‡æ–°åˆåÆˆã€?br />FD_SOCK: Failure Dectection 错误‹‚€‹¹‹ï¼ŒåŸÞZºŽTCP<br />FDåQšFailure Dectection 错误‹‚€‹¹‹ï¼ŒåŸÞZºŽå¿ƒèŸ©<br />VERIFY_SUSPECT: ‹‚€æŸ¥è²Œä¼¼å¤±è´¥çš„节点<br />pbcast.NAKACK: 应答åQŒæä¾›å¯é ä¼ è¾?br />UNICAST: 可靠的UNICAST<br />pbcast.STABLE: 计算òq¿æ’­ä¿¡æ¯æ˜¯å¦½E›_®š<br />VIEW_SYNC: 定期òq¿æ’­view(成员名单)<br />pbcast.GMS: Group membership, 处理joins/leaves/crashes½{?br />FC: ‹¹é‡æŽ§åˆ¶<br />FRAG2:Fragmentation layeråQŒåˆ†åŒ…,ž®†å¤§çš„æ•°æ®åŒ…分拆成适合¾|‘络层传è¾?br /><br />以上一些是比较重要的配¾|®ï¼ŒåŸºæœ¬ä¸Šä¸èƒ½å°‘。如果要深入研究可以在 org.jgroups.protocols 里面查看源代ç ?br /><br /><strong>JGroups使用例子, JGroups demo, Timçš„hello world例子</strong><br />Timreceiver.java<br /><pre><br />import org.jgroups.tests.perf.Receiver;<br />import org.jgroups.tests.perf.Transport;<br />import org.jgroups.util.Util;<br /><br />public class TimReceiver implements Receiver {<br /> private Transport transport = null;<br /> <br /> public static void main(String[] args) {<br /> TimReceiver t = new TimReceiver();<br /> try {<br /> int sendMsgCount = 5000;<br /> int msgSize = 1000;<br /> t.start();<br /><br /> t.sendMessages(sendMsgCount, msgSize);<br /> System.out.println("########## Begin to recv...");<br /> Thread.currentThread().join();<br /> } catch (Exception e) {<br /> e.printStackTrace();<br /> } finally {<br /> if (t != null) {<br /> t.stop();<br /> }<br /> }<br /> }<br /> <br /> public void start()<br /> throws Exception {<br /> transport = (Transport) new TimTransport();<br /> transport.create(null);<br /> transport.setReceiver(this);<br /> transport.start();<br /> }<br /><br /> public void stop() {<br /> if (transport != null) {<br /> transport.stop();<br /> transport.destroy();<br /> }<br /> }<br /><br /> private int count = 0;<br /> public void receive(Object sender, byte[] data) {<br /> System.out.print(".");<br /> if (++count == 5000) {<br /> System.out.println("\r\nRECV DONE.");<br /> System.exit(0);<br /> }<br /> <br /> }<br /><br /> private void sendMessages(int count, int msgSize)<br /> throws Exception {<br /> byte[] buf = new byte[msgSize];<br /> for (int k = 0; k < msgSize; k++)<br /> buf[k] = 'T';<br /><br /> System.out.println("-- sending " + count + " " + Util.printBytes(msgSize) + " messages");<br /><br /> for (int i = 0; i < count; i++) {<br /> transport.send(null, buf);<br /> }<br /> <br /> System.out.println("######### send complete");<br /> }<br />}</pre><br />TimTransport.java<br /><pre><br /><br />import java.util.Map;<br />import java.util.Properties;<br /><br />import org.jgroups.Address;<br />import org.jgroups.JChannel;<br />import org.jgroups.Message;<br />import org.jgroups.ReceiverAdapter;<br />import org.jgroups.tests.perf.Receiver;<br />import org.jgroups.tests.perf.Transport;<br /><br />public class TimTransport extends ReceiverAdapter implements Transport{<br /> private JChannel channel = null;<br /> private String groupName = "TimDemo";<br /> private Receiver receiver = null;<br /> <br /> String PROTOCOL_STACK_UDP1 = "UDP(bind_addr=192.168.100.59"; <br /> String PROTOCOL_STACK_UDP2 = ";mcast_port=8888";<br /> String PROTOCOL_STACK_UDP3 = ";mcast_addr=225.1.1.1";<br /> String PROTOCOL_STACK_UDP4 = ";tos=8;loopback=false;max_bundle_size=64000;" +<br /> "use_incoming_packet_handler=true;use_outgoing_packet_handler=false;ip_ttl=2;enable_bundling=true):"<br /> + "PING:MERGE2:FD_SOCK:FD:VERIFY_SUSPECT:"<br /> +"pbcast.NAKACK(gc_lag=50;max_xmit_size=50000;use_mcast_xmit=false;" +<br /> "retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):"<br /> +"UNICAST:pbcast.STABLE:VIEW_SYNC:"<br /> +"pbcast.GMS(print_local_addr=false;join_timeout=3000;" +<br /> "join_retry_timeout=2000;" +<br /> "shun=true;view_bundling=true):"<br /> +"FC(max_credits=2000000;min_threshold=0.10):FRAG2(frag_size=50000)";<br /><br /> <br /> public Object getLocalAddress() {<br /> return channel != null ? channel.getLocalAddress() : null;<br /> }<br /><br /> public void start() throws Exception {<br /> channel.connect(groupName); <br /> }<br /><br /> public void stop() {<br /> if (channel != null) {<br /> channel.shutdown();<br /> }<br /> }<br /><br /> public void destroy() {<br /> if (channel != null) {<br /> channel.close();<br /> channel = null;<br /> }<br /> }<br /><br /> public void setReceiver(Receiver r) {<br /> this.receiver = r;<br /> }<br /><br /> public Map dumpStats() {<br /> return channel != null ? channel.dumpStats() : null;<br /> }<br /><br /> public void send(Object destination, byte[] payload) throws Exception {<br /> byte[] tmp = new byte[payload.length];<br /> System.arraycopy(payload, 0, tmp, 0, payload.length);<br /> Message msg = null;<br /> msg = new Message((Address) destination, null, tmp);<br /> if (channel != null) {<br /> channel.send(msg);<br /> }<br /> }<br /><br /> public void receive(Message msg) {<br /> Address sender = msg.getSrc();<br /> byte[] payload = msg.getBuffer();<br /> if (receiver != null) {<br /> try {<br /> receiver.receive(sender, payload);<br /> } catch (Throwable tt) {<br /> tt.printStackTrace();<br /> }<br /> }<br /> }<br /><br /> public void create(Properties config) throws Exception {<br /> String PROTOCOL_STACK = PROTOCOL_STACK_UDP1 + PROTOCOL_STACK_UDP2 + PROTOCOL_STACK_UDP3 + PROTOCOL_STACK_UDP4;<br /> channel = new JChannel(PROTOCOL_STACK);<br /> channel.setReceiver(this); <br /> }<br /><br /> public void send(Object destination, byte[] payload, boolean oob) throws Exception {<br /> send(destination, payload);<br /> }<br />}</pre><img src ="http://www.aygfsteel.com/wansong/aggbug/355922.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wansong/" target="_blank">w@ns0ng</a> 2011-08-06 20:19 <a href="http://www.aygfsteel.com/wansong/articles/355922.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用JGroups同步两台server之间的cacheã€?/title><link>http://www.aygfsteel.com/wansong/articles/355921.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sat, 06 Aug 2011 12:00:00 GMT</pubDate><guid>http://www.aygfsteel.com/wansong/articles/355921.html</guid><wfw:comment>http://www.aygfsteel.com/wansong/comments/355921.html</wfw:comment><comments>http://www.aygfsteel.com/wansong/articles/355921.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wansong/comments/commentRss/355921.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wansong/services/trackbacks/355921.html</trackback:ping><description><![CDATA[     摘要: 一、需求前ŒD‰|—¶é—´åšäº†ä¸€ä¸ªé¡¹ç›®ï¼Œåœ¨åŽå°æœ‰å¾ˆå¤šçš„æ•°æ®éƒ½æ”‘Ö…¥åˆîCº†cache中了åQŒè€Œä¸”˜q˜ä¼šå¯¹cache中的数据˜q›è¡Œæ›´æ–°ã€‚如果只有一台server没有ä»ÖM½•问题åQŒä½†æ˜¯å¦‚果考虑到集¾Ÿ¤è´Ÿè½½åã^衡,˜qžæŽ¥å¤šä¸ªserver的时候,ž®±æœ‰é—®é¢˜å‡ºçŽ°äº†ï¼Œæ€Žä¹ˆæ äh‰èƒ½ä¿è¯å¤šä¸ªserver之间cache的同步呢åQŸè¯·çœ‹ä¸‹é¢çš„部çÖv图ã€?二、引入JGroupsJGroups是一个可靠的¾l„间通讯工具åQŒè¿›½E‹å¯ä»¥åŠ å…¥ä¸€ä¸ªé€šè®¯¾l„,¾l™ç»„内所有的成员...  <a href='http://www.aygfsteel.com/wansong/articles/355921.html'>阅读全文</a><img src ="http://www.aygfsteel.com/wansong/aggbug/355921.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wansong/" target="_blank">w@ns0ng</a> 2011-08-06 20:00 <a href="http://www.aygfsteel.com/wansong/articles/355921.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用开源Gridòq›_°åQGridGain实现¾|‘格计算 http://www.aygfsteel.com/wansong/articles/355913.htmlw@ns0ngw@ns0ngSat, 06 Aug 2011 06:59:00 GMThttp://www.aygfsteel.com/wansong/articles/355913.htmlhttp://www.aygfsteel.com/wansong/comments/355913.htmlhttp://www.aygfsteel.com/wansong/articles/355913.html#Feedback0http://www.aygfsteel.com/wansong/comments/commentRss/355913.htmlhttp://www.aygfsteel.com/wansong/services/trackbacks/355913.html¾|‘格计算一般分ä¸ÞZ¸¤¿Uï¼šæ•°æ®¾|‘格和计½Ž—网æ û|¼Œ½Ž€å•的说数据网格就是把数据分布式存储,计算¾|‘æ ¼ž®±æ˜¯ž®†ä“QåŠ¡åˆ†è§£äØ“å­è®¤ä¸ºåÆˆè¡Œè®¡½Ž—ã€?/p>

一个计½Ž—网格åã^台的作用ž®±æ˜¯ž®†ä“Q务分解开来,交给不同的结ç‚ÒŽœºå™¨è¿è¡Œï¼Œç„¶åŽæŠŠè¿è¡Œç»“果汇聚è“v来。这ž®±æ˜¯Split and Aggregate。如下图所½Cºï¼Œä¸€ä¸ªjobè¯äh±‚分解ä¸ÞZ¸‰ä¸ªsub-jobåQŒåˆ†åˆ«è¢«ä¸åŒçš„æœºå™¨æ‰§è¡Œï¼Œç„¶åŽæŠŠç»“果汇聚,˜q”回¾l™è°ƒç”¨çš„客户ã€?/p>

 

GridGain是一个开源的java¾|‘æ ¼òq›_°ã€‚它集成了很多现成的框架åQŒä¾‹å¦?/p>

JBoss
Spring
Spring AOP
JBoss AOP
AspectJ
JGroups

GridGain有两个方法将应用½E‹åºgrid化:

½W¬ä¸€¿Uæ˜¯ä½¿ç”¨AOP

假设有一个应�/p>

01 class BizLogic {
02   public static Result process(String param) {
03     
04   }
05 }
06 
07 class Caller {
08   public static void Main(String[] args) {
09     BizLogic.process(args[0]);
10   }
11 }

如果要把process grid化,只要½Ž€å•的使用一个@Gridifyçš„annotation卛_¯åQŒåœ¨Caller客户端要启动GridFactory

01 class BizLogic {
02   @Gridify()Here
03   public static Result process(String param) {
04     
05   }
06 }
07 
08 class Caller {
09   public static void Main(String[] args) {
10     GridFactory.start();Here
11 
12     try {
13       BizLogic.process(args[0]);
14     }
15     finally {
16       GridFactory.stop();Here
17     }
18   }
19 }



w@ns0ng 2011-08-06 14:59 发表评论
]]>
GridAffinityLoadBalancingSpi 数据分区技术和数据¾|‘格的集æˆ?/title><link>http://www.aygfsteel.com/wansong/articles/355912.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sat, 06 Aug 2011 06:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/wansong/articles/355912.html</guid><wfw:comment>http://www.aygfsteel.com/wansong/comments/355912.html</wfw:comment><comments>http://www.aygfsteel.com/wansong/articles/355912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wansong/comments/commentRss/355912.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wansong/services/trackbacks/355912.html</trackback:ping><description><![CDATA[<p><span style="font-family: 宋体">转蝲 <a >http://www.iteye.com/topic/475010</a>  <br /><br />¾|‘格技术分ä¸ÞZ¸¤¿Uä¸€¿UäØ“¾|‘格计算一¿UäØ“¾|‘格数据åQŒgridgainæ˜¯ç½‘æ ÆD®¡½Ž—,可以æ ÒŽ®è§„则分节ç‚ÒŽŠ€æœ¯ï¼Œæé«˜è®¡ç®—é€Ÿåº¦åQŒæ¯”如用于规则引擎,技术引擎等åQŒé“¶è¡Œç»“½Ž—,保险考核¾l“ç®—½{‰ã€‚但是如果在计算中数据时分布式或者是延时加蝲æ—Óž¼Œæ­¤æ—¶æ•°æ®èŽ·å–ä¸åˆ°åQŒè¿™ä¸ªæ—¶å€™å°±éœ€è¦ç”¨åˆ°ç½‘格数据,在网æ ég¸­è®¡ç®—åQŒåœ¨¾|‘格中获取数据,˜q™ä¸ªæ—¶å€?strong>Infinispan</strong>ž®±æ˜¯ä¸€ä¸ªä¸é”™çš„选择åQ?br /><br /><br />数据分区技术和数据¾|‘格的集æˆ?/span></p> <p><span style="font-family: 宋体">概述åQ?/span></p> <p><span style="font-family: 宋体">当处理大量数据的时候,常常值得推荐的是跨节ç‚ÒŽŠŠæ•°æ®åˆ†éš”å¼€å¤„ç†ã€‚åŸºæœ¬ä¸ŠåQŒæ¯ä¸ªç‚¹è´Ÿè´£å¤„理数据的一部分。这¿Uæ–¹æ³•åŸºæœ¬ä¸Šå…è®¸ä»Žæ•°æ®åº“æ•°æ®ä¸­åŠ è½½å¤§é‡çš„æ•°æ®åˆ°ç¼“å­˜ï¼Œç„¶åŽé…ç½®ä½ çš„ç”µè„‘åŒºæ‰§è¡Œè¿™äº›æ•°æ®ã€‚äØ“ä»€ä¹ˆï¼Ÿä¸ÞZº†é¿å…æ•°æ®åœ¨å„节点的重复缓å†ÔŒ¼Œ˜q™æ ·å¾€å¾€å¯ä»¥æå‡æ€§èƒ½åQŒé˜²æ­¢æœåŠ¡å™¨ç˜«ç—ªã€?/span></p> <p> </p> <p><span style="font-family: 宋体">使用</span>gridgain<span style="font-family: 宋体">åQŒä‹Éç”?/span>Affinity Load Balancing<span style="font-family: 宋体">˜q™æ ·çš„设计非常完¾ŸŽçš„解决了这个问题,而且可以和分布式¾~“存集成åQŒè§£å†Ïx•°æ®ç½‘æ ¹{€?/span></p> <p> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/wansong/GridAffinityLoadBalancingSpi.jpg" /></p> <p><span style="font-family: Verdana; color: black">Affinity Load Balancing</span></p> <p> </p> <p><span style="font-family: 宋体; color: black">åœ?/span><span style="font-family: Verdana; color: black">GridGain</span><span style="font-family: 宋体; color: black">ä¸?/span><span style="font-family: Verdana; color: black">Affinity Load Balancing</span><span style="font-family: 宋体; color: black">是通过</span><span style="font-family: Verdana; color: black; font-size: 9pt"><a title="GridAffinityLoadBalancingSpi" >GridAffinityLoadBalancingSpi</a>.</span><span style="font-family: 宋体; color: black; font-size: 9pt">提供ã€?/span></p> <p><span style="font-family: 宋体; color: black; font-size: 9pt">下图说明是ä‹É用数据网格和不适用数据¾|‘格的差别。左面的图表½Cºæ²¡ä½¿ç”¨</span><span style="font-family: Verdana; color: black; font-size: 9pt">GridGain</span><span style="font-family: 宋体; color: black; font-size: 9pt">的执行流½E‹ï¼Œå…¶ä¸­˜qœç¨‹æ•°æ®åº“服务器负责查询数据åQŒç„¶åŽä¼ é€’到主调用服务器。这¿Uæ¯”数据库访问要快,但是¾l“果计算使ä‹É用很多不必要的流量ã€?/span></p> <p> </p> <p><span style="font-family: 宋体; color: black; font-size: 9pt">叛_›¾åQ?/span><span style="font-family: 宋体; color: black">使用äº?/span><span style="font-family: Verdana; color: black">Gridgain</span><span style="font-family: 宋体; color: black">。整个逻辑计算与数据访问整合到本地节点。假讑֤§é‡é€»è¾‘计算比数据序列到数据库要è½ÕdéyåQˆå³å¤§é‡è®¡ç®—åQ‰ï¼Œé‚£ä¹ˆ¾|‘络‹¹é‡ž®†æ˜¯æœ€ž®çš„。此外,您的计算都可以访问节ç‚?/span><span style="font-family: Verdana; color: black">2</span><span style="font-family: 宋体; color: black">和节ç‚?/span><span style="font-family: Verdana; color: black">3</span><span style="font-family: 宋体; color: black">的数据。在˜q™ç§æƒ…况下,</span><span style="font-family: Verdana; color: black">GridGain</span><span style="font-family: 宋体; color: black">ž®†åˆ†ä¸ºé€»è¾‘计算</span><span style="font-family: Verdana; color: black">jobs</span><span style="font-family: 宋体; color: black">和合适的逻辑计算路由到相应的数据服务中进行计½Ž—。以¼‹®ä¿æ‰€æœ‰è®¡½Ž—都在本地节点中计算。现在,如果数据服务节点崩溃æ—Óž¼Œæ‚¨çš„å¤ÞpÓ|</span><span style="font-family: Verdana; color: black">jobs</span><span style="font-family: 宋体; color: black">会自动è{¿UÕdˆ°å…¶ä»–节点åQŒè¿™¿Uæ˜¯å…è®¸å¤ÞpÓ|的(数据¾|‘格和分布式¾~“存提供˜q™ç§æ–¹å¼åQ‰ã€?/span></p> <p> </p> <p> </p> <p><span style="font-family: 宋体; color: black">数据¾|‘格集成</span></p> <p><span style="font-family: Verdana; color: black">GridGain</span><span style="font-family: 宋体; color: black">没有实现数据高速缓存,但是与现有的æ•?/span><span style="font-family: Verdana; color: black"> </span><span style="font-family: 宋体; color: black">据高速缓存或数据¾|‘格解决æ–ÒŽ¡ˆ˜q›è¡Œäº†é›†æˆã€‚这使用户可以ä‹É用几乎ä“Q何的分布式缓存来实现自己喜欢的方案ã€?/span></p> <p><span style="font-family: 宋体; color: black">比如åQ?/span><span style="font-family: Verdana; color: black">GridGain</span><span style="font-family: 宋体; color: black">提供了一ä¸?/span><span style="font-family: Verdana; color: black">JBoss Cache Data Partitioning Example </span><span style="font-family: 宋体; color: black">告诉用户如何来ä‹Éç”?/span><span style="font-family: Verdana; color: black">Attinty Load Balancing</span><span style="font-family: 宋体; color: black">。事实上åQ?/span><span style="font-family: Verdana; color: black">JBOSSCache</span><span style="font-family: 宋体; color: black">没有提供数据分区的功能。由于ä‹É用了</span><span style="font-family: Verdana; color: black">GridGain</span><span style="font-family: 宋体; color: black">çš?/span><span style="font-family: Verdana; color: black; font-size: 9pt"><a title="GridAffinityLoadBalancingSpi" >GridAffinityLoadBalancingSpi</a></span><span style="font-family: 宋体; color: black; font-size: 9pt">提供çš?/span><span style="font-family: Verdana; color: black; font-size: 9pt">Attinity Load Balancing</span><span style="font-family: 宋体; color: black; font-size: 9pt">è®?/span><span style="font-family: Verdana; color: black; font-size: 9pt">JBoss</span><span style="font-family: Verdana; color: black; font-size: 9pt"> Cache </span><span style="font-family: 宋体; color: black; font-size: 9pt">æ•°æ®åˆ†åŒºæˆäØ“äº†å¯èƒ½ã€?br /><br /><font color="#2b2b2b">本文包含附äšgåQšadmin@pjprimer.com 索取<br />==========English==========<br />Overview: When processing mass data, what often be worth to recommend is to cross node to open data space processing. Basically, every order the one share of responsible processing data. This kind of method basically allows to arrive from the data with the much to load in database data cache, the computer division that deploys you next carries out these data. Why? To avoid the data repetition in each node amortize, often can promote property so, prevent a server to break down. Use Gridgain, the settlement with such very ideal design of use Affinity Load Balancing this problem, and can mix distributed cache is compositive, solve data reseau. Affinity Load Balancing is in GridGain Affinity Load Balancing is to pass GridAffinityLoadBalancingSpi. Offer. Specification laying a plan is the difference of service data reseau and reseau of not applicable data. The graph of left expresses to did not use the executive technological process of GridGain, among them long-range database server is in charge of inquiring data, deliver next advocate call a server. Than the database the visit wants this kind fast, but as a result computation makes use a lot of needless flow. Right graph, used Gridgain. Whole and logistic computation and data visit conformity arrive this locality node. Assume a large number of logistic computation compare data alignment to want to the database deft (calculate in great quantities namely) , so network discharge will be the smallest. In addition, your computation can visit node 2 with node the data of 3. Below this kind of circumstance, gridGain calculates component for logic Jobs and right logistic computation way by have consideration in corresponding data service. In order to ensure all computation are calculated in this locality node. Now, when if data serves node,breaking down, your unsuccessful Jobs can transfer other node automatically, this kind is allow failure (data reseau and distributed cache offer this kind of way) . [Compositive GridGain did not realize Img][/img] data reseau cache of data high speed, but undertook with cache of existing data high speed or data reseau solution compositive. This makes the user can be used almost any distributed cache will implement the plan that he likes. For instance: GridGain offerred a JBoss Cache Data Partitioning Example to tell an user how to use Attinty Load Balancing. In fact, JBOSSCache did not provide the function of data partition. Because used the Attinity Load Balancing that the GridAffinityLoadBalancingSpi of GridGain offers to let JBoss Eamil ask for: Admin@pjprimer.com</font><br /></span></p><img src ="http://www.aygfsteel.com/wansong/aggbug/355912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wansong/" target="_blank">w@ns0ng</a> 2011-08-06 14:11 <a href="http://www.aygfsteel.com/wansong/articles/355912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">¶¨±ßÏØ</a>| <a href="http://" target="_blank">ÁéèµÏØ</a>| <a href="http://" target="_blank">ËàÄþÏØ</a>| <a href="http://" target="_blank">ÌìÈ«ÏØ</a>| <a href="http://" target="_blank">ºÎ÷ÊÐ</a>| <a href="http://" target="_blank">ÁúÓÎÏØ</a>| <a href="http://" target="_blank">ÇíÖÐ</a>| <a href="http://" target="_blank">¼àÀûÏØ</a>| <a href="http://" target="_blank">ÁùÅÌË®ÊÐ</a>| <a href="http://" target="_blank">ÃöÇåÏØ</a>| <a href="http://" target="_blank">ÖÐɽÊÐ</a>| <a href="http://" target="_blank">ÔÀÆÕºþÏØ</a>| <a href="http://" target="_blank">ÉÐÖ¾ÊÐ</a>| <a href="http://" target="_blank">½ðÏçÏØ</a>| <a href="http://" target="_blank">½·áÊÐ</a>| <a href="http://" target="_blank">ÉÇβÊÐ</a>| <a href="http://" target="_blank">ТÒåÊÐ</a>| <a href="http://" target="_blank">ÎÚÉóÆì</a>| <a href="http://" target="_blank">²×ÖÝÊÐ</a>| <a href="http://" target="_blank">Ð˳ÇÊÐ</a>| <a href="http://" target="_blank">ÆÁ¶«ÊÐ</a>| <a href="http://" target="_blank">¼ÎÓø¹ØÊÐ</a>| <a href="http://" target="_blank">Àö½­ÊÐ</a>| <a href="http://" target="_blank">ÖÎÏØ¡£</a>| <a href="http://" target="_blank">Îâ½­ÊÐ</a>| <a href="http://" target="_blank">¾°µÂÕòÊÐ</a>| <a href="http://" target="_blank">ÇåË®ºÓÏØ</a>| <a href="http://" target="_blank">ãÉÐÐÇø</a>| <a href="http://" target="_blank">ÁÙÎ÷ÏØ</a>| <a href="http://" target="_blank">Õý°²ÏØ</a>| <a href="http://" target="_blank">ÒåÂíÊÐ</a>| <a href="http://" target="_blank">Äþº£ÏØ</a>| <a href="http://" target="_blank">ÉÂÎ÷Ê¡</a>| <a href="http://" target="_blank">·±²ýÏØ</a>| <a href="http://" target="_blank">´Ó½­ÏØ</a>| <a href="http://" target="_blank">ÎåÕ¯ÏØ</a>| <a href="http://" target="_blank">³ØÖÝÊÐ</a>| <a href="http://" target="_blank">ºÍÆ½ÏØ</a>| <a href="http://" target="_blank">ÄÏͶÊÐ</a>| <a href="http://" target="_blank">ºÓ¶«Çø</a>| <a href="http://" target="_blank">ÓÀ´ºÏØ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>