On Wed, Oct 14, 2020 at 4:03 AM Chamod Samarajeewa <[email protected]> wrote:
> Hi all, > > In a multiple Traffic Manager(TM) setup of WSO2 APIM, the users have to > use a file-sharing system (NFS) to sync the throttle policies between TM > nodes. This is needed because during a creation/updating/removal of policy, > only a single TM will be called via an Admin service to deploy the > execution plan. In order to maintain the consistency between TM nodes, a > file-sharing mechanism is required in this case. > > To avoid the usage of a file-sharing approach, we are going to introduce a > new approach as below to synchronize the TM nodes. > > [image: throttle-policy-deployer.jpg] > > > - Add a new JMS listener to the TM component to trigger on > POLICY_CREATE, POLICY_UPDATE, POLICY_DELETE events (These events are > already available for the purpose of Gateway functionalities) > - Add/Edit the internal REST APIs to retrieve the policy metadata > (sufficient enough to build the policy using the templates) from the > database > - Move the policy templates to the TM > - Inside the newly added JMS listener, the internal REST APIs will be > called to retrieve the policy metadata and use the policy templates to > build the execution plan. > - Then, the execution plan will be deployed calling the > EventProcessorAdminService directly > > > This should be a good feature to have for TM HA deployments, IMO the approach is pretty much similar to how other event base improvements made at APIM 3.2.0. Anyway a few quick question; 1. What is this internal *REST APIs (Event Hub)*? Is that something to be part of the internal implementation of the APIM admin? or an external component? if Internal EvenHub to be part of (Admin Node), you may have to correct the scope, boundaries to represent this in a way to adhere to the architectural representation. 2. Other than that, I would assume the existing PolicyDeployer configuration (api-manager.xml), maybe deprecate with the internal PolicyDeployer DB references, correct me if I'm wrong! 3. Also, with this change, *it would be mandatory to have DB sharing between the Admin Node and the TM nodes*, isn't it? Or Admin node pushes the policy changes with meta-data and the context to the EventHub (internal representation in memory) then, JMSListners at TM pull this information, what are failover situations? 4. Will there be any potential changes with APIM Admin HA mode? > With the above-mentioned approach, file sharing will no longer be required > between TM nodes since the policy details are pulled from the database and > deployed upon a change to them. > > Please share your thoughts. Thank you. > > Best regards, > Chamod. > > -- > *Chamod Samarajeewa* > Software Engineer - WSO2 > > Email - [email protected] > Mobile - +94710397382 > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > -- Cheers, *Dushan Abeyruwan *| Solutions Architect | WSO2 Inc. (c) 408-987-1348 | (e) [email protected]
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
