Persimmonã¯ã¦ããããã¹ããåæ£å®è¡ãã夢ãã¿ãã?
- ã¿ããããããªãã
ã©ããããã¨ï¼
ããã¤ã¾ãã§åé¡ã説æããã¨
- Persimmonã¨ããF#ç¨ãã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ãåå¨ãã
- Persimmonã§ãRRRSpecãtest_queueã¿ããã«åæ£å®è¡ããããï¼
- Persimmonã§ã®ãã¹ãå®è¡ã®å
¥åã¯dll
- ã¢ã»ã³ããªãã¼ããã¦
- ã¢ã»ã³ããªã«å ¨ã¯ã©ã¹ãã¢ã¸ã¥ã¼ã«
- åç´ã«è»¢éããã ãã ã¨dllããã¼ãã§ããã«æ»ã¬
- ã©ãããã
- æ¡1. ãã¹ããªãã¸ã§ã¯ããã·ãªã¢ã©ã¤ãºããï¼
- ãããããã¹ãã¨ãã"é¢æ°"ãã·ãªã¢ã©ã¤ãºã§ããã®ãï¼
- æ¡2. åå®è¡ãµã¼ãã«ããã¸ã§ã¯ãã³ã¼ããsyncãã¦ã³ã³ãã¤ã«ãä¸é¨å®è¡
- åãã³ã³ãã¤ã«ãè¤æ°ãµã¼ãã§è¡ããªããã°ãªããªã
ã¨ãã話ã
ä»åæ¡ç¨ãããã®: æ¡1
ã³ã¼ãã¨ãããé¡æã¨ããã
https://github.com/persimmon-projects/Persimmon.Ripe/tree/fee25ceabae567cb21e110fe2df2b4f07b72286c
ãã¹ããªãã¸ã§ã¯ãã®ã·ãªã¢ã©ã¤ãºãassemblyãã¼ã
å¥ãµã¼ãã§ãã¹ããå®è¡ããããã«ã¯ããã¹ããªãã¸ã§ã¯ãã«é¢é£ããassemblyããã¼ãããå¿ è¦ãããã ä»®ã«ãã¼ãããªãã§ãã¹ããå®è¡ããå ´åã¯ä¾å¤æãã¦ãã¹ãã«å¤±æããã
ãããã©ããã£ã¦ãã¼ããããããã¨ãã話ã®æ®µéã§Vagabondã®åºçªã¨ãªãã
https://github.com/nessos/Vagabond
ãã®ã©ã¤ãã©ãªã¯ãªã¢ã¼ãç°å¢ã§Assemblyããã¼ããããè²ã ã§ããåªããã®ã§ããã ã¾ããéä¿¡ãããã¨ãæ³å®ãã¦FsPicklerã¨ããã·ãªã¢ã©ã¤ã¶*1ãç¨ãã¦ãªãã¸ã§ã¯ããã·ãªã¢ã©ã¤ãºããã
ç¾æç¹ã§ã®Persimmn.Ripeã¯ãVagabondã使ã£ã¦Assemblyããã¹ããRabbitMQè¶ãã«ããåãããã©ã¤ãã©ãªãæä¾ãã¦ããã
- å
¥åã®dll群ããã¼ããã¦ãã¹ããªãã¸ã§ã¯ãä¸è¦§ãåå¾ãã
- ããã¾ã§ã¯é常ã®Persimmonã¨åã
- ãã¹ããªãã¸ã§ã¯ãã«é¢é£ããAssemblyãVagabondã§åå¾ãRabbitMQã«æãã
- ãµã¼ãå´ã¯ãããã¼ã«åãåã£ã¦Assemblyããã¼ããã
- ãã¹ããªãã¸ã§ã¯ããã·ãªã¢ã©ã¤ãºãã¦RabbitMQã«æãã
- ã¤ã³ã¿ã¼ãã§ã¼ã¹ã ã¨ãã£ã¹ãã«å¤±æãã¦åå ãããããããªãã£ãã®ã§
TextWriter -> obj
ã§ããåããã¦ã⦠- TextWriterã渡ãçç±ã¯å®è¡ãããã¹ãåãåºåããããã
- ã¤ã³ã¿ã¼ãã§ã¼ã¹ã ã¨ãã£ã¹ãã«å¤±æãã¦åå ãããããããªãã£ãã®ã§
- åãµã¼ããã¡ãã»ã¼ã¸ãconsumeãã¦ãã¹ãå®è¡ãçµæãRabbitMQã«æãã
- 失æãããã¨ã©ã¼ãã¡ãã»ã¼ã¸ã¨ãã¦ãªãã
- å
¨ä½çµ±æ¬è
ããã¹ãçµæãåéãã¦ãå
¨é¨åå¾ã§ãããçµæ表示
- ã¨ã©ã¼ã ã£ããè¦å®åæ°ãªãã©ã¤ãããã§ããã¡ãªãèªåã§å®è¡ããã¨ãããã£ã¦ã
ãã®æ¹å¼ã®ãã¢
- Vagabondãè¡ã£ã¦ããAssemblyã®è§£æã¨ãã¼ã
- FsPicklerãè¡ã£ã¦ãããIL Emitãåæã¨ããã·ãªã¢ã©ã¤ãº
ãã®äºã¤ã®ãããªãã¨ãã§ããã°ä»ã®ä¸éè¨èªãæã¤ãã¤ã§ãããã¨ãªãã¨ãã§ãããã
課é¡
Vagabondã対å¿ã§ããç¯å²ã§ããå®è¡ã§ããªãã å®éãRabbitMQã§ã¯ãªãAzure Service Busã«åãæ¿ãã¦è©¦ãã¦ã¿ããã¨ããã¨ãããVagabondãAssemblyããã¼ãã§ããæ»ã¬ã¨ããç¾è±¡ãçºçããã
æ¡2ãæ¡ç¨ããªãã£ãçç±
- ã³ã³ãã¤ã«ããç°å¢æ´ããã®ã¤ãããªãï¼
- å ¨ä½çµ±æ¬è ãWorkerã¨ãªããµã¼ã群ãç¥ããªãã¨ãããªãã¨ãããããé¢å
- ããã¸ã§ã¯ããã¡ã¤ã«ã®syncã ãã§ãªã½ã¼ã¹ãã£ã¦ãããã
ä»å¾ã®äºå®ã¨ã
- Vagabondã§ãã¼ãã§ããAssemblyãå¢ãããªãã試ã
- AMQP以å¤ã®ãã®ã«ã対å¿ããã
- ä¾ãã°ã¢ã¯ã¿ã¼ã¨ã
- ã¡ãã£ã¨æ°ã«ãªã£ã¦ããRubyã®test_queueããã«ã¤ãã¦èª¿ã¹ã
- Scalaã§ä¼¼ããããªãã¨ãã§ããªããèãã
*1:ãã£ã¡ãnessos製