> > In the beginning, the Application class was used for fatjar mode. I'm not > sure if we can do the same in osgi mode.
As Bathiya mentioned, MicroserviceRunner is only for the standalone mode(fatjar mode). In OSGi mode, all the Microservices must implement Microservice interface in order to get register as a service. Also, we need to eliminate micro service on which runs on HTTP and need to > have only HTTPs as default. If someone needs to serve through HTTP, they > can enable through a configuration. When registering Microservices you can property to instruct to what registry the particular service get register. If that param is not present, it will be added to all the available registries. Thanks Thusitha On Thu, Mar 16, 2017 at 2:44 AM, Bhathiya Jayasekara <[email protected]> wrote: > > On Mon, Mar 13, 2017 at 2:07 AM, Fazlan Nazeem <[email protected]> wrote: > >> Hi, >> >> According to the generated code, we are implementing Microservice >> Interface for each of the currently listed microservice. I assume because >> of this each of these class is considered as a separate microservice. This >> results in a large microservice count. >> >> @Sanjeewa, >> Could we use an Application class and create a MicroserviceRunner(3 >> instances, each for publisher,store and admin) instance and deploy each of >> those granular level apis(i.e APIsAPI, ApplicationsApi) via the Runner to >> achieve what Abimaran is proposing? I assume this way we don't have to >> implement Microservice interface. We used to do this in the beginning stage >> of C5 implementation, but we moved away for some reason. >> > > In the beginning, the Application class was used for fatjar mode. I'm not > sure if we can do the same in osgi mode. > > [+Thusitha] > > Thanks, > Bhathiya > > >> >> >> On Mon, Mar 13, 2017 at 12:04 PM, Abimaran Kugathasan <[email protected]> >> wrote: >> >>> Hi Sanjeewa, >>> >>> >>> On Mon, Mar 13, 2017 at 11:55 AM, Sanjeewa Malalgoda <[email protected]> >>> wrote: >>> >>>> Yes azeez we can change it if need. If need we can get all services >>>> into one service class by having same tag for all resources defined within >>>> swagger definition then it will create only one service class for all paths >>>> defined. But i believe having different service classes for different >>>> service is more cleaner than having all in one service class. >>>> >>> >>> >>> My worry is, why we need to create separate micro service instance for >>> each path defined, not about having separate class for each service. >>> >>> Can we have separate class and one service? Like one micro service per >>> context, but separate classes for each path? >>> >>> >>>> >>>> Thanks, >>>> sanjeewa. >>>> >>>> On Sun, Mar 12, 2017 at 6:27 AM, Afkham Azeez <[email protected]> wrote: >>>> >>>>> This should be something to do with Swagger to MSF4J generation, right >>>>> Sanjeewa? >>>>> >>>>> On Thu, Mar 9, 2017 at 1:05 PM, Abimaran Kugathasan <[email protected] >>>>> > wrote: >>>>> >>>>>> Hi All, >>>>>> >>>>>> Currently, for each path defined in swagger yaml, MSF4J creates new >>>>>> micro service. This leads increasing memory consumption, booting up time. >>>>>> >>>>>> If I gave the real stats, for API Manager 3.0, initial booting time >>>>>> was lesser than 2 seconds with 4 micro services, after adding more REST >>>>>> API >>>>>> paths (for the same swagger ymal definition), the booting time was >>>>>> increased to 6.1 seconds. Following micro-services are defined at the >>>>>> moment in API Manager which will grow in future. >>>>>> >>>>>> >>>>>> [2017-03-09 12:44:43,399] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.keymana >>>>>> ger.KeymanagerService@566ffc20 >>>>>> [2017-03-09 12:44:43,405] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.keymana >>>>>> ger.KeymanagerService@566ffc20 >>>>>> [2017-03-09 12:44:43,436] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.admin.PoliciesApi@3868a733 >>>>>> [2017-03-09 12:44:43,463] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.admin.PoliciesApi@3868a733 >>>>>> [2017-03-09 12:44:43,578] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.ApisApi@3d75ed80 >>>>>> [2017-03-09 12:44:43,642] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.ApisApi@3d75ed80 >>>>>> [2017-03-09 12:44:43,701] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.ApplicationsApi@516acba6 >>>>>> [2017-03-09 12:44:43,740] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.ApplicationsApi@516acba6 >>>>>> [2017-03-09 12:44:43,776] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.EndpointsApi@52efb978 >>>>>> [2017-03-09 12:44:43,808] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.EndpointsApi@52efb978 >>>>>> [2017-03-09 12:44:43,838] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.EnvironmentsApi@55df6f78 >>>>>> [2017-03-09 12:44:43,869] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.EnvironmentsApi@55df6f78 >>>>>> [2017-03-09 12:44:43,916] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.LabelsApi@986a887 >>>>>> [2017-03-09 12:44:43,956] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.LabelsApi@986a887 >>>>>> [2017-03-09 12:44:43,991] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.PoliciesApi@18cb6f74 >>>>>> [2017-03-09 12:44:44,029] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.PoliciesApi@18cb6f74 >>>>>> [2017-03-09 12:44:44,071] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.SubscriptionsApi@3740316c >>>>>> [2017-03-09 12:44:44,109] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.publisher.SubscriptionsApi@3740316c >>>>>> [2017-03-09 12:44:44,151] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.ApisApi@19ca2c53 >>>>>> [2017-03-09 12:44:44,194] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.ApisApi@19ca2c53 >>>>>> [2017-03-09 12:44:44,244] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.ApplicationsApi@66c70660 >>>>>> [2017-03-09 12:44:44,290] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.ApplicationsApi@66c70660 >>>>>> [2017-03-09 12:44:44,339] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.PoliciesApi@50ba8085 >>>>>> [2017-03-09 12:44:44,380] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.PoliciesApi@50ba8085 >>>>>> [2017-03-09 12:44:44,424] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.SubscriptionsApi@18da9675 >>>>>> [2017-03-09 12:44:44,474] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.SubscriptionsApi@18da9675 >>>>>> [2017-03-09 12:44:44,525] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.TagsApi@1e835f96 >>>>>> [2017-03-09 12:44:44,573] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.apimgt.rest.ap >>>>>> i.store.TagsApi@1e835f96 >>>>>> [2017-03-09 12:44:44,843] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesServerSC} >>>>>> - All microservices are available >>>>>> [2017-03-09 12:44:44,844] INFO {org.wso2.carbon.transport.htt >>>>>> p.netty.internal.NettyTransportServiceComponent} - All >>>>>> CarbonNettyServerInitializers are available >>>>>> [2017-03-09 12:44:44,856] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.uuf.httpconnec >>>>>> tor.msf4j.UUFMicroservice@1a3c0a9c >>>>>> [2017-03-09 12:44:44,856] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.uuf.httpconnec >>>>>> tor.msf4j.UUFMicroservice@1a3c0a9c >>>>>> [2017-03-09 12:44:44,857] WARN {org.wso2.carbon.kernel.intern >>>>>> al.startupresolver.StartupComponentManager} - You are trying to add >>>>>> an available capability org.wso2.msf4j.Microservice from >>>>>> bundle(org.wso2.carbon.uuf.httpconnector.msf4j:1.0.0.m13) to an >>>>>> already activated startup listener component wso2-microservices-server in >>>>>> bundle(msf4j-core:2.1.1). Refer the Startup Order Resolver documentation >>>>>> and validated your configuration >>>>>> [2017-03-09 12:44:44,857] INFO {org.wso2.carbon.uuf.httpconne >>>>>> ctor.msf4j.internal.MSF4JHttpConnector} - UUF app ' >>>>>> org.wso2.carbon.apimgt.web.store' is available at '/store'. >>>>>> [2017-03-09 12:44:44,859] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.uuf.httpconnec >>>>>> tor.msf4j.UUFMicroservice@3178a583 >>>>>> [2017-03-09 12:44:44,859] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.uuf.httpconnec >>>>>> tor.msf4j.UUFMicroservice@3178a583 >>>>>> [2017-03-09 12:44:44,859] WARN {org.wso2.carbon.kernel.intern >>>>>> al.startupresolver.StartupComponentManager} - You are trying to add >>>>>> an available capability org.wso2.msf4j.Microservice from >>>>>> bundle(org.wso2.carbon.uuf.httpconnector.msf4j:1.0.0.m13) to an >>>>>> already activated startup listener component wso2-microservices-server in >>>>>> bundle(msf4j-core:2.1.1). Refer the Startup Order Resolver documentation >>>>>> and validated your configuration >>>>>> [2017-03-09 12:44:44,860] INFO {org.wso2.carbon.uuf.httpconne >>>>>> ctor.msf4j.internal.MSF4JHttpConnector} - UUF app >>>>>> 'org.wso2.carbon.apimgt.web.publisher' is available at '/publisher'. >>>>>> [2017-03-09 12:44:44,861] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.uuf.httpconnec >>>>>> tor.msf4j.UUFMicroservice@2d9caac3 >>>>>> [2017-03-09 12:44:44,861] INFO >>>>>> {org.wso2.msf4j.internal.MicroservicesRegistryImpl} >>>>>> - Added microservice: org.wso2.carbon.uuf.httpconnec >>>>>> tor.msf4j.UUFMicroservice@2d9caac3 >>>>>> >>>>>> Do we really need to create new micro service for each path? What's >>>>>> the reason behind this? >>>>>> >>>>>> Some of the services below can be combined to one, for example >>>>>> org.wso2.carbon.apimgt.rest.api.publisher.ApisApi, >>>>>> org.wso2.carbon.apimgt.rest.api.publisher.ApplicationsApi, >>>>>> org.wso2.carbon.apimgt.rest.api.publisher.EndpointsApi, >>>>>> org.wso2.carbon.apimgt.rest.api.publisher.EnvironmentsApi, >>>>>> org.wso2.carbon.apimgt.rest.api.publisher.LabelsApi, >>>>>> org.wso2.carbon.apimgt.rest.api.publisher.SubscriptionsApi can be >>>>>> combined to one micro service, since they can be functionally categorized >>>>>> together as publisher micro service. >>>>>> >>>>>> org.wso2.carbon.apimgt.rest.api.store.ApisApi, >>>>>> org.wso2.carbon.apimgt.rest.api.store.ApplicationsApi, >>>>>> org.wso2.carbon.apimgt.rest.api.store.PoliciesApi, >>>>>> org.wso2.carbon.apimgt.rest.api.store.SubscriptionsApi, >>>>>> org.wso2.carbon.apimgt.rest.api.store.TagsApi can be combined to one >>>>>> micro service, since they can be functionally categorized together as >>>>>> store >>>>>> micro service. >>>>>> >>>>>> Also, we need to eliminate micro service on which runs on HTTP and >>>>>> need to have only HTTPs as default. If someone needs to serve through >>>>>> HTTP, >>>>>> they can enable through a configuration. >>>>>> >>>>>> Your responses are much appreciated. >>>>>> >>>>>> -- >>>>>> Thanks >>>>>> Abimaran Kugathasan >>>>>> Senior Software Engineer - API Technologies >>>>>> >>>>>> Email : [email protected] >>>>>> Mobile : +94 773922820 <077%20392%202820> >>>>>> >>>>>> <http://stackoverflow.com/users/515034> >>>>>> <http://lk.linkedin.com/in/abimaran> >>>>>> <http://www.lkabimaran.blogspot.com/> <https://github.com/abimarank> >>>>>> <https://twitter.com/abimaran> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Afkham Azeez* >>>>> Senior Director, Platform Architecture; WSO2, Inc.; http://wso2.com >>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>> * <http://www.apache.org/>* >>>>> *email: **[email protected]* <[email protected]> >>>>> * cell: +94 77 3320919 <077%20332%200919>blog: * >>>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>>> *twitter: **http://twitter.com/afkham_azeez* >>>>> <http://twitter.com/afkham_azeez> >>>>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>>> >>>>> *Lean . Enterprise . Middleware* >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> *Sanjeewa Malalgoda* >>>> WSO2 Inc. >>>> Mobile : +94713068779 <+94%2071%20306%208779> >>>> >>>> <http://sanjeewamalalgoda.blogspot.com/>blog >>>> :http://sanjeewamalalgoda.blogspot.com/ >>>> <http://sanjeewamalalgoda.blogspot.com/> >>>> >>>> >>>> >>> >>> >>> -- >>> Thanks >>> Abimaran Kugathasan >>> Senior Software Engineer - API Technologies >>> >>> Email : [email protected] >>> Mobile : +94 773922820 <+94%2077%20392%202820> >>> >>> <http://stackoverflow.com/users/515034> >>> <http://lk.linkedin.com/in/abimaran> >>> <http://www.lkabimaran.blogspot.com/> <https://github.com/abimarank> >>> <https://twitter.com/abimaran> >>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> Thanks & Regards, >> >> Fazlan Nazeem >> >> *Software Engineer* >> >> *WSO2 Inc* >> Mobile : +94772338839 >> <%2B94%20%280%29%20773%20451194> >> [email protected] >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > *Bhathiya Jayasekara* > *Senior Software Engineer,* > *WSO2 inc., http://wso2.com <http://wso2.com>* > > *Phone: +94715478185 <+94%2071%20547%208185>* > *LinkedIn: http://www.linkedin.com/in/bhathiyaj > <http://www.linkedin.com/in/bhathiyaj>* > *Twitter: https://twitter.com/bhathiyax <https://twitter.com/bhathiyax>* > *Blog: http://movingaheadblog.blogspot.com > <http://movingaheadblog.blogspot.com/>* > -- Thusitha Dayaratne Software Engineer WSO2 Inc. - lean . enterprise . middleware | wso2.com Mobile +94712756809 Blog alokayasoya.blogspot.com About http://about.me/thusithathilina <http://wso2.com/signature>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
