LOADING

织梦响应式网站模板

2018-02-02 10:10
由 admin 发表
大部分时候,微服务都是建立在一种基于请求和响应的协议之上。比如,REST等。这种方式是自然的。我们只需要调用另外一个模块就是了,然后等待响应返回,然后继续。这样的方式确实也满足了我们的很多的场景:用户通过点击页面的一个按钮然后希望发生一些事情。
 
但是,当我们开始接触许多独立的service的时候,事情就发生改变了。随着service数量急速的增长,同步交互比例也随着service在急速增长。这时候,我们的service就会遇到很多的瓶颈。
 
于是,不幸的ops工程师们就被我们坑了,他们疲惫的奔波于一个又一个的service,拼凑在一起的二手信息片段,谁说了什么,去往哪里,什么时候发生?等等。。。
 
这是一个非常典型的问题。市面上也有一些解决方案。一种方案就是确保您的个人服务具有比您的系统更高的SLA。 Google提供了这样做的协议。另一种方法是简单地分解将服务绑定在一起的同步关系。
 
上面的做法都没有从模式上根本解决问题。我们可以使用异步机制来解决这个问题。比如,电商网站中你会发现这样的同步接口,比如getImage()或者processOrder(),也许你感觉蛮正常。调用了然后希望马上有一个响应。但当用户点击了“购买”后,触发了一个复杂且异步的处理过程。这个过程涉及到购买、送货上门给用户,这一切都是发生在当初的那一次的按钮点击。所以把一个程序处理逻辑切分成多个异步的处理,是我们需要解决的问题。这也正符合我们的真实的世界,真实世界本来就是异步的,拥抱异步吧。
Copyright © 2017-2018. 互创湾 技术支持