+ Kishanthan, Niranjan, Thusitha. On Thu, Mar 9, 2017 at 1:32 PM, Cyril Rognon <[email protected]> wrote:
> Hi all, > > as we are facing the same problems on another architecture involving micro > services : when they are legion it comes to a cost that is endangering > ressources. The danger is real when one strictly follows the "one process - > one instance" motto. > > I strongly advise to add some possibility to regroup different paths to > the same microservice instance. > The tags seems to be a good starting point to gather paths and group them > in a single micorservice instance. Of course it could be parametrized to > keep the possibility to have one for one... > > Thanks > Cyril > > 2017-03-09 8:35 GMT+01:00 Abimaran Kugathasan <[email protected]>: > >> 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 <+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 >> >> > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Thanks Abimaran Kugathasan Senior Software Engineer - API Technologies Email : [email protected] Mobile : +94 773922820 <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
