grouper-users - RE: [grouper-users] RabbitMq Routing
Subject: Grouper Users - Open Discussion List
List archive
- From: "Black, Carey M." <>
- To: "Gettes, Michael" <>
- Cc: "" <>, "Vivek Sachdeva" <>
- Subject: RE: [grouper-users] RabbitMq Routing
- Date: Wed, 30 Jan 2019 15:26:58 +0000
- Accept-language: en-US
- Authentication-results: spf=pass (sender IP is 128.146.163.16) smtp.mailfrom=osu.edu; gmail.com; dkim=pass (signature was verified) header.d=osu.edu;gmail.com; dmarc=pass action=none header.from=osu.edu;
- Authentication-results-original: spf=none (sender IP is ) ;
- Ironport-phdr: 9a23:oISB1hVSzg5uIWDDNm8ac9XjtZbV8LGtZVwlr6E/grcLSJyIuqrYZRSPuKdThVPEFb/W9+hDw7KP9fy4CSpYud6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCybL9uLxi6txndutULioZ+N6g9zQfErGFVcOpM32NoIlyTnxf45siu+ZNo7jpdtfE8+cNeSKv2Z6s3Q6BWAzQgKGA1+dbktQLfQguV53sTSXsZnxxVCAXY9h76X5Pxsizntuph3SSRIMP7QawoVTmk8qxmUwHjhjsZODEl8WHXks1wg7xdoBK9vBx03orYbJiIOPZiYq/ReNUXTndDUMlMTSxMGoOyYZUSAeodM+hWrIf9qFkPrRSiCgahH/ngxiNUinLswaE2z+YsHAfb1wIgBdIOt3HUoc37OKoPVeC61rXHzTbbY/hLxzry8pLIfQ4hoPqRWrx8a8TdwlQoGgzeilWfs5DqPzCP2ugQrWSW4fFtVeW0i246sQ1+vCWgxto1h4TPm4kbxFfE9SBjz4Y0I921UEt7Ydm5H5tRuSGbN5F6Tdk/Q2F0vyY20r0GuYKnfCgS0ZgqyQTQZOSffIiI+B3iWvyeITZ5hH5/Zr2wmguy/VC4yu3mUcm011hKrjJCktnNsHANywbf5dSASvt45kuhwyiA1w/S6uFfPUA0j7DUK4Igwr43kJofq0HDETXwmEjwkaSYdV0k9/C25+v9frnqu5qRO5Jphg3jN6kulMOyDfgkPgULUWiU5+ux2bzm8ED8QrhGkv07nrHHvJ3VP8gXuLK1DgxP3oo99RqyAS2q3MkakHQENF5FdgyIgov1N1zLJf30E/Syj0mtnTpu2vzKIKHtDonII3TejLvuZrJw5ktdxQYu0N9Q+ZRZAawbLv3pQE/+rtnYAwc5MwOqx+bnD81w2JsCVGyIHqOVLrrevEKO6O4xOuWMY5QatyjnJ/gi+v7ukWQ2mVgAfamvwJQbcmi4Hu5hI0WFf3XjnssBEWYNvgo4VuDqj0CCUSJXZ3a1WKI85Ss3B56hDYfGXoytgbqB0zmnHpBOeGxJEEyAHWrteomZRvsAdSefIsFunzAYSbSsToEh2g+huQL7zrdqK+jZ9jEYuJ770dh6/ezTlRU89TxuCMSd1nmAQHpwnmwSWzA237pzrVFjxlqNyqV4hOdYFcFJ6/xXTwg6KIbQz/ZmBNDqRgLBYtCJRU6pQtW8BjExU8oxzMEUY0pkBtWilQ7M3zCxA7IOk7yLBYc08r7H33TrJsZ9zWrG27c7j1kgXMRPKXOqirRh+AfOGo6a23mewuyFeLgA0TWJvEKCxmqHsUUSGFp/XLnZUGs3e0XS69n1+xWRYaWpDOFtGA9Iws3GYoBDcND4xXAADr+3MtDXaGH3wj3rLRGT2/WBYJe8KDZV5znUFEVRy1Nbxn2BLwVrQ375+ziEXjVzCVLiZV/t+uBiqXS9C1U51ByOc1Y4h+Hn4QYb0OSVUOhbnqkJvisssX1VJB68xJqPUYrG/lY/OvwCOpVkvhYityrCshBleJmpLqRsnFkbJgNsogXj2wgkQopFmMku6ngtyVk6JaGZ1QZZfiiDldDrO7LRI3Xv5h3ndKfNkk/TyteY+6oDqZFa41XutQ2kDAwupnJ8zp9Y32bP6ZDDDQ5UWpX0AQ478hFgrOTCazImr4rfyXxrN/yytTnPk9IkDeco0FCuZdBaZaSfCUn/H9BJCg==
Michael,
Can you expand on this point a bit more for me/us? In generally it seems fine and good, but I think there are details there that I am not seeing how to operationalize yet. RE: “A single message from Grouper can become dozens based on this configuration *and* you get to control queues/consumers only getting the messages they are supposed to receive.”
Can you provide any more specifics about how the Message Broker makes that decision? How to maintain that configuration ( I assume ) in the Message Broker? Or is it “manually done” somehow?
Maybe…. Is there an attribute based model that might allow that to be driven from Grouper data/config? Can/Does attributes attached to the object ( or an ancestor of the object) get sent to the broker by default? Can that attribute data be included in the “routingKey”? ( maybe not… AMQP 0.9.1 has a routingKey max length of 255 chars. ( Which will be too small for some GroupNames.)) Maybe an multi-valued attribute could be used to create a message for N “routingKey values” from the grouper side? (ALA: AttributeDef = etc:attribute:MessagingMQ:SendToRoutingKeysDef, AttributeName=routingKeys, multi valued, single assigned, to Stems,groups,attirbutes Each value found produces a “clone message” with that routingKey value from the attribute value. ) Lacking value(s) found, the “normal/default” routingKey value would be produced/used.
-- Carey Matthew
From: <>
On Behalf Of Gettes, Michael
Here’s how I would recommend use of messaging, especially with RabbitMQ but ActiveMQ can do it too and I believe many other message brokers have similar capabilities…
Configure a grouper changelog consumer for message publishing for each message “category” you’d like to send. A “category” would be based on what content you want in the message. To some message consumers you’d like to send them only eduPersonPrincipalName but to others you’d like to send ePPN and email. Each of those would cause you to configure a separate changelog consumer sending messages to the broker. A category can also differentiate sending only membership related events vs. privilege changes or other messages related to the group. For each category - I recommend sending to a topic, not a queue, and include the groupName in the routingKey for RabbitMQ (or equiv for your broker) and then you can easily split-out to many different queues on the broker based on the routingKey name. A single message from Grouper can become dozens based on this configuration *and* you get to control queues/consumers only getting the messages they are supposed to receive.
I further recommend you use RabbitMQ for use by Grouper to get the above capability and, currently, it comes with the TIER packaging. You can always link a RabbitMQ broker to another broker by MQ style messaging or easily write a consumer which resends the message onto your other message broker. This would give you the best of capabilities out of grouper and integrate your existing non-AMQP capable messaging system.
With this overall mindset of how to configure grouper and the broker you obtain complete control of who gets what messages and doing so rather efficiently. I can generate 10,000 messages from grouper to multiple queues with varied requirements on what they receive in a matter of 45 seconds - all on my laptop. That’s slick. Of course, this is with the latest version of grouper and patches supporting better subject caching and so on. Really looking forward to Vivek’s latest changes so I can change my config to something even simpler and more powerful.
/mrg
|
- Re: [grouper-users] RabbitMq Routing, Crawford, Jeffrey, 01/30/2019
- Re: [grouper-users] RabbitMq Routing, Vivek Sachdeva, 01/30/2019
- Re: [grouper-users] RabbitMq Routing, Gettes, Michael, 01/30/2019
- RE: [grouper-users] RabbitMq Routing, Black, Carey M., 01/30/2019
- Re: [grouper-users] RabbitMq Routing, Gettes, Michael, 01/31/2019
- RE: [grouper-users] RabbitMq Routing, Hyzer, Chris, 01/31/2019
- Re: [grouper-users] RabbitMq Routing, Gettes, Michael, 01/31/2019
- Re: [grouper-users] RabbitMq Routing, Crawford, Jeffrey, 01/30/2019
- RE: [grouper-users] RabbitMq Routing, Black, Carey M., 01/30/2019
- Re: [grouper-users] RabbitMq Routing, Gettes, Michael, 01/30/2019
- Re: [grouper-users] RabbitMq Routing, Vivek Sachdeva, 01/30/2019
Archive powered by MHonArc 2.6.19.