
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员都开始学习微服务架构技术,而今天我们就一起来了解一下,微服务架构中服务之间的联系都有哪些问题。
如何实现自动重试?
如果服务出现503错误,此时再让服务接受请求,会造成服务的雪崩。这时,你可能的选择是让服务30秒之后再接受请求,而不是在线程数量达到峰值的时候仍然接受请求。
如何实现熔断?
SpringCloud提供的Hystrix作为熔断的工具,在Istio里,你可以定义你的CircuitBreaker的策略。比如,如果服务出现不能访问的情况,你可以允许服务出现连续5次错误,并且设置大并发连接数为100,当连接数达到这个数目时,Istio不会将流量导入到这个服务里。
如何追踪服务的调用栈?
使用Zipkin可以将服务的调用栈可视化,可以在这里发现,在服务调用之间有Istio-Mixer进行了服务的Check操作,此操作耗时大概1毫秒,它处理该目标服务是否符合Istio的路由规则,如果通过,则运维目标服务进行请求的处理,并返回给调用方。
如何根据客户端的特征进行蓝绿发布?
例如,将所有Chrome的客户端请求都分发到V2版本,剩下的请求发送到V1版本?
你可以在你的Istio路由规则里配置根据User-Agent的关键字,做流量的规划,而不需要修改任何应用的代码。
Chrome的用户看到的是V2版本,而非Chrome的用户仍然看到的是老版本,这样就能轻松实现蓝绿发布。而通过配置本次发布的节点数,能够智能地让Istio来分配比如2%的流量给V2版本,做金丝雀发布的验证,如果成功了,再自动进行10%节点的升级和流量调度。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。