zoukankan      html  css  js  c++  java
  • 架构设计方案

    一、全部基于服务

    View   →   统一数据接口   →  缓存模块  → 数据库

    二、统一数据接口 考虑用WebServices

    1、  多种客户端调用统一数据接口读取数据

    2、  通过统一数据接口管理缓存

    3、  主要业务逻辑

    三、中间层----缓存模块

    1、  分布式缓存memcached

    四、数据库读写分离

    1、  两个主数据库(Write)  →  多个从数据库(Read)

    2、  通过事务发布订阅机制同步主从数据库  

    3、  主数据库垂直拆分(网友添加、邮件订阅、VIP,企业展示)VIP管理有问题,主要是主从数据同步延迟的问题。如果VIP数据单独维护,拆分出主库,大的数据列表又有问题。VIP管理时,更新主DB,同时更新所有相关缓存数据,倒是可以解决这一问题

    4、从数据库拆分 水平拆分(条件:两年前) VIP管理后台要做调整,区分两年前后,搜索模块得调整,这样拆分按照网站的结构性能能提升,但两年前数据库不断增大,迟 早也会出现瓶颈;垂直拆分(按红黑中类别拆分),关联查询的比较多,似乎不适合;垂直拆分(按企业类别拆分),似乎可行

            

    五、多服务器部署

    1、主数据库、编辑后台    →  服务器A(性能最优)、从数据库、前台   → 服务器B

    六、优点

    1、  多种平台调用统一接口,提高了代码复用性

    2、  数据库读写分离

    3、减少现有这种架构的数据冗余度

    4、SOA架构

    5、可以通过扩展从数据库提升性能

    七、缺点

    1、  主从数据同步有延迟

    八、扩展

    1、  当Write操作达到瓶颈时,主库可以按照从库的结构垂直拆分,改动不大,主要是数据库连接字符串的变动。

    2、  当Read操作达到瓶颈时,从库继续垂直拆分,统一数据接口也可以按照从库的结构拆分,缓存模块按照统一数据接口的结构拆分

  • 相关阅读:
    SVN 使用学习记录
    jQuery 获取 URL信息
    JS扩展方法
    .Net 加密 哈希
    SQL Serverf 索引
    SQL Server索引
    SQL Server索引
    insert into select 多个表
    Mysql数据库自带四个数据库的解析
    转: MySQL5.7 ERROR 1142 (42000)问题
  • 原文地址:https://www.cnblogs.com/isfish/p/3187679.html
Copyright © 2011-2022 走看看