Envoy Proxy Crash Course, Architecture, L7 & L4 Proxying, HTTP/2, Enabling TLS 1.2/1.3 and more

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ส.ค. 2024

ความคิดเห็น • 163

  • @hnasr
    @hnasr  4 ปีที่แล้ว +48

    If you liked these deep dives into proxies and other backend tech hit that like button and subscribe for more. Do suggest what should I discuss next 👇🏽

    • @germwire90
      @germwire90 3 ปีที่แล้ว

      Do you have a video on how you created the cert for your noip domain?

    • @subhadippahari1244
      @subhadippahari1244 3 ปีที่แล้ว +1

      make more videos on Envoy-filters ... those are really hard to understand

    • @eyad880
      @eyad880 ปีที่แล้ว

      @hussein json is a valid yaml syntax btw.. yea it blew my mind too

    • @user-wj3ux3kp6m
      @user-wj3ux3kp6m ปีที่แล้ว

      I am getting this error "upstream connect error or disconnect/reset before headers. reset reason: remote connection failure, transport failure reason: delayed connect error: 61 envoy" can you please help me? Also on making some changes most of the time I am getting "No healthy upstream" error.
      Can anyone help?

  • @ChristofferLilja
    @ChristofferLilja 3 ปีที่แล้ว +29

    You are hilarious :-D No boring voice here, just a happy guy who want's to spread knowledge and does it great!

    • @sammyj29
      @sammyj29 2 ปีที่แล้ว

      I didn't even realize and more than an hour has passed watching this video. Learnt a lot!

    • @dimitrivasilev2905
      @dimitrivasilev2905 ปีที่แล้ว

      Happy unless it comes to yaml

  • @kentogisu4382
    @kentogisu4382 3 ปีที่แล้ว +3

    This was a great watch. Your enjoyment and attitude towards this made it really refreshing. You made the concepts easy to understand and follow. Looking forward to your next videos.

    • @hnasr
      @hnasr  3 ปีที่แล้ว +1

      kent thank you Kent I appreciate your comment 😊 I am happy you enjoyed the video despite it being long

  • @cramhead
    @cramhead 2 ปีที่แล้ว +2

    I love how approachable your demo was. Great video, thanks for sharing

  • @zahraghandi1361
    @zahraghandi1361 2 หลายเดือนก่อน

    i wish i could like it more than once. you're a real life saver!

  • @rihanpereira5812
    @rihanpereira5812 4 ปีที่แล้ว +6

    This is great! Keeping going Hussein, we are your fanbase!

    • @hnasr
      @hnasr  4 ปีที่แล้ว +2

      rihan pereira 😍😍

  • @jackma6083
    @jackma6083 4 หลายเดือนก่อน

    Very interesting tutorial, very humorous teacher

  • @michaszajbe6829
    @michaszajbe6829 ปีที่แล้ว +2

    Ever heard of rivers?
    Downstream is the direction that the water in a river flows, upstream is towards the original source, where the river begins.
    Here, the original source is the backend node - the upstream. And the data flows downstream towards the client.

  • @wolfgangsanyer3544
    @wolfgangsanyer3544 ปีที่แล้ว

    Great video. I love that you do it live, with the errors. I saw that "listerns" as soon as you typed it, and it was a fun game watching you back to it and waiting for you to catch the error 🤣

  • @shehabul
    @shehabul ปีที่แล้ว

    Thanks for making this video. Just like you I was having trouble finding actual demos/working examples of envoy. This video made things a lot clear.

  • @ravi115ranjan
    @ravi115ranjan ปีที่แล้ว

    quite an informative session. very funny style to explain the things.. really enjoyed watching this.

  • @krzysztofkaminski6474
    @krzysztofkaminski6474 3 ปีที่แล้ว +3

    Great job. Going through proxies one by one gives us cool overview of the landscape. Caddy2 video would be awesome ;)

  • @andreykarayvansky9549
    @andreykarayvansky9549 3 ปีที่แล้ว +1

    I haven’t watched till the end yet, but so far “I lufv it”!

  • @veeramm
    @veeramm 6 หลายเดือนก่อน

    Lively video.. great presentation

  • @kenhan168
    @kenhan168 ปีที่แล้ว

    This is a great video! Thanks so much for your sharing!

  • @rajranjan8291
    @rajranjan8291 4 ปีที่แล้ว +1

    Hey I like the way you are cribbing about the yaml syntax and still doing it. Too much funny man

    • @hnasr
      @hnasr  4 ปีที่แล้ว

      YAML is painful but It won't beat me!

  • @vincentnonnenmacher9352
    @vincentnonnenmacher9352 3 ปีที่แล้ว +2

    Looking you fuming on Yaml (which by the way is very pleasing to see you fighting vocally against :-))
    I would suggest (see you on Mac with brew) to look at ‘babashka’ and ‘jet’.
    Jet could allow you to convert between json , yaml and a very nice format called ‘edn’ that is VERY simple to tackle and then you will be able to edit your edn (or json) and convert it back and forth to yaml without pain.
    Detrimental to us as you we could not anymore enjoy you ranting about it :-)

  • @abessesmahi4888
    @abessesmahi4888 4 ปีที่แล้ว

    ما شاء الله لا قوة الا بالله
    مدهش!
    بارك الله فيك أخي حسين

    • @hnasr
      @hnasr  4 ปีที่แล้ว +2

      Abesse Smahi الله يبارك فيك عزيزي شكر جزيلا 🙏

  • @phillipguzman9071
    @phillipguzman9071 3 ปีที่แล้ว +6

    No you dont ssh into the container, you can customize by creating a new dockerfile and build or use runtime env files. You should look at containers.

  • @jjames7206
    @jjames7206 4 ปีที่แล้ว +1

    Awsome Hussein! Man I'd love your PLAN!!!!

    • @hnasr
      @hnasr  4 ปีที่แล้ว

      J James 👍👍

  • @bofletcher444
    @bofletcher444 2 ปีที่แล้ว

    Really good video. You are also very entertaining to listen to.

  • @2sourcerer
    @2sourcerer ปีที่แล้ว

    Well it's two years ago. But copy and paste from the beginning of the line in YAML can help. Thanks for this video it is very helpful.

  • @mengtongun3207
    @mengtongun3207 ปีที่แล้ว

    I was fun while watching your video. I never bored of learning from your channel.

  • @michaelmwebaze7310
    @michaelmwebaze7310 ปีที่แล้ว

    Awesome...awesome... thanks a lot!

  • @ajnabee01
    @ajnabee01 ปีที่แล้ว

    Very informative and well taught.

  • @romangalochkin2564
    @romangalochkin2564 4 ปีที่แล้ว +1

    Thanks for the knowledge transfer videos, it is really useful.

    • @hnasr
      @hnasr  4 ปีที่แล้ว

      Roman Galochkin my pleasure 😇

  • @helloworld7313
    @helloworld7313 3 ปีที่แล้ว +3

    In my company, we write python scripts to generate yaml configs which're eventually used by nginx/envoy, this is much more enjoyable to write and less error-prone

    • @hnasr
      @hnasr  3 ปีที่แล้ว +1

      I like this

    • @Stephendenham
      @Stephendenham 2 ปีที่แล้ว +2

      What language do you use to generate the Python to ensure its indented correctly? ;)

  • @ibraheemalsaady3216
    @ibraheemalsaady3216 2 ปีที่แล้ว

    Very fun video man, amazing job

  • @venkateswaran8752
    @venkateswaran8752 4 ปีที่แล้ว +2

    awsome Hussein bro

  • @codersworld2598
    @codersworld2598 4 ปีที่แล้ว

    Hey Hussein, my brother you're amazing!

  • @Cobe299
    @Cobe299 ปีที่แล้ว

    great and funny thing to watch, thank you

  • @piyushranjan5327
    @piyushranjan5327 2 ปีที่แล้ว +1

    Loved it... Saved my day ++subscribe

  • @acehanks
    @acehanks 3 ปีที่แล้ว

    Thank you so much for this.

  • @Stephendenham
    @Stephendenham 2 ปีที่แล้ว

    Thank you, love the video

  • @cabc74
    @cabc74 3 ปีที่แล้ว

    I used to hate yaml until I spent one hour learning it. It's everywhere so better learn it.

  • @priteshthakkar4802
    @priteshthakkar4802 ปีที่แล้ว

    I am new to envoy and now think have good understanding of it. Thank you for doing it step by step, it was very interesting. I am trying to install / configure envoy and work with consul for service discovery. Please let me know if you have any document / video about it.

  • @dimtass
    @dimtass 2 ปีที่แล้ว

    Thanks for the time you spend on this video. Although, I lost the count of how many puppies you've killed.

  • @a_k__
    @a_k__ 3 ปีที่แล้ว

    As always very useful! It would be a good next step if you can make a video about Linkerd

  • @sagamp3
    @sagamp3 ปีที่แล้ว

    Hey !
    Hope you like a bit more Yaml now than 2 years ago.
    something great with yaml are anchor and reference to not duplicate everything all the time.
    If you hate yaml... JSON is 100% Yaml compatible so you can write it as JSON and load it as yaml

  • @ChristianAltamiranoAyala
    @ChristianAltamiranoAyala 3 ปีที่แล้ว

    Man this video is sooo awesomeeeee.... Thanks so much...

    • @hnasr
      @hnasr  3 ปีที่แล้ว +1

      Glad it helped!

    • @ChristianAltamiranoAyala
      @ChristianAltamiranoAyala 3 ปีที่แล้ว

      @@hnasr why does envoy throw error when the cluster upstream is localhost?

  • @teunohooijer6788
    @teunohooijer6788 3 ปีที่แล้ว +3

    Personally I collapse the yml I don't need. It gives me more clarity. Maby that helps.

  • @lachieyoung1374
    @lachieyoung1374 2 ปีที่แล้ว

    Would love to see a video on Hashicorp Consul!

  • @AbhishekPandey-ud3fe
    @AbhishekPandey-ud3fe 2 ปีที่แล้ว

    Hi Hussein , It was a great learning from this video. I have a request for you to create or share any demo for rate limit using Envoy

  • @jimbo-dev
    @jimbo-dev ปีที่แล้ว

    Upstream = "up in the cloud", quite good terminology I think

  • @alexinflux
    @alexinflux 3 ปีที่แล้ว

    Awesome! Very helpful

    • @hnasr
      @hnasr  3 ปีที่แล้ว

      Glad it was helpful!

  • @can9
    @can9 ปีที่แล้ว

    If you think about the word "Cloud", the way Envoy uses downstream/upstream terminology makes sense. Just think like your packet goes to a server in a cloud.

  • @shyirtt
    @shyirtt ปีที่แล้ว

    One and only best video available about envoy. Thank you. I have one question. I am not able to understand Why l7 proxying was doing the load balancing between endpoints. I know that we got lucky but what is special about l7 proxying which gives this behavior vs l4?

  • @Eminemmc007
    @Eminemmc007 4 ปีที่แล้ว +2

    Hi Hussein, could you also make a video on Consul service mesh and how to handle its sidecar proxy?

    • @hnasr
      @hnasr  4 ปีที่แล้ว +2

      Nice idea almost forgot about Consul

  • @kirancs6217
    @kirancs6217 3 ปีที่แล้ว

    Very Good,interesting,encouraging and understandable and same opinion for YAML its really pain.I favor JSON instead

  • @nsmkhn
    @nsmkhn 3 ปีที่แล้ว

    dude, you are cool! :)

  • @rbsrafa
    @rbsrafa 3 ปีที่แล้ว

    Great video!

  • @nicoladellino8124
    @nicoladellino8124 3 ปีที่แล้ว

    Nice video bro, tnx 👏 👏 👏

  • @vbs273
    @vbs273 4 ปีที่แล้ว +1

    hahaha Ash ketchum. Awesome video thanks

  • @ClearlyCero
    @ClearlyCero 3 ปีที่แล้ว

    Reverse prox-ies gotta catch em all!

  • @user-wj3ux3kp6m
    @user-wj3ux3kp6m ปีที่แล้ว

    I am getting this error "upstream connect error or disconnect/reset before headers. reset reason: remote connection failure, transport failure reason: delayed connect error: 61 envoy" can you please help me? Also on making some changes most of the time I am getting "No healthy upstream" error.
    Can anyone help?

  • @68naveeng
    @68naveeng 10 หลายเดือนก่อน

    Hi,
    I have crl(certificate revocation list) cert in envoy /etc/ssl/crl/crl.pem. Its size is too big around 100MB. that's why not not using as secret (max secret size is 1 MB). every two day crl.pem refresh and I have to upload new crl.pem in envoy and restart envoy pod to activate new envoy configuration. Is there a way to reload crl without restart envoy pod? plz guide me
    I tries SDS, but not working

  • @kidistabraham49
    @kidistabraham49 ปีที่แล้ว

    How do you configure TLS on the cluster service

  • @brijchavda
    @brijchavda 3 ปีที่แล้ว

    super like and subscribed.

  • @m0aravindkarthik
    @m0aravindkarthik 5 หลายเดือนก่อน

    Is it possible to setup 2 listeners, one for http and another for https on same envoy?

  • @thisis-zu5bo
    @thisis-zu5bo ปีที่แล้ว

    regarding downstream vs upstream terminology confusion
    water flows from top of the mountain downhill so similarly in computing data flows from upstreams to downstreams
    #copied from internet

  • @kitkarson4226
    @kitkarson4226 2 ปีที่แล้ว

    man you are very funny! I have seen some yaml haters. I never understood that. after seeing envoy config, I hate yaml myself now.

  • @javedalishaikh4472
    @javedalishaikh4472 ปีที่แล้ว

    This was really helpful, and agree with good documentation but really sucks in samples.
    Could you please do a video of Envoy Redis Proxy and Redis Cluster support.

  • @MrZerged
    @MrZerged 4 ปีที่แล้ว +1

    This was very deep and a really great introduction for beginners thank you for putting it together. 2 questions, what would a general architecture look like with Envoy if you were using this as an internal load balancer for Microservices that receive heavy internal load (I.e. from other services) and 2) when are you going to do a live stream?!!

    • @hnasr
      @hnasr  4 ปีที่แล้ว +1

      MrZerged thanks !! 1) assuming HTTP services one suggestion could be as L7 HTTP proxy However envoy performs better win the backend is H2 so having those services on H2 could be better (didn’t test it)
      2) haha it might be soon I have been thinking about it

  • @MartinsTalbergs
    @MartinsTalbergs 3 ปีที่แล้ว

    FYI any JSON is perfeclty valid YAML (according to latest YAML specification)

  • @sadeghhosseini6381
    @sadeghhosseini6381 3 ปีที่แล้ว

    Since yaml is a superset of json you could have also written the configs in json

  • @sagartyagi2450
    @sagartyagi2450 3 ปีที่แล้ว

    Quick question: Why didn't we saw the Thread issue(not being able to load balance properly) in Layer7, did we just got lucky?

  • @hinome5406
    @hinome5406 2 ปีที่แล้ว

    Hey! Nice video but I got a question. Is it possible to split X and Y (my backend) and access to them but with only one port? But not like in the video; I mean, not with the prefix (/x or /y) but with the URL like service_name with Nginx.

  • @sadeghhosseini6381
    @sadeghhosseini6381 3 ปีที่แล้ว

    Nice job.
    Is it possible to break down the envoy.yaml to multiple separate files for the sake of keeping the config clean and maintainable?

  • @pollathajeeva23
    @pollathajeeva23 ปีที่แล้ว

    @hnasr I got some confusion around APIGatway vs DataMesh and Data plane vs control plane and so Envoy vs Consul. Please provide some insight about the same. Thanks!

  • @milad9900
    @milad9900 2 ปีที่แล้ว

    hussein plz add a comparison video between envoy , krakend and kong

  • @jithutube
    @jithutube ปีที่แล้ว

    Hi, thanks for the wonderful explanations. Can you give an example of how to use a listener filter per cluster?.. For ex, I'm trying to use original_Src filter, so that Envoy generates the upstream request packet with the actual downstream client IP. Is it possible to configure this per cluster/route ?

  • @Jayadeepkm
    @Jayadeepkm 3 ปีที่แล้ว

    Fyi, a valid json is also a valid yaml file. Yaml is designed like that. So you can just create your config in json.

    • @hnasr
      @hnasr  3 ปีที่แล้ว

      Didn’t know that thanks!

  • @vitornesello
    @vitornesello 4 ปีที่แล้ว

    Man, what about copying the whole line, including the whitespace. Then paste it on the first column, so you are sure to keep the same number of spaces. Great video btw

    • @vitornesello
      @vitornesello 4 ปีที่แล้ว

      😂😂😂 just after I wrote the comment you did exactly this at th-cam.com/video/40gKzHQWgP0/w-d-xo.html

  • @saikrishna3374
    @saikrishna3374 2 ปีที่แล้ว

    can implement envoy with docker swarm, will it work or not

  • @youtubegarbage4u
    @youtubegarbage4u 3 ปีที่แล้ว +1

    if you were to deploy a $10k/month revenue production app today, what proxy server will you use Hussein?

    • @hnasr
      @hnasr  3 ปีที่แล้ว +1

      haproxy

  • @khssky321
    @khssky321 3 ปีที่แล้ว

    I wanted to use envoy in case of outbound. just for forwarding. but envoy replied "no healthy upstream". I don't know how to make it.. I want to use envoy just for proxy to outbound(variable address, not static like inbound). anyone help me plz!! I already made inbound Architecture with lb. but outbound is not yet....

  • @miceguy
    @miceguy 3 ปีที่แล้ว +2

    Hi Hussein, great video!
    One question about the multithreaded issue with load-balancing - Why does this only happen with TCP and not with the HttpConnectionManager? Shouldn't the multi-threaded issue still exist for L7 since a different thread is picking up the request each time?
    Thanks again!

    • @hnasr
      @hnasr  3 ปีที่แล้ว +1

      Hey Mike good question,
      because Envoy has full visibility on the request by request on Layer 7 proxying (httpConnectionManager) it can easily load balance. Each request is terminated, decrypted, looked at and then proxied to the backend. Unlike Layer 4 proxying where they don't have fine grain control on establishment of the TCP connection.

  • @uberwebd9824
    @uberwebd9824 ปีที่แล้ว

    We have 2500 lines of envoy config in yaml 😢 tell me about it

  • @rashmikhandelwal2597
    @rashmikhandelwal2597 2 ปีที่แล้ว

    How to route on basis of http header in envoy proxy?
    I am sending an http request with below header.
    Header = {"InstanceId" : "1"}
    How to route to an cluster(endpoint) using this header value i.e. 1
    What i actually want to do in envoy.yaml :
    If (header. InstanceId == 1)
    Route to cluster A
    Else If (header. InstanceId == 2)
    Route to cluster B
    Can someone please help me out. Thanks in advance.

  • @chengdongliao9875
    @chengdongliao9875 4 ปีที่แล้ว

    Hi Hussein, Thanks for the awesome demo! I have little knowledge about proxy settings, so a bit confused by your infra setting, 1. are you running envoy and app server both on your Mac? Because I see you run certbot locally...and 2. do you configure your browser and curl to use envoy as a proxy, otherwise how do they be aware of it? Thanks!

    • @hnasr
      @hnasr  4 ปีที่แล้ว

      Chengdong Liao hey Thanks for your message ! Yes envoy and the services are both running locally on my mac (husseinmac)
      2) no I have not setup proxy settings since I am using envoy as a revese proxy .. that is why the target destination is husseinmac:8080 which is envoy reverse proxy
      Proxy setup is completely different and this is not what I am presenting in this demo

    • @chengdongliao9875
      @chengdongliao9875 4 ปีที่แล้ว

      @@hnasr Thanks for clarity!

    • @chengdongliao9875
      @chengdongliao9875 4 ปีที่แล้ว

      Another question I have is how do you use no-ip hostname to access the service running locally in a private network where your laptop is running (192.168.0.x)? I guess you have somehow configured a public IP to access your laptop? 😂

  • @wsh4and
    @wsh4and 3 ปีที่แล้ว

    Is this part of the Udemy course?
    Great job btw, I kind of need this.

  • @ebrahimkarimi1388
    @ebrahimkarimi1388 3 ปีที่แล้ว

    Hi and thank you for sharing your knowledge. Can you create a video about how to config envoy for WebSocket over HTTP/2 and implement that? Describe routing, SSL(WSS), TCP to HTTP for routing by the body like AWS WebSocket API gateway (if support) and work with message type(text-binary) or deserialization...

  • @68naveeng
    @68naveeng 3 ปีที่แล้ว

    Hi ,Could you please put video or any link, how to use envoy mysql proxy (select command go to read DB and rest of all liek insert,delete etc etc go to RW DB). Thanks in Advance

  • @Pic14Kk
    @Pic14Kk 4 ปีที่แล้ว

    How about envoy proxy integration with other software ?

  • @aneyashasarkar201
    @aneyashasarkar201 4 ปีที่แล้ว +1

    Do we need to download envoy..if yes can u share the link?

    • @hnasr
      @hnasr  4 ปีที่แล้ว +1

      Yes here is the link
      www.getenvoy.io/install/envoy/macos/

    • @aneyashasarkar201
      @aneyashasarkar201 4 ปีที่แล้ว

      How can I install envoy in windows?

  • @rumanHuq
    @rumanHuq 3 ปีที่แล้ว

    Turn on caption, go at 21:34, "beautiful, beautiful ......* "

  • @germwire90
    @germwire90 3 ปีที่แล้ว

    Do you have a video on how you created the cert for your noip domain?

    • @hnasr
      @hnasr  3 ปีที่แล้ว

      Its using lets encrypt certbot , I show it here th-cam.com/video/CxamHNc3U4A/w-d-xo.html

  • @subhadippahari1244
    @subhadippahari1244 3 ปีที่แล้ว

    really good video. But Hussein I find it very difficult to understand what is this line means 29:32 => type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v2.HttpConnectionManager .

  • @AshutoshKumar-ue3dr
    @AshutoshKumar-ue3dr 4 ปีที่แล้ว

    Hussein bro, could you make a video explaining the deep differences between Layer 4 and Layer 7 Proxy?
    I have read the general stuff but I want to know how exactly they effects an application in production.

    • @hnasr
      @hnasr  4 ปีที่แล้ว +1

      Ashutosh Kumar hey! I actually made a detailed video here check it out Layer 4 vs Layer 7 Proxying In Details Explained with Examples
      th-cam.com/video/ylkAc9wmKhc/w-d-xo.html

    • @AshutoshKumar-ue3dr
      @AshutoshKumar-ue3dr 4 ปีที่แล้ว

      @@hnasr Thanks.

  • @DavidHawlin
    @DavidHawlin 2 ปีที่แล้ว

    Hussein, great videos! Anyone run envoy with allbackend.yaml and get "no healthy upstream"? you are lucky to have a Mac, with Windoze you have to install WSL 2 (Windows LINUX subsystem), i chose the Debian frontend. Not sure if this is a side effect of that? The upstream in envoy is the cluster allbackend_cluster correct? When i hear cluster, in this case I think Kubernetis. Do i need to install kubernetis inside the Debian linux created using WSL 2? I also did this the way you said was difficult running Kubernetis and Docker, from Docker Desktop, then running the envoy from Dockerhub. In this case I'm wondering how to get the envoy inside the Docker container to use a different config file, envoy is PID 1, if you kill envoy the Container crashes using the envoyproxy/proxy-dev from Docker Hub. I know, I know RTFM but the answer might help others.

  • @dejfcold
    @dejfcold 3 ปีที่แล้ว

    for A+ in ssllabs you probably need HSTS.

  • @princekumar5235
    @princekumar5235 4 ปีที่แล้ว

    Sir, how to create our own custom filter and integrate it with envoy?

    • @hnasr
      @hnasr  4 ปีที่แล้ว

      Here is an example will have to write c++ based filter and link it
      github.com/envoyproxy/envoy-filter-example

    • @princekumar5235
      @princekumar5235 4 ปีที่แล้ว

      @@hnasr thank you sir

    • @stshenyan
      @stshenyan 3 ปีที่แล้ว

      LUA too. maybe we could have WASM some day.

  • @stiqsify
    @stiqsify 3 ปีที่แล้ว

    ctrl-a to go to start of line on shell prompt

    • @hnasr
      @hnasr  3 ปีที่แล้ว

      Nice tip! Thanks

  • @dplameras
    @dplameras 3 ปีที่แล้ว

    I'm trying to understand what you mean about the threading model and its not truely load balanced? If its useing native threads or LWP in Linux it still uses multiple cores if available. In fact its more efficent then forking which has to copy the stack, heap.
    With LWP you can share the same memory space but create a seperate execution thread. Perhaps your thinking about Pythons threading model which is Green Threads and not Native threads? Green threads are not the same as OS threads. Green threads are managed in userspace and not at the OS level. Ruby, Python have a GiL which is why they will proably be never have native threads. Thats why its more desireable to Fork then Thread in those languages. A C++ program with native threads will beat a forked Python, Ruby script any day.

    • @hnasr
      @hnasr  3 ปีที่แล้ว

      This is what I was referring to, nothing to do with the thread itself but the lack of coordination between the load balancer and the siloed threads
      www.envoyproxy.io/docs/envoy/latest/faq/load_balancing/concurrency_lb

  • @eddiegangware6710
    @eddiegangware6710 ปีที่แล้ว

    OMG 36 minutes in you spelled listeners wrong!

  • @robot0763
    @robot0763 3 ปีที่แล้ว

    the issue with copy and past is that your editor tries to be smart and fix the indention for what you past. This is messing it up.

  • @evans8245
    @evans8245 4 ปีที่แล้ว

    AYYEEEE
    RATE THESE in term of ease of learning, & developer experience 0(worst) - 10(best)
    envoy -
    traefik -
    HA Proxy -
    NGINX -

    • @hnasr
      @hnasr  4 ปีที่แล้ว +1

      DELT
      Envoy: 6
      Traefik: 2
      HAPROXY 9
      NGINX 7

    • @evans8245
      @evans8245 4 ปีที่แล้ว

      @@hnasr yas ! thanks for the video mate !

    • @YunikMaharjan
      @YunikMaharjan 4 ปีที่แล้ว

      @@hnasr i agree with traefik's 2 point , i have spent countless hours trying to figure out how to get my docker container service working. There is multiple ways of doing the same thing with docker labels and dynamic config file and for me that's confusing, I mostly blame the docs for this
      PS: I still haven't been able to auto-reload dynamic config on file changes

  • @fardinhakimi
    @fardinhakimi 2 ปีที่แล้ว

    How long to cook new york streak medium rate haha

  • @prs314
    @prs314 3 ปีที่แล้ว

    sudo !!

  • @srk-techblog627
    @srk-techblog627 2 ปีที่แล้ว

    its not one thread per connection model. its multiple connections per thread. Please make correction in your video and slides.

    • @hnasr
      @hnasr  2 ปีที่แล้ว

      From the doc
      “Once a connection is accepted by a listener, the connection spends the rest of its lifetime bound to a single worker thread. “
      www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/intro/threading_model

    • @srk-techblog627
      @srk-techblog627 2 ปีที่แล้ว

      @@hnasr connection always is tied to that single thread, but then that thread is NOT tied to that single connection. its not 1-1 relation from both sides.