ã€ã³ãã

PHP + Javaã ããããåçãæ®ããŸãã
ãæ¯æ¥ã³ãŒããæžãããšããèšäºã®ãã®è§£èª¬ã§ãç§ã¯ãããžã§ã¯ããããã«èŠããŠãæ¯æ¥1æéïŒé±æ«ãé€ãïŒãå²ãåœãŠããšèšããŸããã æè¿ãç§ã®ä»äºã¯ã€ã³ã¡ã¢ãªããŒã¿ã°ãªããïŒIMDGïŒãããŒã¿ãŠã§ã¢ããŠã¹ãšããŠäœ¿çšããåæ£Javaã¢ããªã±ãŒã·ã§ã³ã®äœæã«é¢é£ããŠãããç§ã®ãããžã§ã¯ãã¯ããã«é¢é£ããŠããŸãã
IMDGã®è©³çŽ°ã«ã€ããŠã¯ã以åã®èšäºïŒ 1ã2 ïŒãã芧ãã ããã ããããèŠããã«ãããã¯ããŒã«ãããªããžã§ã¯ãã®ã¯ã©ã¹ã¿ãŒåæ£ã¹ãã¬ãŒãžã§ããããã¹ãŠã®ããŒã¿ãã¡ã¢ãªã«ä¿æãããããããŒã¿ãžã®é«éã¢ã¯ã»ã¹ãå®çŸãããŸãã ã¯ã©ã¹ã¿ãŒããæœåºããã«ããŒã¿ãä¿åããã ãã§ãªããåŠçããããšãã§ããŸãã
ãŸããåå ·äœçãªIMDGã«ããŒã¿åŠççšã®ç¬èªã®ã€ã³ã¿ãŒãã§ã€ã¹ãããå ŽåãããŒã¿ã¢ã¯ã»ã¹ã€ã³ã¿ãŒãã§ã€ã¹ã¯éåžžããã·ã¥ããŒãã«ãšåäžã§ãã
ãã®èšäºã«ã€ããŠ
ã»ãšãã©ã®IMDGã¯Javaã§èšè¿°ãããJavaãC ++ãCïŒã®APIããµããŒãããŠããŸãããWebããã°ã©ãã³ã°èšèªïŒPythonãRubyãPHPïŒã®APIã¯ãµããŒããããŠããããã¯ã©ã€ã¢ã³ããèšè¿°ããããã®ãããã³ã«ã¯éåžžã«å¶éãããŠããŸãã ç§ãIMDGã®å€§è¡ãžã®æµžéã®äž»ãªé害ã§ãããšèããã®ã¯ãã®äºå®ã§ã-æãäžè¬çãªèšèªã®ãµããŒãã®æ¬ åŠã
IMDGã¡ãŒã«ãŒã¯ãŸã Webèšèªã®ãµããŒããæäŸããŠããªããããWebããã°ã©ããŒã¯ãJavaãµãŒããŒéçºè ã»ã©ç°¡åã«ã¢ããªã±ãŒã·ã§ã³ãã¹ã±ãŒãªã³ã°ããããšãã§ããŸããã ãããã£ãŠãIMDG JBoss InfinispanïŒRed HatãææããJBossäŒç€Ÿã¯Javaéçºè ã®ãµãŒã¯ã«ã§ã¯éåžžã«ããç¥ãããŠããŸãïŒãšããŠãç§ã¯åæ§ã®ããšãèªåã§è¡ã£ãŠãªãŒãã³ãœãŒã¹ã«å ¥ããããšã«ããŸããã ç§ã®ãããžã§ã¯ãã¯Sproot GridãšåŒã°ãããããŸã§ã®ãšããPHPã§ã®ã¿å©çšå¯èœã§ãããã³ãã¥ããã£ãèå³ãæã£ãŠããå Žåã¯ãRubyãšPythonãçµ±åããŸãã
ãã®èšäºã§ã¯ãã€ã³ã¡ã¢ãªããŒã¿ã°ãªãããšãSprootã°ãªããã®æ§æãå®è¡ã䜿çšæ¹æ³ã«ã€ããŠå床説æããŸãã
IMDGãå¿ èŠãªçç±
è² è·ã®é«ãå€ãã®ãããžã§ã¯ãã®ããã«ããã¯ã¯ãããŒã¿ãŠã§ã¢ããŠã¹ãç¹ã«ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ãã åŸæ¥ã®ããŒã¿ããŒã¹ã®æ¬ ç¹ãå æããããã«ãäž»ã«2ã€ã®ã¢ãããŒãã䜿çšãããŸãã
1ïŒãã£ãã·ã¥
ãã©ã¹ ïŒ
- é«éããŒã¿ã¢ã¯ã»ã¹
çæ ïŒ
- å®éã®ã¯ã©ã¹ã¿ãœãªã¥ãŒã·ã§ã³ã¯éåžžã«ãŸãã§ãããã»ãšãã©ã®å ŽåããŠãŒã¶ãŒã¯ãµãŒããŒéã§ã®ããŒã¿ã®åæ£ãåŠçããå¿ èŠããããããŒã¿ã«ã¢ã¯ã»ã¹ãããšãã¯ããã®ããŒã¿ããããµãŒããŒãç¹å®ããŸãã ãã®ãããªã·ã¹ãã ã§ã¯ããã¹ãŠã®ã¯ã©ã¹ã¿ãŒããŒãã®å æçãåäžã«ããããšã¯å°é£ã§ãã
- ããŒã¿ã®é¢é£æ§ãšã¢ã¯ã»ã¹é床ã®éã®åŠ¥åãå¿ èŠã§ãã ãã£ãã·ã¥å ã®ããŒã¿ãå€ããªãå¯èœæ§ãããããã£ãã·ã¥ããå€ãããŒã¿ãåé€ããŠããæ°ããããŒã¿ããã£ãã·ã¥ãããšãè¿œå ã®é 延ãšã·ã¹ãã è² è·ãçºçããŸã
- éåžžãããŒã¿ã¯ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããããã¡ã€ã³ãªããžã§ã¯ãã®åœ¢åŒã§ã¯ãªããBLOBãŸãã¯æååã®åœ¢åŒã§ãã£ãã·ã¥ãããŸãã ãã£ãã·ã¥ããååŸããããŒã¿ã䜿çšããå Žåãæåã«å¿ èŠãªãªããžã§ã¯ããæ§ç¯ããå¿ èŠããããŸã
2ïŒNoSQLãœãªã¥ãŒã·ã§ã³
ãã©ã¹ ïŒ
- åªããæ°Žå¹³ã¹ã±ãŒã©ããªãã£
çæ ïŒ
- ãã£ã¹ã¯ã䜿çšããå Žåãããã»ã©éããªãçµæ
- ç¹å®ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ã®äœæ¥ã«çŠç¹ãåœãŠã瀟å ãœãããŠã§ã¢ã®åäœãä¿èšŒããããšã¯ã»ãšãã©äžå¯èœã§ã
IMDGã¯ãäž¡æ¹ã®ã¢ãããŒãã®å©ç¹ãçµã¿åããããã®ã§ãããšåæã«ãäžèšã®ãœãªã¥ãŒã·ã§ã³ã«å¯ŸããŠããã€ãã®å©ç¹ããããŸãã
- åªããæ°Žå¹³ã¹ã±ãŒã©ããªãã£
- é«éã¢ã¯ã»ã¹
- çã®ã¯ã©ã¹ã¿ãªã³ã°ïŒä»»æã®ããŒãã«ããŒã¿ã眮ãããšãã§ããã¯ã©ã¹ã¿ãŒã®ä»»æã®ããŒãã«ããŒã¿ãèŠæ±ããããšãã§ããŸãïŒãããŒãéã®ããŒã¿ã®èªåãã©ã³ã·ã³ã°
- ã¯ã©ã¹ã¿ãŒã¯ãªããžã§ã¯ãã®ãã¹ãŠã®ãã£ãŒã«ããèªèããŠãããããããŒã ãã§ãªããã£ãŒã«ãå€ã§ããªããžã§ã¯ããæ€çŽ¢ã§ããŸã
- ãã£ãŒã«ããŸãã¯ãããã®çµã¿åããã«ãã£ãŠã€ã³ããã¯ã¹ãäœæããããšãå¯èœã§ã
- ãªãŒãã¹ã«ãŒããã³ã©ã€ãããã€ã³ãïŒãŸãã¯ã©ã€ãã¹ã«ãŒïŒã¡ã«ããºã ã䜿çšããå ŽåãããŒã¿ã¯ããŒã¿ããŒã¹ãšåæãããä»ã®ã¢ããªã±ãŒã·ã§ã³ïŒãŸãã¯ä»ã®ã¢ããªã±ãŒã·ã§ã³ã¢ãžã¥ãŒã«ïŒãåŸæ¥ã®ããŒã¿ããŒã¹ïŒMySQLãŸãã¯Mongo-é¢ä¿ãããŸããïŒã䜿çšãç¶ããããšãã§ããŸã
- åã®æ®µèœã®äœæ¥ã¹ããŒã ã䜿çšãããšããã£ãã·ã¥å ã®ããŒã¿ãæŽæ°ããåé¡ããªããªããŸãã ãããã¯åžžã«ããŒã¿ããŒã¹ãšåãã§ã
ããã2ã€ã®èå³æ·±ãã¡ã«ããºã ã詳ããèŠãŠã¿ãŸãããïŒãªãŒãã¹ã«ãŒãšã©ã€ãããã€ã³ãïŒã©ã€ãã¹ã«ãŒïŒ
ãªãŒãã¹ã«ãŒ
ãªãŒãã¹ã«ãŒã¯ããªã¯ãšã¹ãäžã«ããŒã¿ããŒã¹ããããŒã¿ããã«ã§ããã¡ã«ããºã ã§ãã
ããšãã°ããã£ãã·ã¥ããã㌠' key 'ã䜿çšããŠãªããžã§ã¯ããååŸããã¯ã©ã¹ã¿ãŒã«ãã®ãããªããŒãæã€ãªããžã§ã¯ãããªãå Žåããã®ãªããžã§ã¯ãã¯ããŒã¿ããŒã¹ïŒãŸãã¯ãã®ä»ã®æ°žç¶ã¹ãã¬ãŒãžïŒããèªåçã«èªã¿åããããã£ãã·ã¥ã«å ¥ããããŸããªã¯ãšã¹ããžã®å¿çãšããŠè¿ãããŸãã
ããŒã¿ããŒã¹ã«ãã®ãããªãªããžã§ã¯ãããªãå ŽåãnullããŠãŒã¶ãŒã«è¿ãããŸãã
åœç¶ãå¿ èŠãªSQLã¯ãšãªãšãã¯ãšãªçµæã®ãªããžã§ã¯ããžã®ãããã³ã°ã¯ããŠãŒã¶ãŒã®è©ã«ããã£ãŠããŸãã
ã©ã€ãããã€ã³ãïŒã©ã€ãã¹ã«ãŒïŒ
æžã蟌ã¿é床ãæé©åããããã«ãããŒã¿ããŒã¹ã§ã¯ãªããçŽæ¥ãã£ãã·ã¥ã«æžã蟌ãããšãã§ããŸãã äžèŠå¥åŠã«èãããŸãããå®éã«ã¯ããŒã¿ããŒã¹ã®è² è·ã軜æžããã¢ããªã±ãŒã·ã§ã³ã®é床ãåäžãããŸãã
次ã®ããã«ãªããŸãã
- ãŠãŒã¶ãŒã¯cache.putïŒkeyãvalueïŒãåŒã³åºããŸãããªããžã§ã¯ã ' value 'ã¯ã㌠' key 'ã«ãã£ãŠãã£ãã·ã¥ã«ä¿åãããŸã
- ãã®ã€ãã³ãã®ãã³ãã©ãŒã¯ã¯ã©ã¹ã¿ãŒã§ããªã¬ãŒãããsql-requestã¯ããŒã¿ããŒã¹ã«ããŒã¿ãæžã蟌ãããã«ã³ã³ãã€ã«ããããã®å®è¡
- 管çããŠãŒã¶ãŒã«è¿ãããŸã
ãã®çžäºäœçšã¹ããŒã ã¯ã©ã€ãã¹ã«ãŒãšåŒã°ããŸã ã ã¯ã©ã¹ã¿ãŒå ã®æŽæ°ãšåæã«ããŒã¿ããŒã¹ãšæŽæ°ãåæã§ããŸãã ã芧ã®ãšããããã®ã¢ãããŒãã¯ããŒã¿ã®æžã蟌ã¿ããã»ã¹ãé«éåããŸãããããã£ãã·ã¥ãšããŒã¿ããŒã¹éã®ããŒã¿ã®äžè²«æ§ãä¿èšŒããŸãã ãŸãããã®ã¿ã€ãã®ã¬ã³ãŒãã§ã¯ãããŒã¿ã¯ãã£ãã·ã¥ã«éãããŸããã€ãŸããããããžã®èªã¿åãã¢ã¯ã»ã¹ã¯ããŒã¿ããŒã¹èŠæ±ãããé«ããªããŸãã
ããŒã¿ããŒã¹ãžã®åææžã蟌ã¿ãé倧ãªæ¡ä»¶ã§ã¯ãªãå Žåãããäžè¬çãªåŸæžãã¡ã«ããºã ã䜿çšããŠãããŒã¿ããŒã¹ïŒä»ã®ãµãŒãã¹ïŒãžã®ä¿çäžã®æžã蟌ã¿ãæŽçã§ããŸãã ãã®ãããªãã®ïŒ
- ãŠãŒã¶ãŒã¯cache.putïŒkeyãvalueïŒãåŒã³åºããŸãããªããžã§ã¯ã ' value 'ã¯ã㌠' key 'ã«ãã£ãŠãã£ãã·ã¥ã«ä¿åãããŸã
- 管çããŠãŒã¶ãŒã«è¿ãããŸã
- ãã°ãããããšïŒãŠãŒã¶ãŒèšå®å¯èœïŒããã£ãã·ã¥æžã蟌ã¿ã€ãã³ããã³ãã©ãŒãèµ·åããŸã
- ãã³ãã©ãŒã¯ãåã®ãã³ãã©ãŒä»¥éã«å€æŽããããªããžã§ã¯ãã®ããã¯å šäœãåéããŸã
- ããã¯ã¯èšé²ã®ããã«ããŒã¿ããŒã¹ã«éä¿¡ãããŸã
åŸæžãã䜿çšããå ŽåããŠãŒã¶ãŒã¯æŽæ°ãããŒã¿ããŒã¹ã«å°éãããŸã§åŸ æ©ãããããŒã¿ããã£ãã·ã¥ã«å ¥ããã ããªã®ã§ãæžã蟌ã¿æäœã¯å€§å¹ ã«å éãããŸããåããªããžã§ã¯ãã®ãã¹ãŠã®æŽæ°ã¯ãããŒã¿ããŒã¹ãžã®æžã蟌ã¿äžã«1ã€ã®çµææŽæ°ã«ããŒãžãããŸãããŒã¿ããŒã¹ãµãŒããŒã®èªã¿èŸŒã¿ã«ããã©ã¹ã®åœ±é¿ãäžããããã¯
ãããã£ãŠã3ç§ããšïŒ2åãŸãã¯50ããªç§ïŒã«ãã¹ãŠã®ããŒã¿æŽæ°ãããŒã¿ããŒã¹ã«éåæçã«éä¿¡ãããããã«IMDGãæ§æã§ããŸãã
ããã¯Sprootã°ãªããã«ãããŸããïŒ
æåã®ããŒãžã§ã³ã§ã¯ãäžèšã§èª¬æãããã¹ãŠãããã«å®è£ ããªãããšã«ããŸããã æéãããããŸããããŠãŒã¶ãŒããããã«ãã£ãŒãããã¯ãåŸãããšæããŸãã
ãããã£ãŠãSproot Grid 1.0.0ã§å©çšå¯èœãªãã®ïŒ
- ã¯ã©ã¹ã¿ãŒããŒãéã§ããŒã¿éã®ãã©ã³ã¹ããšãæ°Žå¹³ã¹ã±ãŒã©ããªãã£ãšå ¬å¹³ãªã¯ã©ã¹ã¿ãªã³ã°
- çµã¿èŸŒã¿ã®PHPã¿ã€ããšãã¡ã€ã³ãªããžã§ã¯ãã®äž¡æ¹ãä¿åããæ©èœ
- ãã£ãŒã«ãããšã«ã€ã³ããã¯ã¹ãäœæãããã®ã€ã³ããã¯ã¹ã§æ€çŽ¢ããæ©èœ
ã¯ããã«
ãŸããããããé åžããã±ãŒãžãããŠã³ããŒããã解åããå¿ èŠããããŸãã
å¿ èŠãªãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ãã
JBoss Infinispanã¯Javaã¢ããªã±ãŒã·ã§ã³ã§ãããããJavaãšPHPã®éã®å¯Ÿè©±æ¹æ³ãéžæããå¿ èŠããããŸããã Apache Thriftã¯ãã®ãããªãªã³ã¯ãšããŠéžæãããŸããïŒãããã³ã«ã¯ãCassandraã®ããŒãéã®ã·ãªã¢ã«åãšãã©ã³ã¹ããŒãçšã«éçºãããŸããïŒããããã£ãŠãSproot Gridãã·ã¹ãã ã§åäœããã«ã¯ã以äžãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
- Java
- Thrift-æ¬çªç°å¢ã§ã®ã€ã³ã¹ããŒã«ã¯äžèŠã§ããã€ã³ã¹ããŒã«ã¯éçºãã·ã³ã§ã®ã¿å¿ èŠã§ãïŒè©³çŽ°ã«ã€ããŠã¯ã ã³ãŒãã®çæãåç §ããŠãã ããïŒã æ¬çªç°å¢ã«ãããã€ããå ŽåãThriftã©ã€ãã©ãªã®.phpãã¡ã€ã«ãšjavaã©ã€ãã©ãªã.jar圢åŒã§ã³ããŒããã ãã§ã
- PHPïŒãŸã ã€ã³ã¹ããŒã«ãããŠããªãå ŽåïŒ
æ§æ
æ§æãã¡ã€ã«ã¯$ deploymentFolder / sproot-grid / config / definition.xmlã«ããå¿ èŠããããŸããããã§ãdeploymentFolderã¯ãã£ã¹ããªãã¥ãŒã·ã§ã³ã解åãããã£ã¬ã¯ããªãžã®ãã¹ã§ã
èšå®äŸïŒ
<?xml version="1.0" encoding="UTF-8"?> <sproot-config> <dataTypes> <dataType type="some\package\User" cache-name="user-cache"> <field name="id" type="integer" /> <field name="name" type="string" indexed="true" /> <field name="cars" type="array" key-type="string" value-type="some\package\Car"/> </dataType> <dataType type="some\package\Car" cache-name="car-cache"> <field name="model" type="string" /> <field name="isNew" type="boolean" /> </dataType> <dataType type="string" cache-name="string-cache"/> <dataType type="array" value-type="some\package\Car" cache-name="list-car-cache"/> </dataTypes> <cluster name="Sproot"> <multicast host="224.3.7.0" port="12345"/> <caches> <cache name="user-cache" backup-count="1"> <eviction max-objects="1000" lifespan="2000" max-idle-time="5000" wakeup-interval="10000" /> </cache> <cache name="car-cache" backup-count="1" /> <cache name="string-cache" backup-count="1" /> <cache name="list-car-cache" backup-count="1" /> </caches> <nodes> <node id="1" role="service" thrift-port="34567" minThreads="5" maxThreads="100" /> <node id="2" role="storage-only" /> </nodes> </cluster> </sproot-config>
ãããžã§ã¯ãwikiã§æ§æã«ã€ããŠè©³ããèªãããšãã§ããŸãã
èšå®ãããããããã«ããªããžã§ã¯ãã®ã¿ã€ãããšã«ãã£ãã·ã¥ã®ååãæžã蟌ãããšãã§ããŸãïŒãŸãã¯ããã®ãããªãªããžã§ã¯ããå¥ã®ãã£ãã·ã¥ã«ä¿åããããªãå Žåã¯ç»é²ã§ããŸããïŒã ãã£ãã·ã¥ã¯ã¯ã©ã¹ã¿ãŒå šäœã«åæ£ãããããã·ã¥ããŒãã«ã§ãããã¯ã©ã¹ã¿ãŒå ã«ã¯ã§ããã ãå€ãã®ãã£ãã·ã¥ãååšããå¯èœæ§ããããŸãã 1ã€ã®ãã£ãã·ã¥ã«ä¿åã§ããã®ã¯ãåãã¿ã€ãã®ãªããžã§ã¯ãã®ã¿ã§ãã
ãã¹ãŠã®ãã£ãã·ã¥ã«ã€ããŠã¯ã<caches />ã»ã¯ã·ã§ã³ã§èª¬æããå¿ èŠããããŸãã
ãã®æ§æã«ã¯ãã¯ã©ã¹ã¿ãŒæ§é ãšãã®äžã«ä¿åããããã£ãã·ã¥ã®ãªã¹ãã説æããããã®åå¥ã®ã»ã¯ã·ã§ã³ããããŸãã
<datatypes /> -ã¯ã©ã¹ã¿ãŒã«ä¿åãããã¿ã€ãã®èª¬æã çµã¿èŸŒã¿ã®PHPã¿ã€ããšã«ã¹ã¿ã ã¿ã€ãã®äž¡æ¹ã䜿çšã§ããŸãã ã芧ã®ãšããããªããžã§ã¯ãã®çš®é¡ããšã«ãã£ãã·ã¥ã®ååãæžã蟌ãããšãã§ããŸãïŒãŸãã¯ããã®ãããªãªããžã§ã¯ããå¥ã®ãã£ãã·ã¥ã«ä¿åããããªãå Žåã¯ç»é²ã§ããŸããïŒ
<cluster /> -ã¯ã©ã¹ã¿ãŒæ§é ã®èª¬æãšãããã«ä¿åããããã£ãã·ã¥ã®ãªã¹ãã
<caches />ã¯ãã£ãã·ã¥ã«ã€ããŠèª¬æããŸãã ãã£ãã·ã¥åã¯äžæã§ããå¿ èŠããããŸããbackup-countãã©ã¡ãŒã¿ãŒã¯ãããŒã¿ã倱ãããšãªã倱ãããšãã§ããã¯ã©ã¹ã¿ãŒå ã®ããŒãæ°ã決å®ããŸãã ããã¯ã¢ããã«ãŠã³ããéèŠã«ãªãã»ã©ãã¯ã©ã¹ã¿ãŒã®ä¿¡é Œæ§ã¯é«ãŸããŸãããæ¶è²»ããã¡ã¢ãªãå¢ããŸãã ãšãã¯ã·ã§ã³ïŒãã£ãã·ã¥ããã®ãªããžã§ã¯ãã®èªååé€ïŒãæ§æããããšãã§ããŸããããã«ã€ããŠã¯ãWikiããŒãžã§è©³ãã説æããŸãã
<multicast />ã¯ãã¯ã©ã¹ã¿ãŒã®æ§ç¯ã«äœ¿çšããããã«ããã£ã¹ãã¢ãã¬ã¹ãå®çŸ©ããŸãã ãåç¥ã®ããã«ããã«ããã£ã¹ãã§ã¯ã¯ã©ã¹Dãããã¯ãŒã¯ã®ã¿ãå©çšå¯èœã§ãïŒ224.0.0.0-239.255.255.255ïŒ
<nodes />ã¯ãã¯ã©ã¹ã¿ãŒããŒãã®æ°ãšçš®é¡ã瀺ããŸãã çŸåšãããŒãã«ã¯2çš®é¡ãããããŸããïŒ ã¹ãã¬ãŒãžã®ã¿ -ããŒã¿ã¹ãã¬ãŒãžãšå éšãµãŒãã¹ãªã¯ãšã¹ãã®ã¿ãåŠçããŸã-ããŒã¿ãä¿åããã ãã§ãªããå€éšãªã¯ãšã¹ããåŠçããããããã®ã¿ã€ãã®ããŒãã§ã¯ãPHPã¯ã©ã€ã¢ã³ãããã®ãªã¯ãšã¹ããåä¿¡ããããŒããæå®ããå¿ èŠããããŸãã
ã¢ããªã±ãŒã·ã§ã³ãšçµ±åããããã®ã³ãŒãçæ
å¹ççãªæäœã®ããã«ãã¯ã©ã¹ã¿ãŒã¯ã¢ããªã±ãŒã·ã§ã³ïŒãã¡ã€ã³ã¢ãã«ïŒã«åºæã®ã³ãŒããçæãããã®Javaéšåãã³ã³ãã€ã«ããå¿ èŠããããŸãã å¿ èŠãªãã¹ãŠã®ã³ãŒããçæããŠã³ã³ãã€ã«ããã«ã¯ã次ã®ããšãè¡ãå¿ èŠããããŸãã
1) cd $deploymentFolder/sproot-grid/scripts 2) build.sh(or build.cmd)
$ deploymentFolderã¯ããã£ã¹ããªãã¥ãŒã·ã§ã³ã解åãããã£ã¬ã¯ããªã§ã
ã³ãŒãçæã¯ããã¡ã€ã³ã¢ãã«ã®èª¬æãå€æŽãããå Žåã«ã®ã¿è¡ãå¿ èŠããããŸãã ã¢ãã«ãå®å®ããŠããå Žåã¯ããã®æäœã1åã ãå®è¡ããå¿ èŠããããŸãããã®åŸãçæãããphpãœãŒã¹ãã³ãŒããªããžããªã«ä¿åããJavaããŒããã©ã€ãã©ãªã«ã³ã³ãã€ã«ããŸãã ã€ãŸã ã¢ããªã±ãŒã·ã§ã³ããããã€ããåã«äœãçæããå¿ èŠã¯ãããŸãããããã¯éçºæ®µéã§1åã ãè¡ãããŸãã
ã³ãŒãçæãå®äºãããã$ deploymentFolder / sproot-grid / php / orgããã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒãã«.phpãã¡ã€ã«ãå«ããã©ã«ããŒãã³ããŒããŸã
æã¡äžã
1) cd $deploymentFolder/sproot-grid/scripts 2) run.sh(run.cmd) nodeId memorySize
nodeIdã¯ãæ§æãã¡ã€ã«å
ã®ã»ã¯ã·ã§ã³ã®idå±æ§ã®å€ã§ãã
memorySize-ããŒãã«å²ãåœãŠãã¡ã¢ãªã®éïŒMBãŸãã¯GBåäœïŒ
äŸïŒ
ãŸãã¯run.sh 1 256m
run.cmd 2 2g
ã¢ããªã±ãŒã·ã§ã³å ã§äœ¿çšãã
ã³ãŒãçæã®ã¹ãããã§ã¯ãã¢ããªã±ãŒã·ã§ã³ãšçµ±åããããã«å¿ èŠãªãã¹ãŠã®ãã®ãæã«å ¥ããŸããã ãã®ã³ãŒããã¢ããªã±ãŒã·ã§ã³ã«ã³ããŒããã ãã§ãããã®ããã$ deploymentFolder / sproot-grid / phpãã©ã«ããŒããã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒãã«ãã¹ãŠãã³ããŒããŸã
ããã ãã§ãïŒ ããã§ãã¢ããªã±ãŒã·ã§ã³ããã¯ã©ã¹ã¿ãŒã䜿çšã§ããŸãã
ã³ãŒãäŸïŒ
<?php require_once 'org/sproot_grid/SprootClient.php'; require_once 'some/package/User.php'; use org\sproot_grid\SprootClient; use some\package\User; $client = new SprootClient('localhost', 12345); // 'service' echo $client -> cacheSize('user-cache'); $user = new User(); $user->setName('SomeUser'); $user->setId(1234); $client->put('user-cache', '1234', $user); echo $client -> cacheSize('user-cache'); ?>
APIã®èª¬æã¯ããã«ãããŸãããèŠããã«ãAPIã¯æ¬¡ã®ããã«ãªã£ãŠããŸãã
- getïŒ$ cacheNameã$ keyïŒ
- getAllïŒ$ cacheNameãé å$ããŒïŒ
- cacheSizeïŒ$ cacheNameïŒ
- cacheKeySetïŒ$ cacheNameïŒ
- containsKeyïŒ$ cacheNameã$ keyïŒ
- æ€çŽ¢ïŒ$ cacheNameã$ fieldNameã$ searchWordïŒ
- åé€ïŒ$ cacheNameã$ããŒïŒ
- removeAllïŒ$ cacheNameãé å$ããŒïŒ
- putïŒ$ cacheNameã$ keyã$ domainObjectïŒ
- putAllïŒ$ cacheNameãé å$ domainObjectsïŒ
- clearCacheïŒ$ cacheNameïŒ
ãããã«
Sproot Gridã¯MITã©ã€ã»ã³ã¹ã®äžã§å ¬éãããŠããŸãã
ãœãŒã¹ã³ãŒã
Wiki
é åž