Hybris支持cluster mode的部署,不同节点间通过局域网使用UDP进行通信。
而SAP Netweaver经典的3层layer里就提到Application layer也支持multiple node:
比如在AG3用tcode SM53查看,发现其是由3个node组成:
Cache invalidation
无论Hybris,还是Netweaver,都面临一个需要解决的问题,即cache / buffer invalidation.
Cache Invalidation Concept in Hybris
The core of a Hybris Cluster is a network communication system that makes sure the cache of each individual cluster member only holds valid data. The nodes in the Hybris Cluster communicate using TCP (JGroups) or UDP, by sending signals to other nodes that mark some cache entries as invalid because a database item has been changed. The following is the overview of the cache invalidation process:
(1) A description of a product has changed. Therefore, all cache entries referring to the product are invalid.
(2) A cluster node where the modification has been done sends a notification to all cluster nodes that all cache entries holding the product are invalid.
(3) Nodes that hold the product in their cache discard the cached data of the product and re-retrieve the product from the database the next time the product is used.
node之间用于通知cache invalidation的协议有UDP Multicast, UDP Unicast, or JGroups.各有优缺点:
(1) JGroups provides the fastest communication and can be used both in the cloud for testing purposes and in a LAN or WAN network.
(2) UDP Multicast has some limitations in that some routers do not allow multicast network traffic by default. Amazon Elastic Compute Cloud (Amazon EC2) does not work using UDP, either.
Cache Invalidation Concept in Netweaver
SAP help上分了13个步骤详细讲解:
by default cluster mode is deactivated. See startup log:
cloud foundry也支持分布式部署,节点之间通过消息通信。通过组件NATS实现
在安装时也能观察到:
NATS是CF启动时需要执行的5个process之一:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":