康熙来了小时代20130719,你说我是温柔坏男人,黄婉伶黄婉君
阻塞:a程序调用b程序,a等待返回结果,等待中a程序线程被占用,不进行其它操作。
非阻塞:a程序调用b程序,a程序线程不被占用。
阻塞--》非阻塞 的最常用解决方案:缓存,a将请求依次装入缓存中,a不管与b是否执行完成,由b随后依次处理,返回给a。
同步:一个线程依次执行所有任务
异步:多个线程并行执行任务
同步--》异步 的最常用解决方案:多线程,依次启动多个线程执行任务,同时可以引入线程池,减少线程不断分配和销毁造成的开销。
很多人都听说过消息队列、消息中间件mq,企业服务总线esb等。
简单来说就是企业服务总线esb就是搭了一条管道,所有的指令请求都可以扔进去,顺着管道流向目的地。用到的技术就是消息队列mq,如rabbitmq,activemq,kafka等。
我之前在软考架构设计师的时候,案例分析中就有一个问题谈esb的优点,与soa做比较。在论文中我也一直阐述用到了esb,技术框架就是rabbitmq。
我清楚记得,我的答案说的是“异步调用”,后来过了几个月我才明白这是错的,应该是“非阻塞”,因为这里与多线程并没有关系,而是调用端的“不等待,非阻塞”,只需要将消息扔到总线里面就不用管了,实现了高可用和最终一致性,cap中的ap。
考试结果就是案例分析查了5分,没有通过考试。
上文中的消息队列、分布式、cap等后续再谈。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
14、Ribbon整合断路器监控Hystrix Dashboard
网友评论