w )PXEJEXFEFTJHOUIFNPEVMBSNPOPMJUIT w )PXBSFUIFNPEVMBSNPOPMJUITXPSLJOHTPGBS w 8IBUJTUIFOFYUTUFQ ຊͷΞδΣϯμΞʔΩςΫνϟͷͳͷͰɺ৫υϝΠϯྖҬʹ͍ͭͯઆ໌͠ͳ͕Β ϞδϡϥϞϊϦεʹ͍͓͍ͭͯͤͯͨͩ͘͞ɻ
BVUIFOUJDBUJPOBTBDPNNPOCBTJT5IFZBSFUJHIUMZDPVQMFEPWFSUJNFXJUIPVU DPOTUSBJOUT w *UTEJ⒏DVMUUPWFSJGZJGJUTBHPPENPEFMUPUJHIUMZDPVQMF"NPOPMJUIJDXPVMECFBO VOFOGPSDFBCMFDPOTUSBJOUBOEDBOPOMZCFDFOTPSFECZSFWJFX w $POUJOVPVTTFBSDIGPSUIFSJHIUEPNBJOEFTJHOBOEDPOUFYUCPVOEBSJFTBSF UIFNPTUJNQPSUJOPSEFSUPEFMJWFSDPOUJOVPVTJNQSPWFNFOU ͳͥɺΞʔΩςΫνϟͷਐԽ͕ٻΊΒΕ͔ͨɻҟͳΔίϯςΩετΛѻ͏υϝΠϯ͕૿͑ͨɻίϯςΩετڥքΛ ҙࣝͨ͠υϝΠϯઃܭ͕ܧଓతͳվળͷσϦόϦʔʹ͓͍ͯඇৗʹॏཁͰ͋Δͱߟ͑Δɻ
*NQSPWFE1SPEVDUJWJUZBOE4QFFE w 5IJOHTUPDPOTJEFSXJUI.JDSPTFSWJDFTGPSFYBNQMF w JOUFSTFSWJDFDPNNVOJDBUJPO EJTUSJCVUFEPSDPNQFOTBUJOHUSBOTBDUJPO NPOJUPSJOHɺ$*$% σϓϩΠͷಠཱੑίϯςΩετڥքͷڧ੍తͳҙ͚ࣝͰ͖Δ͕ɺߟྀ͠ͳ͚ΕͳΒͳ͍͕ଟ͍
inter-service communication. The protocol buffer's definition is placed in a shared SecondaryAdapter so that it can be referenced from all contexts. Secondary Adapter UseCase Domain Primary Adapter Shared Primary Adapter Shared SecondaryAdapter Shared Library Shared Domain )PX%JE8F%FTJHO*U
boundaries of each context. the Implementation is injected in the gRPC adapter for each context into an auto-generated RemoteFunction in the Shared SecondaryAdapter. Secondary Adapter UseCase Domain Http Shared Http Shared Secondary Adapter Shared Library Shared Domain Batch SharedBatch Kinesis Shared Kinesis gRPC Shared gRPC Monolith Adapter )PX%JE8F%FTJHO*U
w 4DBMFCBTFJTTUJMMHPJOHUPCFBUSJBMBOEFSSPSQSPDFTTPGEPNBJOEFTJHO w *OTPNFDBTFT XFNBZSFWFSUCBDLUP.POPMJUIBHBJO w 8FXBOUUPDBSWFPVUUIFTFSWJDFTUIBUIBWFBTJHOJpDBOUCFOFpUPG NJDSPTFSWJDJOH υϝΠϯઃܭͷࢼߦࡨޡΛ܁Γฦ͢͜ͱʹ͓͍ͯඇৗʹ༗ޮͳखஈͰ͋Δ͕ɺ߹ʹΑͬͯϞϊϦεʹ͢͜ͱ ߟ͑ΒΕΔɻ͏·͘ਐΊΒΕɺ৫͍͚ͯ͠ɺϚΠΫϩαʔϏεԽʹൺֱత༰қʹਐΊΒΕΔͷͰͳ͍͔ɻ