Microservice in practice with Seneca js Michele Capra
>> YOUR LINK HERE: ___ http://youtube.com/watch?v=JTSxXwDO-Lg
Microservice architecture is rapidly changing the way we develop our applications. Small, highly decoupled software component are the foundation of this architecture. But hey that’s the theory. Now how can we apply it in our day to day job? How can we structure our application to unleash the benefit of a microservice architecture? Come to my talk and we’ll see an introduction to a real microservice implementation using Seneca.js toolkit. By leveraging plugins, commands and other features available in Seneca.js we’ll see how we can build a microservice application.","styleRuns":[{"startIndex":0,"length":570,"styleRunExtensions":{"styleRunColorMapExtension":{"colorMap":[{"key":"USER_INTERFACE_THEME_DARK","value":4294967295},{"key":"USER_INTERFACE_THEME_LIGHT","value":4279440147}]}},"fontFamilyName":"Roboto"}]},"headerRuns":[{"startIndex":0,"length":570,"headerMapping":"ATTRIBUTED_STRING_HEADER_MAPPING_UNSPECIFIED"}]}},{"itemSectionRenderer":{"contents":[{"continuationItemRenderer":{"trigger":"CONTINUATION_TRIGGER_ON_ITEM_SHOWN","continuationEndpoint":{"clickTrackingParams":"CMYCELsvGAIiEwjRjvfJoZaKAxXp_0IFHYySOUw=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/next"}},"continuationCommand":{"token":"Eg0SC0pUU3hYd0RPLUxnGAYyJSIRIgtKVFN4WHdETy1MZzAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D","request":"CONTINUATION_REQUEST_TYPE_WATCH_NEXT"}}}}],"trackingParams":"CMYCELsvGAIiEwjRjvfJoZaKAxXp_0IFHYySOUw=","sectionIdentifier":"comment-item-section","targetId":"comments-section"}}],"trackingParams":"CMUCELovIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},"secondaryResults":{"secondaryResults":{"results":[{"compactVideoRenderer":{"videoId":"9VC6YeQeZVk","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/9VC6YeQeZVk/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGMgZSg4MA8= rs=AOn4CLDHAczfdlQ8YWpUvgYJsIRpwXOVkg","width":168,"height":94},{"url":"https://i.ytimg.com/vi/9VC6YeQeZVk/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhjIGUoODAP rs=AOn4CLC5H7OiOcCHISTpqZHn3hDvecWwSw","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Solving service discovery: Node.js microservices without a registry - Richard Rodger door Nearform 7.045 weergaven 8 jaar geleden 26 minuten"}},"simpleText":"Solving service discovery: Node.js microservices without a registry - Richard Rodger"},"longBylineText":{"runs":[{"text":"Nearform","navigationEndpoint":{"clickTrackingParams":"CL4CEKQwGAAiEwjRjvfJoZaKAxXp_0IFHYySOUwyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@Nearform","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCp2Tsbjd3P8itnBHUNHi82A","canonicalBaseUrl":"/@Nearform"}}}]},"publishedTimeText":{"simpleText":"8 jaar geleden"},"viewCountText":{"simpleText":"7.045 weergaven"},"lengthText":{"accessibility":{"accessibilityData":{"label":"26 minuten en 32 seconden"}},"simpleText":"26:32"},"navigationEndpoint":{"clickTrackingParams":"CL4CEKQwGAAiEwjRjvfJoZaKAxXp_0IFHYySOUwyB3JlbGF0ZWRIuPG7hvCrrJolmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=9VC6YeQeZVk","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"9VC6YeQeZVk","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr5---sn-4g5ednsl.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=f550ba61e41e6559 ip=217.12.208.238 mt=1733594885 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"Nearform","navigationEndpoint":{"clickTrackingParams":"CL4CEKQwGAAiEwjRjvfJoZaKAxXp_0IFHYySOUwyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@Nearform","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCp2Tsbjd3P8itnBHUNHi82A","canonicalBaseUrl":"/@Nearform"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/sge_VOxcUxD1D1G3xFIsvZK4J51ZSULqwNKoHT8ki2ADt_QTJGXpT_Qt9ErDZF4L8jmL_BzEvzg=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CL4CEKQwGAAiEwjRjvfJoZaKAxXp_0IFHYySOUxA2cr5oJ7Mrqj1AQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"7 duizend weergaven"}},"simpleText":"7K weergaven"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Toevoegen aan wachtrij"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CMMCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CMMCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"9VC6YeQeZVk","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CMMCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["9VC6YeQeZVk"],"params":"CAQ%3D"}},"videoIds":["9VC6YeQeZVk"]}},{"clickTrackingParams":"CMMCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Toegevoegd aan wachtrij"},"trackingParams":"CMQCELlqIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},"popupType":"TOAST"}}]}},"trackingParams":"CMMCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"menuServiceItemDownloadRenderer":{"serviceEndpoint":{"clickTrackingParams":"CMICENGqBRgHIhMI0Y73yaGWigMV6f9CBR2MkjlM","offlineVideoEndpoint":{"videoId":"9VC6YeQeZVk","onAddCommand":{"clickTrackingParams":"CMICENGqBRgHIhMI0Y73yaGWigMV6f9CBR2MkjlM","getDownloadActionCommand":{"videoId":"9VC6YeQeZVk","params":"CAIQAA%3D%3D"}}}},"trackingParams":"CMICENGqBRgHIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Delen"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CL4CEKQwGAAiEwjRjvfJoZaKAxXp_0IFHYySOUw=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"Cgs5VkM2WWVRZVpWaw%3D%3D","commands":[{"clickTrackingParams":"CL4CEKQwGAAiEwjRjvfJoZaKAxXp_0IFHYySOUw=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CMECEI5iIhMI0Y73yaGWigMV6f9CBR2MkjlM","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CL4CEKQwGAAiEwjRjvfJoZaKAxXp_0IFHYySOUw=","hasSeparator":true}}],"trackingParams":"CL4CEKQwGAAiEwjRjvfJoZaKAxXp_0IFHYySOUw=","accessibility":{"accessibilityData":{"label":"Actiemenu"}},"targetId":"watch-related-menu-button"}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"26 minuten en 32 seconden"}},"simpleText":"26:32"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Later bekijken","toggledTooltip":"Toegevoegd","untoggledServiceEndpoint":{"clickTrackingParams":"CMACEPnnAxgBIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"9VC6YeQeZVk","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CMACEPnnAxgBIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"9VC6YeQeZVk"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Later bekijken"}},"toggledAccessibility":{"accessibilityData":{"label":"Toegevoegd"}},"trackingParams":"CMACEPnnAxgBIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Toevoegen aan wachtrij","toggledTooltip":"Toegevoegd","untoggledServiceEndpoint":{"clickTrackingParams":"CL8CEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CL8CEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"9VC6YeQeZVk","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CL8CEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["9VC6YeQeZVk"],"params":"CAQ%3D"}},"videoIds":["9VC6YeQeZVk"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Toevoegen aan wachtrij"}},"toggledAccessibility":{"accessibilityData":{"label":"Toegevoegd"}},"trackingParams":"CL8CEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Wordt nu afgespeeld"}]}}}],"accessibility":{"accessibilityData":{"label":"Solving service discovery: Node.js microservices without a registry - Richard Rodger - 26 minuten - Naar kanaal gaan - Nearform - 7K weergaven - 8 jaar geleden - video afspelen"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/9VC6YeQeZVk/mqdefault_6s.webp?du=3000 sqp=CNX70boG rs=AOn4CLCwEu1FVmtt2mfJgebrQhUc30pWKA","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"4k7bLtqXb8c","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/4k7bLtqXb8c/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLBF-hHDrY11atFehZny2HDpN4Rs7A","width":168,"height":94},{"url":"https://i.ytimg.com/vi/4k7bLtqXb8c/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLDBYRkQpOVFbBvn-D-Gfh8EBq01Zw","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Matt Walters - How to CQRS in Node: Eventually Consistent, Unidirectional Systems with Microservices door The Nodejs Meetup 21.728 weergaven 8 jaar geleden 1 uur en 11 minuten"}},"simpleText":"Matt Walters - How to CQRS in Node: Eventually Consistent, Unidirectional Systems with Microservices"},"longBylineText":{"runs":[{"text":"The Nodejs Meetup","navigationEndpoint":{"clickTrackingParams":"CLcCEKQwGAEiEwjRjvfJoZaKAxXp_0IFHYySOUwyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@TheNodejsMeetup","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCljZFme1E05T5LGh8U_em8w","canonicalBaseUrl":"/@TheNodejsMeetup"}}}]},"publishedTimeText":{"simpleText":"8 jaar geleden"},"viewCountText":{"simpleText":"21.728 weergaven"},"lengthText":{"accessibility":{"accessibilityData":{"label":"1 uur, 11 minuten en 58 seconden"}},"simpleText":"1:11:58"},"navigationEndpoint":{"clickTrackingParams":"CLcCEKQwGAEiEwjRjvfJoZaKAxXp_0IFHYySOUwyB3JlbGF0ZWRIuPG7hvCrrJolmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=4k7bLtqXb8c","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"4k7bLtqXb8c","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr2---sn-4g5ednds.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=e24edb2eda976fc7 ip=217.12.208.238 mt=1733594885 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"The Nodejs Meetup","navigationEndpoint":{"clickTrackingParams":"CLcCEKQwGAEiEwjRjvfJoZaKAxXp_0IFHYySOUwyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@TheNodejsMeetup","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCljZFme1E05T5LGh8U_em8w","canonicalBaseUrl":"/@TheNodejsMeetup"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_myPFU4ntJbW8Xu5L9mq1d1vY2gD5A8R_hjkcmi3EZS3Yo=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CLcCEKQwGAEiEwjRjvfJoZaKAxXp_0IFHYySOUxAx9_d1O3ltqfiAQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"21 duizend weergaven"}},"simpleText":"21K weergaven"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Toevoegen aan wachtrij"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CLwCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CLwCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"4k7bLtqXb8c","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CLwCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["4k7bLtqXb8c"],"params":"CAQ%3D"}},"videoIds":["4k7bLtqXb8c"]}},{"clickTrackingParams":"CLwCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Toegevoegd aan wachtrij"},"trackingParams":"CL0CELlqIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},"popupType":"TOAST"}}]}},"trackingParams":"CLwCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"menuServiceItemDownloadRenderer":{"serviceEndpoint":{"clickTrackingParams":"CLsCENGqBRgHIhMI0Y73yaGWigMV6f9CBR2MkjlM","offlineVideoEndpoint":{"videoId":"4k7bLtqXb8c","onAddCommand":{"clickTrackingParams":"CLsCENGqBRgHIhMI0Y73yaGWigMV6f9CBR2MkjlM","getDownloadActionCommand":{"videoId":"4k7bLtqXb8c","params":"CAIQAA%3D%3D"}}}},"trackingParams":"CLsCENGqBRgHIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Delen"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CLcCEKQwGAEiEwjRjvfJoZaKAxXp_0IFHYySOUw=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"Cgs0azdiTHRxWGI4Yw%3D%3D","commands":[{"clickTrackingParams":"CLcCEKQwGAEiEwjRjvfJoZaKAxXp_0IFHYySOUw=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CLoCEI5iIhMI0Y73yaGWigMV6f9CBR2MkjlM","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CLcCEKQwGAEiEwjRjvfJoZaKAxXp_0IFHYySOUw=","hasSeparator":true}}],"trackingParams":"CLcCEKQwGAEiEwjRjvfJoZaKAxXp_0IFHYySOUw=","accessibility":{"accessibilityData":{"label":"Actiemenu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"1 uur, 11 minuten en 58 seconden"}},"simpleText":"1:11:58"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Later bekijken","toggledTooltip":"Toegevoegd","untoggledServiceEndpoint":{"clickTrackingParams":"CLkCEPnnAxgBIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"4k7bLtqXb8c","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CLkCEPnnAxgBIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"4k7bLtqXb8c"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Later bekijken"}},"toggledAccessibility":{"accessibilityData":{"label":"Toegevoegd"}},"trackingParams":"CLkCEPnnAxgBIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Toevoegen aan wachtrij","toggledTooltip":"Toegevoegd","untoggledServiceEndpoint":{"clickTrackingParams":"CLgCEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CLgCEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"4k7bLtqXb8c","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CLgCEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["4k7bLtqXb8c"],"params":"CAQ%3D"}},"videoIds":["4k7bLtqXb8c"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Toevoegen aan wachtrij"}},"toggledAccessibility":{"accessibilityData":{"label":"Toegevoegd"}},"trackingParams":"CLgCEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Wordt nu afgespeeld"}]}}}],"accessibility":{"accessibilityData":{"label":"Matt Walters - How to CQRS in Node: Eventually Consistent, Unidirectional Systems with Microservices - 1 uur en 11 minuten - Naar kanaal gaan - The Nodejs Meetup - 21K weergaven - 8 jaar geleden - video afspelen"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/4k7bLtqXb8c/mqdefault_6s.webp?du=3000 sqp=CIaG0roG rs=AOn4CLC0VaPwY5GWlv9VLKRs58F7KNaAuQ","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"YPbGW3Fnmbc","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/YPbGW3Fnmbc/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEkgUChyMA8= rs=AOn4CLAlDlq5Pq5kESEqN2oOwaoHQ-DnZg","width":168,"height":94},{"url":"https://i.ytimg.com/vi/YPbGW3Fnmbc/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhJIFAocjAP rs=AOn4CLBZ8an1oRRfvTq1kdLxIFiEHyAbXQ","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Using sagas to maintain data consistency in a microservice architecture by Chris Richardson door Devoxx 308.145 weergaven 7 jaar geleden 49 minuten"}},"simpleText":"Using sagas to maintain data consistency in a microservice architecture by Chris Richardson"},"longBylineText":{"runs":[{"text":"Devoxx","navigationEndpoint":{"clickTrackingParams":"CLACEKQwGAIiEwjRjvfJoZaKAxXp_0IFHYySOUwyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@DevoxxForever","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCCBVCTuk6uJrN3iFV_3vurg","canonicalBaseUrl":"/@DevoxxForever"}}}]},"publishedTimeText":{"simpleText":"7 jaar geleden"},"viewCountText":{"simpleText":"308.145 weergaven"},"lengthText":{"accessibility":{"accessibilityData":{"label":"49 minuten en 10 seconden"}},"simpleText":"49:10"},"navigationEndpoint":{"clickTrackingParams":"CLACEKQwGAIiEwjRjvfJoZaKAxXp_0IFHYySOUwyB3JlbGF0ZWRIuPG7hvCrrJolmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=YPbGW3Fnmbc","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"YPbGW3Fnmbc","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr3---sn-4g5edndl.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=60f6c65b716799b7 ip=217.12.208.238 mt=1733594885 oweuc="}}}}},"shortBylineText":{"runs":[{"text":"Devoxx","navigationEndpoint":{"clickTrackingParams":"CLACEKQwGAIiEwjRjvfJoZaKAxXp_0IFHYySOUwyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@DevoxxForever","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCCBVCTuk6uJrN3iFV_3vurg","canonicalBaseUrl":"/@DevoxxForever"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/zLf1KTfDN7Y47v0eKL3bHUBCsx_stBfskO3ahJDl-bGAZ6H4XB0lWuV9r__arbTA36g5u_q6lAY=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CLACEKQwGAIiEwjRjvfJoZaKAxXp_0IFHYySOUxAt7Oei7fLsftg","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"308 duizend weergaven"}},"simpleText":"308K weergaven"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Toevoegen aan wachtrij"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CLUCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CLUCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"YPbGW3Fnmbc","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CLUCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["YPbGW3Fnmbc"],"params":"CAQ%3D"}},"videoIds":["YPbGW3Fnmbc"]}},{"clickTrackingParams":"CLUCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Toegevoegd aan wachtrij"},"trackingParams":"CLYCELlqIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},"popupType":"TOAST"}}]}},"trackingParams":"CLUCEP6YBBgGIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"menuServiceItemDownloadRenderer":{"serviceEndpoint":{"clickTrackingParams":"CLQCENGqBRgHIhMI0Y73yaGWigMV6f9CBR2MkjlM","offlineVideoEndpoint":{"videoId":"YPbGW3Fnmbc","onAddCommand":{"clickTrackingParams":"CLQCENGqBRgHIhMI0Y73yaGWigMV6f9CBR2MkjlM","getDownloadActionCommand":{"videoId":"YPbGW3Fnmbc","params":"CAIQAA%3D%3D"}}}},"trackingParams":"CLQCENGqBRgHIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Delen"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CLACEKQwGAIiEwjRjvfJoZaKAxXp_0IFHYySOUw=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtZUGJHVzNGbm1iYw%3D%3D","commands":[{"clickTrackingParams":"CLACEKQwGAIiEwjRjvfJoZaKAxXp_0IFHYySOUw=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CLMCEI5iIhMI0Y73yaGWigMV6f9CBR2MkjlM","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CLACEKQwGAIiEwjRjvfJoZaKAxXp_0IFHYySOUw=","hasSeparator":true}}],"trackingParams":"CLACEKQwGAIiEwjRjvfJoZaKAxXp_0IFHYySOUw=","accessibility":{"accessibilityData":{"label":"Actiemenu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"49 minuten en 10 seconden"}},"simpleText":"49:10"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Later bekijken","toggledTooltip":"Toegevoegd","untoggledServiceEndpoint":{"clickTrackingParams":"CLICEPnnAxgBIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"YPbGW3Fnmbc","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CLICEPnnAxgBIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"YPbGW3Fnmbc"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Later bekijken"}},"toggledAccessibility":{"accessibilityData":{"label":"Toegevoegd"}},"trackingParams":"CLICEPnnAxgBIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Toevoegen aan wachtrij","toggledTooltip":"Toegevoegd","untoggledServiceEndpoint":{"clickTrackingParams":"CLECEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CLECEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"YPbGW3Fnmbc","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CLECEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["YPbGW3Fnmbc"],"params":"CAQ%3D"}},"videoIds":["YPbGW3Fnmbc"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Toevoegen aan wachtrij"}},"toggledAccessibility":{"accessibilityData":{"label":"Toegevoegd"}},"trackingParams":"CLECEMfsBBgCIhMI0Y73yaGWigMV6f9CBR2MkjlM"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Wordt nu afgespeeld"}]}}}],"accessibility":{"accessibilityData":{"label":"Using sagas to maintain data consistency in a microservice architecture by Chris Richardson - 49 minuten - Naar kanaal gaan - Devoxx - 308K weergaven - 7 jaar geleden - video afspelen"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/YPbGW3Fnmbc/mqdefault_6s.webp?du=3000 sqp=CKCa0roG rs=AOn4CLCy5KrWU1dAu19mpvktPJu7YW0krQ","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"lockupViewModel":{"contentImage":{"collectionThumbnailViewModel":{"primaryThumbnail":{"thumbnailViewModel":{"image":{"sources":[{"url":"https://i.ytimg.com/vi/ucY_qs9Ey-w/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ== rs=AOn4CLBqJhGnFGWI9sn-zedPTGeLa_Wfzg","width":168,"height":94},{"url":"https://i.ytimg.com/vi/ucY_qs9Ey-w/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE= rs=AOn4CLAk6V-7Fj8gxs1QSHz5HvLErpvNeA","width":336,"height":188}]},"overlays":[{"thumbnailOverlayBadgeViewModel":{"thumbnailBadges":[{"thumbnailBadgeViewModel":{"icon":{"sources":[{"clientResource":{"imageName":"PLAYLISTS"}}]},"text":"48 video's","badgeStyle":"THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT","backgroundColor":{"lightTheme":2631201,"darkTheme":2631201}}}],"position":"THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END"}},{"thumbnailHoverOverlayViewModel":{"icon":{"sources":[{"clientResource":{"imageName":"PLAY_ALL"}}]},"text":{"content":"Alles afspelen","styleRuns":[{"startIndex":0,"length":14}]},"style":"THUMBNAIL_HOVER_OVERLAY_STYLE_COVER"}}],"backgroundColor":{"lightTheme":4144179,"darkTheme":4144179}}},"stackColor":{"lightTheme":12564123,"darkTheme":9209202}}},"metadata":{"lockupMetadataViewModel":{"title":{"content":"Platform Summit"},"metadata":{"contentMetadataViewModel":{"metadataRows":[{"metadataParts":[{"text":{"content":"Nordic APIs
#############################