大数据正式京淘10

大数据正式京淘10

数据库的读写分离

  • 电商项目京淘项目的瓶颈有哪些
    1. 数据库瓶颈
    2. IO【图片(文件)的上传】
    3. 单数据库读写--锁、效率低
  • 简单改造
    1. 利用redis减少数据库的压力,从而提升数据库的效率
  • 数据库的主从结构
    • 主:写数据
    • 从:备份数据,同时提供被读取
  • Master和Slave的主从复制过程
    • 配置
      1. 主上打开一个二进制日志文件(binary.log),在master写操作时,就会把写的命令存放到这个二进制文件(CUD),slave开启一个IO线程,线程定时读取主节点的二进制文件,将新的命令抓取过来,存放到本地一个中继日志中(relay.log),slave上还有定时启动的线程叫sql,监控本地的中继日志,一旦有新的命令发现,将会把中继日志的命令执行一遍,完成主从备份
      2. 安装linux的mysql(Percona):可以实现最终的一致性
  • 数据的一致性
    • 强一致性:实时同步
    • 弱一致性:慢同步,不及时同步

安装Linux的Percona【MySql】

amoeba

  • 图解
  • 主要功能
    • 读写分离
    • 负载均衡
  • 自定义函数库分库分表:sql繁琐
  • 手动配置
    1. amoeba.xml
    2. dbServer.xml

单点登录

  • Single Sign On(sso)
  • 目前市场比较流行的一种登录的方式
  • 单点登录的接口文件:两个系统数据进行调用和传输
    1. 请求连接地址
    2. 参数
    3. 返回数据

SSO功能

  • 可以访问数据库
  • 登录检查系统

做查询数据的合法性与前台对接

  • 前台:ajax请求

    $.ajax({
    url : "http://sso.jt.com/user/check/"+escape(pin)+"/1?r=" + Math.random(),
    dataType : "jsonp",
    success : function(data) {
        checkpin = data.data?"1":"0";
        if (!data.data) {
            validateSettings.succeed.run(option);
            namestate = true;
        }else {
            validateSettings.error.run(option, "该用户名已占用!");
            namestate = false;
        }
    }
        });
    
  • 后台:返回字符串数【注:返回时是处理过的JSONP数据】

    callback_123459876234({"status":200,"msg":"OK","data":false,"ok":true})
    

权限管理

  • 传统的是保存到session中,把数据带到页面进行显示,但是分布式的问题是session不能共享
  • sso:解决session共享
    • 图解
    • 解决不同的服务器都可以使用

整体结构

  • 结构还路上,未完待续

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘风御浪云帆之上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值