• 关于系统架构的一些总结(1)


    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分钟内的“专用”缓存命中服务器

     以上,是工作中应用到的一些关于架构的总结,分享一下,欢迎交流。

  • 相关阅读:
    Android自动化框架学习中遇到的方法
    Python中使用adb命令行
    monkeyrunner无法运行的问题解决方案总结
    TCP与UDP的区别
    KVM虚拟机的认知
    HTTP状态码分类
    FTP主动模式(Port)和被动模式(Passive)的区别
    Linux df -h 显示磁盘空间满,但实际未占用满——问题分析
    浅谈AD域
    zabbix连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
  • 原文地址:https://www.cnblogs.com/alexyu/p/dbproxy.html
Copyright © 2020-2023  润新知