最近对Azure ServiceBus的功能感兴趣,准备花一些时间学习一下,主要的学习资料来源于Azure document和网上的一些资料。
Azure ServiceBus是干什么?
ServiceBus顾名思义,翻译成服务总线, 是应用程序之间构建的消息传递基础设施,用于在应用程序之间以松散耦合的方式相互交换消息,以改善可扩展性和弹性。目前看到比较多的应用场景:
- 企业的应用本身都在Azure上,servicebus为应用之间提供了高可用的消息传递机制。
- 企业有一个或多个部署在本地的商业应用程序(如 SAP 和 Oracle EBS), 无法直接和外部程序直接连接, 因此它可以通过servicebus传递消息,这样其他的应用就可以从中获得消息。总之, 按照官方说法是,servicebus can connect anywhere!
Azure ServiceBus都有哪些组件?
根据应用场景的不同,Azure ServiceBus提供了4种不同的组件:
- Queues, 从名称就可以看出,它就是我们常说的队列,提供单向的消息传递机制,Queues充当着消息的中间存储者,直到消息被读取,每一条消息只能被一个client读取。至于一个queue能存储多少条消息,能存多久,以后的博文会详细记录,这只是一个总体概况。
- Topics, 这个和Queue非常的类似,仍然是单向的消息传递机制,也是消息的中间存储者,不同的是它具备观察者模式,即每一条消息都是发给一个to