We are making a multi-tenant system that should generate lots of events in bursts (especially during on boarding of new customers) and are looking for a way to decouple the event source with the event handlers.
(我们正在开发一个多租户系统,该系统应突发生成大量事件(尤其是在新客户登机期间),并正在寻找一种将事件源与事件处理程序分离的方法。)
At first the azure service-bus with several subscriptions seemed to be the best case, but reading the limitations that seems to be limited in size. (最初,具有多个订阅的azure服务总线似乎是最好的情况,但是请阅读似乎在大小上受到限制的限制。)
(like a few GB per topic), and even queue's are in my opinion still to small for our requirements. ((例如每个主题几GB),即使在队列中,我认为对于我们的要求来说仍然很小。)
(About 80GB) ((约80GB))
Don't get me wrong, we are not planning to ingest 100GB of data during normal operations (aka 99% of the time).
(别误会,我们不打算在正常操作期间(也就是99%的时间)摄取100GB的数据。)
However, considering that this is multi-tenant, the number of tenants (and therefore data/events) is bound to grow. (但是,考虑到这是多租户,租户(因此数据/事件)的数量必然会增长。)
And we prefer to use a single service-bus/queue in order to spread the load of all tenants between all our own servers. (而且我们更喜欢使用单个服务总线/队列,以便在我们自己的所有服务器之间分配所有租户的负载。)
The nature of the event burst is so that a single tenant could generate huge burst of events, while the others aren't doing much; (事件爆发的性质是,一个租户可以产生大量事件,而其他租户则没有做很多事。)
so creating a queue per tenant; (因此为每个租户创建一个队列;)
and have each of our servers listen to a few tenant queue's is not really a good use of our hardware. (并让我们的每台服务器都监听几个租户队列并不是对我们硬件的真正使用。)
And having all servers listen to all (many) queue's is probably also not a good way of load balancing. (并且让所有服务器都监听所有(许多)队列,这也不是负载平衡的好方法。)
So our most important requirements are:
(因此,我们最重要的要求是:)
But we can live with following drawbacks:
(但是我们可以忍受以下缺点:)
Can this be done with Azure service bus / queue's?
(可以使用Azure服务总线/队列吗?)
Or any other Azure storage system?
(还是任何其他Azure存储系统?)
Or do we need to look to something else entirely?
(还是我们需要完全着眼于其他事物?)
ask by Frederick Grumieaux translate from so 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…