11. Zookeeper客户端Zookeeper服务10搜索引擎搜索引擎(索引中)搜索引擎搜索引擎搜索引擎
(休息)Web ServicesWeb ServicesWeb ServicesWEB服务层PHP Web ServerPHP Web ServerPHP Web Server邦购网搜索应用架构
12. 11邦购网搜索应用服务器调度算法服务器调度算法
1)判断索引文件是否已创建,如果没有创建,在/SEARCHAPP/OUTOFSERVICE/创建节点状态【CREATE】,服务器开始创建索引文件,索引创建完成跳转到2)
2)【索引文件已创建】读取/SEARCHAPP/INSERVICE/下所有子节点,写入变量IN SERVICE NODES
3)如果变量IN SERVICE NODES小于等于最少服务节点,当前需要搜索服务,在/SEARCHAPP/INSERVICE下创建临时节点状态【SERVICE】,并且监测/SEARCHAPP/INSERVICE节点数据变化,服务器开始提供搜索服务,如果节点数据变化跳转到8)
4)变量IN SERVICE NODES大于最少服务节点,当前不需要搜索服务,读取ZooKeeper节点/SEARCHAPP/OUTOFSERVICE所有子节点,写入变量OUT OF SERVICE NODES
5)如果变量OUT OF SERVICE NODES大于等于最大不服务节点,在/SEARCHAPP/OUTOFSERVICE/创建临时节点状态【IDEL】,服务器等待60秒,调转到4)
6)变量OUT OF SERVICE NODES小于最大不服务节点,在/SEARCHAPP/OUTOFSERVICE/创建临时节点状态【CHECK】,服务器检查索引文件数据和数据库中数据比对
7)比对检查完毕服务器状态修改为【UPDATE】,并且根据检查结果服务器更新索引文件,更新完成后跳转到2)
8)【SERVICE】状态服务器接收到节点/SEARCHAPP/INSERVICE数据变化,根据索引最后更新时间的先后顺序,推选出1名代表,未当选的服务器继续提供搜索服务
9)被选出的服务器,跳转到2)
10)任何服务器死机,自动删除节点
搜索客户端调度算法
1)读取/SEARCHAPP/INSERVICE/下所有子节点,并且监测/SEARCHAPP/INSERVICE节点数据变化
2)取出所有子节点下可用服务器IP地址
13. 12Hadoop Mahout框架Collaborative Filtering(协同过滤)
User and Item based recommenders(用户和商品推荐)
K-Means, Fuzzy K-Means clustering(K均值-模糊K均值聚类)
Mean Shift clustering(均值聚类)
Dirichlet process clustering
Latent Dirichlet Allocation(狄利克雷分配)
Singular value decomposition(奇异值分解)
Parallel Frequent Pattern mining(并行频度模式挖掘)
Complementary Naive Bayes classifier(贝叶斯分类)
Random forest decision tree based classifier(随机森林决策树的分类)
High performance java collections (previously colt collections)(高性能集合算法)
A vibrant community
and many more cool stuff to come by this summer thanks to Google summer of code