在使用xshell去远程连接服务器的时候没有反应,这样可能等了几分钟,这样按下crtlc终止就行了。
有些时候微服务是多个服务组成的,a服务会去调用b服务,可能因为网络问题或者连接问题,没有连接成功,那么会尝试不断的连接,这样可能消耗很长时间,对用户的体验感会很差。
所以a服务去连接b服务的时候,一次没有连接成功的时候,就可以设置一个连接超时时间,比如正常情况下1s就可以连接成功,10s还没有连接成功,那么就是不正常的。
所以可以设置过期时间,凡是超过3s钟的,我就认为是不正常的,那么就要去断开这个连接。
这里要为pod1服务去建立一个vs myvs1,这样客户端才能够访问到svc1,也就是访问到pod1。
之后需要为svc2去建立vs,这样是导向往svc2走的时候控制svc2的流量的。
现在要去模拟pod2访问很慢,这里就可以在svc2这块使用延迟故障注入。因为这里使用了hosts -svc2这里就很容易去控制去往svc2流量。上面就是访问svc2的时候都需要延期2s钟,这样就模拟了pod1去访问pod2的时候需要等待2s。
如果这边访问超过2s就不正常,这里就可以在vs1里设置其超时时间。(注意timeout和route是对齐的)
超时之后是不是就可以不访问了呢?超时的意义就是不让你一直在这边等着连接,超时之后就要去做重试。超时之后就可以去做重试。
连接失败重试的次数为3,什么条件重试呢?返回5xx的时候重试。
这里myvs2去做了中断注入。只有返回值为5xx的时候才会去做重试。模拟了中断故障,返回给客户端代码503,然后就可以去做重试。
这里的值只能为5xx,写其他的会报错。