Sitecore使用MongoDB进行跟踪和分析。如果生产环境分为多个地理位置,特别是在不同的大陆,应如何配置xDB ?如果xDB在任何副本集中只能有一个可写主实例,这是否会强制所有前端CD服务器全局写入一个特定数据中心的同一节点?这似乎并不理想。
投票将此问题移至https://dba.stackexchange.com/
答案 0 :(得分:0)
我在一周前在Sitecore用户组伦敦问平台开发人员问了这个问题,他们回答说xDB 的所有数据都在内部保存为UTC格式。
我们以前也遇到过不同时区的服务器问题,但是那时它会影响事件队列(它们在不同的时区时不起作用),所以将所有服务器保持在时间同步的同一时区会做这份工作。
以下是Sitecore的官方指南: https://doc.sitecore.net/sitecore%20experience%20platform/utc/settings%20supporting%20utc%20implementation
答案 1 :(得分:0)
你是对的,最终所有数据都归结为“一个”Mongo,但该副本集本身也可以在地理上分布。如果您愿意,也可以对MongoDB进行分片。有关此类扩展的信息,请参阅geographic redundancy上的MongoDB手册。从手册:
虽然副本集提供针对单实例故障的基本保护,但其成员全部位于单个设施中的副本集在该设施中容易出错。停电,网络中断和自然灾害都是可能影响其成员共处的副本集的问题。要防止这些类型的故障,请在地理位置不同的设施或数据中心部署具有一个或多个成员的副本集,以提供冗余。
另请注意,对于地理位置分散的环境中的xDB,您需要为每个CD群集配置一个会话状态服务器。这会在会话期间收集所有用户的信息,在会话完成之前刷新到收集数据库。 “clustered environments”上的Sitecore指南包含有关此地理配置的图表和一些信息。从指南:
每个群集可以包含两个或更多内容传递实例,每个实例都有自己的会话状态服务器。您还可以将群集组合在一起,或者将它们分布在不同的地理位置。