deployment - Is there a way to split Hybris modules to different managed servers -
i have hybris deployment on single weblogic managed server. problem during performance testing found better split hybris modules admin cockpit , product catalogue different managed servers.
edit
i suppose should mention fact infra team asking me separate out ears in case of code changes, affected module gets redeployed , not whole bunch. way if let performance front out, still need splits
now problem build hybris produces single ear file.
is there way, in can break down ear file , have modules optionally there...
so structure be:
managed server 1
- hybris core
- admin cockpit
managed server 2
- hybris core
- product catalogue
after links deployments redirected via url configuration
any suggestions??
i'm not sure if eliminate problems encounter don't think admin cockpit causing performance bottleneck. performance issue? quite performance impact can come admin/backend triggered functionality e.g. cronjobs (e.g. updating product catalog stock/product information), or solr indexing jobs etc.
one common approach have seen in hybris cluster environments setup cluster of multiple nodes , have 1 node reserved backend activity (so expensive cronjobs run on dedicated node not served load balancer handling storefront requests). think code deployment perspective artifact still same. hope helps @ least food thoughts :)
edit
in short: multiple hybris servers accessing same db need setup cluster. multiple hybris servers different sets of extensions can't share same db (as db layout different).
to honest, doesn't sound approach me. in hybris use different localextension.xml files (which define extensions (i.e. modules) part of code artifact). being said, if have 2 vastly different localextensions.xml files (one product catalog , 1 admin) resulting 'admin' deployment artifact not contain data model of 'catalog' deployment, persistence layer wouldn't match up. in other words, in admin server wouldn't able see data model defined in 'catalog' server because 'catalog' specific extensions not installed.
and if go without set cluster environment, changes on 1 server (written down db) wouldn't noticed on other server unless actively refresh/purge hybris cache there either, multiple hybris servers sharing same db functioning if servers set cluster.
i think if admin server supposed work on actual 'catalog' data, both need have same set of extensions defined in localextensions.xml in order work @ all. sharing same database without being aware there cluster (or other hybris servers accessing same db) not going work imo.
i still think best shot deploy same code artifacts (in cluster environments can still setup different behavior/configuration per node). still (if 100% sure of it) deploy new release code changes affect 'catalog' node on catalog node if want reduce downtime etc, risk if have cluster different deployments on each node.
good luck :)
Comments
Post a Comment