On Wed, Apr 26, 2017 at 10:51 AM, Manoj Gunawardena <man...@wso2.com> wrote:

> Are we going to use durable subscription here? When ever gw node down and
> re start,
> it should fetch messages which add to the topic during the down time.
> In case durable subscription what is the mechanism to create client id for
> each gw.Is that discussed and confirm?
>

No, we are not going to use durable topic. New gateways (scaling) or if we
restart a gateway, existing APIs will fetch via API Manager core. Only new
API (after boot up) notifications are getting via the topic and actual API
will fetch from the core. ( we can try what sanjeewa mention - getting API
from the topic - but previous APIs need to fetch from the core)


>
> On Tue, Apr 25, 2017 at 2:20 PM, Sanjeewa Malalgoda <sanje...@wso2.com>
> wrote:
>
>> API create/update/delete are similar type of events IMO. After we getting
>> any event for these what we have to do is redeploy API or discard it. IMO
>> if possible we should try to avoid web service call based update and send
>> ballerina file with event itself(if its not heavy object). Other type of
>> event is subscription change(which originates from API store). And for the
>> throttling we need another topic. So as i see we can survive with only 3
>> topics at the moment.
>>
>> Thanks,
>> sanjeewa.
>>
>> On Tue, Apr 25, 2017 at 11:44 AM, Nuwan Dias <nuw...@wso2.com> wrote:
>>
>>> The type of events we're talking about here are rare events. API
>>> creation, subscription, etc won't happen that frequently. So I don't think
>>> there will be much load on the broker as such.
>>>
>>> Architecturally having separate topics will be clean. The code and the
>>> error handling parameters (dead letter queue) can be defined per event
>>> type. However I think it'll cause additional burden to the Gateway since
>>> the Gateway now has to establish and maintain several connections to the
>>> broker. And since these connections need to happen at startup, each
>>> connection that needs to be established adds up to the startup time of the
>>> Gateway. So I would prefer to minimize the number of topics as much as
>>> possible.
>>>
>>> On Tue, Apr 25, 2017 at 11:09 AM, Thilini Shanika <thili...@wso2.com>
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>> According to APIM C5 architecture, the events like API create, API
>>>> lifecycle status change, API subscriptions are notified to APIM gateway via
>>>> JMS topic/topics in the broker.
>>>>
>>>> Following diagram depicts how APIM core, broker and gateway components
>>>> interact when there is an event generated from Core.
>>>>
>>>>
>>>> Following are the two options we came up while implementing above event
>>>> publishing scenario from APIM Core --> Broker --> Gateways.
>>>>
>>>> *1) Publishing all the events to a common topic *
>>>>
>>>> A single topic is maintained in broker and all the gateways are
>>>> subscribed to this common topic. APIM core publishes all the events
>>>> generated from APIM to this particular topic. After topic subscription, the
>>>> gateways keep listening to the topic and once a notification is received,
>>>> it has to be filtered to identify the event type and perform the required
>>>> action. The events like API create, lifecycle status change, API
>>>> subscription etc are getting published through this common topic and the
>>>> event type has to be reflected in the notification itself so that the
>>>> gateways can identify the notification and decide what has to be performed
>>>> next. In this case, it has to maintain a single connection to JMS topic
>>>> from each gateway.
>>>>
>>>>
>>>> ​
>>>>
>>>> *2) Maintaining dedicated topics for each event type*
>>>>
>>>> In this option, we can either maintain dedicated topic for each event
>>>> type (API Create, API publish, API subscription) or maintain dedicated
>>>> topics for API publisher, API store events. As per this solution, the
>>>> gateways have to subscribe to all these topics and keep listening to all of
>>>> them. In that case, gateways have to establish and maintain more
>>>> connections with the broker, since there are several topic subscriptions.
>>>> Once a notification is generated from APIM and published to the relevant
>>>> topic, that particular notification is received by the relevant gateway
>>>> service and process the message to perform the next action. But, the
>>>> filtering logic which has to be executed in ballerina gateway side is less
>>>> complex in this solution.
>>>>
>>>>
>>>> ​
>>>> What would be the best option here? Your suggestions and comments are
>>>> highly appreciated.
>>>>
>>>> Thanks
>>>> Thilini
>>>>
>>>>
>>>>
>>>> --
>>>> Thilini Shanika
>>>> Senior Software Engineer
>>>> WSO2, Inc.; http://wso2.com
>>>> 20, Palmgrove Avenue, Colombo 3
>>>>
>>>> E-mail: tgtshan...@gmail.com
>>>>
>>>>
>>>
>>>
>>> --
>>> Nuwan Dias
>>>
>>> Software Architect - WSO2, Inc. http://wso2.com
>>> email : nuw...@wso2.com
>>> Phone : +94 777 775 729 <077%20777%205729>
>>>
>>
>>
>>
>> --
>>
>> *Sanjeewa Malalgoda*
>> WSO2 Inc.
>> Mobile : +94713068779 <+94%2071%20306%208779>
>>
>> <http://sanjeewamalalgoda.blogspot.com/>blog
>> :http://sanjeewamalalgoda.blogspot.com/
>> <http://sanjeewamalalgoda.blogspot.com/>
>>
>>
>>
>> _______________________________________________
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Manoj Gunawardena
> Tech Lead
> WSO2, Inc.: http://wso2.com
> lean.enterprise.middleware
> Mobile : +94 77 2291643
>



-- 
Lakmal Warusawithana
Director - Cloud Architecture; WSO2 Inc.
Mobile : +94714289692
Blogs : https://medium.com/@lakwarus/
            http://lakmalsview.blogspot.com/
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to