首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有办法将海布里模块分割成不同的托管服务器?

是否有办法将海布里模块分割成不同的托管服务器?
EN

Stack Overflow用户
提问于 2016-01-27 08:19:56
回答 1查看 735关注 0票数 0

我在单一的上部署了Hybris。问题是,在性能测试期间,发现最好将诸如管理座舱和产品目录等海布里模块拆分到不同的托管服务器上。

编辑 我想我也应该提到一个事实,我的Infra团队要求我把耳朵分开,这样在代码更改的情况下,只有受影响的模块才会被重新部署,而不是整群人。那样的话,即使我们把表演摆在前面,我还是需要分裂。

现在,我的问题是,对于构建,海布里产生一个单独的EAR文件。

有没有办法,我可以分解EAR文件,并有选择的模块在那里.

所以结构是:

托管服务器1

  • 狂躁核
  • 管理座舱

托管服务器2

  • 狂躁核
  • 产品目录

之后,通过URL配置重定向到部署的链接

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-28 10:07:14

我不确定这是否会消除你遇到的问题,因为我不认为管理驾驶舱本身会造成性能瓶颈。性能问题是什么?通常,性能影响可能来自管理/后端触发的功能,例如cron作业(例如用库存/产品信息更新产品目录)或solr索引作业等。

我在hybris集群环境中看到的一种常见方法是设置一个由多个节点组成的集群,并为后端活动保留一个节点(因此,昂贵的cron作业运行在负载均衡器处理店面请求不提供服务的专用节点上)。但我认为从代码部署的角度来看,工件仍然是一样的。希望这至少能作为思想的食物:)

编辑

简而言之:需要设置多个访问同一个db的超级服务器,作为集群。具有不同扩展集的多个超级服务器不能共享同一个db (因为db布局将是不同的)。

老实说,对我来说这听起来不太好。在傲慢中,您将使用不同的localextension.xml文件(这些文件定义哪些扩展名(即模块)是代码工件的一部分)。尽管如此,如果您有两个截然不同的localextensions.xml文件(一个用于产品目录,另一个用于管理),则生成的'admin‘部署工件将不包含“catalog”部署的数据模型,因此持久性层将不匹配。换句话说,在您的管理服务器中,您甚至无法看到在“目录”服务器中定义的数据模型,因为没有安装“catalog”特定的扩展。

如果您没有正确设置集群环境,则除非您在另一个服务器上主动刷新/清除超级缓存,否则将不会注意到一个服务器(写到db)上的更改,因此,只有将服务器设置为集群时,共享相同db的多个超级服务器才能正常工作。

我认为,如果您的管理服务器应该处理实际的“目录”数据,那么它们都需要在其localextensions.xml中定义相同的扩展集,才能使其工作。共享同一个数据库而不知道集群(或者基本上是其他访问相同数据库的其他超级服务器)将无法工作。

我仍然认为最好的方法是部署相同的代码构件(在集群环境中,每个节点仍然可以设置不同的行为/配置)。您仍然可以(如果您100%肯定它)部署一个新的发行版,其中的代码更改只会影响该目录节点上的“catalog”节点,如果您希望减少停机时间等,但如果在每个节点上部署了不同的集群,则始终存在风险。

祝你好运:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35032010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档