关于系统架构的一些总结
1.DB sharding 有两种方式实现
a) DB Proxy
PHP/.Net ---> dbproxy ---> mysql/Sql server
dbproxy针对各类查询设计了一套缓冲系统,有效的降低了数据库的负荷,避免某些高并发的应用经常出现 too many connections 的错误,一个dbproxy可以方便的允许大量并
b) 客户端自己根据业务选择(是不合理的)
ESB/OPEN Api 直联与间联
客户端可以通过ESB作为中间服务调用企业后台各服务。如果客户端都有间联的话,ESB将成为单点中心,一旦ESB出现问题,会出现单点故障。
这时要弱化客户端对后台各业务服务的间联。客户端只从ESB取得后台业务服务的地址,然后直接调用后台服务。
另外:ESB/OPEN Api对外只有一般的查询功能。更新功能则使用队列。从而避免客户端重复提交更新,而且避免客户端调用出现异常情况导致数据不一致。
数据结构化
标签是一种数据结构化的展现方式,能够提高数据使用效率。
通过标签与标签结构化关系,使用搜索引擎机制,从而使网站更有个性化。
PV 与UV 简单计算
60W UV X 6 约等于 360W PV
基于用户的稳定缓存机制
如果有10台缓存服务器,它们之间是同步的。但缓存数据有丢失或同步不一致的情况。
这种情况可以基本 用户cookie + 15分钟 哈希后取一台服务器作为此用户 15分钟内的“专用”缓存命中服务器
以上,是工作中应用到的一些关于架构的总结,分享一下,欢迎交流。