{"guid":"8e48a117-0c0a-4ed9-9ade-ca953446a0dc","title":"HTTP tunneling in Go using HTTP/2 streams","subtitle":"And making it highly available with Serf and Raft","slug":"ASG2018-205-http_tunneling_in_go_using_http_2_streams","link":"https://cfp.all-systems-go.io/en/ASG2018/public/events/205","description":"This talk describes our experience developing Wormhole Connector, a distributed proxy component that connects external enterprise systems to a Kyma Kubernetes cluster. The connection between the Wormhole Connector and the Kubernetes cluster is based on HTTP/2, taking advantage of the stream concept to multiplex multiple connections (HTTP/1 or HTTP/2) through one active HTTP/2 connection.\n\nIt will cover how we use the Serf and Raft libraries to make the Wormhole Connector highly available, our experience using the Go standard library to support HTTP/2 connections, and technical details describing how everything works under the hood.\n\nThis talk describes our experience developing Wormhole Connector, a distributed proxy component that connects external enterprise systems to a Kyma Kubernetes cluster. The connection between the Wormhole Connector and the Kubernetes cluster is based on HTTP/2, taking advantage of the stream concept to multiplex multiple connections (HTTP/1 or HTTP/2) through one active HTTP/2 connection.\n\nIt will cover how we use the Serf and Raft libraries to make the Wormhole Connector highly available, our experience using the Go standard library to support HTTP/2 connections, and technical details describing how everything works under the hood.","original_language":"eng","persons":["Iago López Galeiras"],"tags":["asg2018","205","Networking"],"view_count":163,"promoted":false,"date":"2018-09-28T00:00:00.000+02:00","release_date":"2018-09-28T02:00:00.000+02:00","updated_at":"2026-03-11T00:00:08.205+01:00","length":1547,"duration":1547,"thumb_url":"https://static.media.ccc.de/media/events/all_systems_go/2018/205-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/all_systems_go/2018/205-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/all_systems_go/2018/8e48a117-0c0a-4ed9-9ade-ca953446a0dc-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/all_systems_go/2018/8e48a117-0c0a-4ed9-9ade-ca953446a0dc-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/ASG2018-205-http_tunneling_in_go_using_http_2_streams","url":"https://media.ccc.de/public/events/8e48a117-0c0a-4ed9-9ade-ca953446a0dc","conference_title":"All Systems Go! 2018","conference_url":"https://media.ccc.de/public/conferences/asg2018","related":[{"event_id":6041,"event_guid":"547a4b49-7458-433e-8137-aece8b2d43ea","weight":6},{"event_id":6043,"event_guid":"6cc5fc97-964e-4850-9292-6c452518e1e6","weight":3},{"event_id":6044,"event_guid":"5808be1e-ce91-48a2-a22a-91c3289d3819","weight":13},{"event_id":6048,"event_guid":"ee6e8d60-8656-4528-bfae-744f0ba6badb","weight":1},{"event_id":6050,"event_guid":"735c0de2-ccf2-4c5b-9138-cb51538d1253","weight":7},{"event_id":6052,"event_guid":"206292d6-2ccf-4af9-af3c-06e29b0d213c","weight":4},{"event_id":6056,"event_guid":"5f21e0cf-1ac8-4440-9b73-8562b86a570c","weight":1},{"event_id":6058,"event_guid":"7fe2a84b-bbed-4a4e-80fb-85b581c14b13","weight":9},{"event_id":6060,"event_guid":"d6d52c1e-1507-4bd6-8cc7-57c0080e9a2d","weight":7},{"event_id":6064,"event_guid":"c80dcd0e-6ca3-4299-a793-dd023a22b54c","weight":10},{"event_id":6076,"event_guid":"68c30487-d434-4b4e-8df0-fb06aa4e8cdf","weight":6},{"event_id":6078,"event_guid":"8a3c7006-ba7f-451c-a555-3a9ca4af5f2f","weight":6},{"event_id":6098,"event_guid":"289155d4-9fab-46ad-86e6-6db5d065e44a","weight":9}],"recordings":[{"size":82,"length":1547,"mime_type":"video/mp4","language":"eng","filename":"asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-09-28T17:08:48.556+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2018/h264-hd/asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_hd.mp4","url":"https://media.ccc.de/public/recordings/28871","event_url":"https://media.ccc.de/public/events/8e48a117-0c0a-4ed9-9ade-ca953446a0dc","conference_url":"https://media.ccc.de/public/conferences/asg2018"},{"size":136,"length":1547,"mime_type":"video/webm","language":"eng","filename":"asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-09-28T17:53:59.641+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2018/webm-hd/asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_webm-hd.webm","url":"https://media.ccc.de/public/recordings/28884","event_url":"https://media.ccc.de/public/events/8e48a117-0c0a-4ed9-9ade-ca953446a0dc","conference_url":"https://media.ccc.de/public/conferences/asg2018"},{"size":55,"length":1547,"mime_type":"video/webm","language":"eng","filename":"asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-09-28T17:55:00.372+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2018/webm-sd/asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_webm-sd.webm","url":"https://media.ccc.de/public/recordings/28886","event_url":"https://media.ccc.de/public/events/8e48a117-0c0a-4ed9-9ade-ca953446a0dc","conference_url":"https://media.ccc.de/public/conferences/asg2018"},{"size":23,"length":1542,"mime_type":"audio/mpeg","language":"eng","filename":"asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2018-09-28T17:55:20.325+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2018/mp3/asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_mp3.mp3","url":"https://media.ccc.de/public/recordings/28887","event_url":"https://media.ccc.de/public/events/8e48a117-0c0a-4ed9-9ade-ca953446a0dc","conference_url":"https://media.ccc.de/public/conferences/asg2018"},{"size":21,"length":1541,"mime_type":"audio/opus","language":"eng","filename":"asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2018-09-28T17:55:36.207+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2018/opus/asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_opus.opus","url":"https://media.ccc.de/public/recordings/28888","event_url":"https://media.ccc.de/public/events/8e48a117-0c0a-4ed9-9ade-ca953446a0dc","conference_url":"https://media.ccc.de/public/conferences/asg2018"},{"size":41,"length":1547,"mime_type":"video/mp4","language":"eng","filename":"asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-09-28T17:56:03.147+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2018/h264-sd/asg2018-205-eng-HTTP_tunneling_in_Go_using_HTTP_2_streams_sd.mp4","url":"https://media.ccc.de/public/recordings/28889","event_url":"https://media.ccc.de/public/events/8e48a117-0c0a-4ed9-9ade-ca953446a0dc","conference_url":"https://media.ccc.de/public/conferences/asg2018"}]}