WEB架构之存储-SSDB(03)

2020年7月21日20:40:31 发表评论 608 views

1.1 SSDB介绍

SSDB一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis。

1.1.1 SSDB特性

  • 替代 Redis 数据库, Redis 的 100 倍容量
  • LevelDB 网络支持, 使用 C/C++ 开发
  • Redis API 兼容, 支持 Redis 客户端
  • 适合存储集合数据, 如 list, hash, zset...
  • 客户端 API 支持的语言包括: C++, PHP, Python, Java, Go
  • 持久化的队列服务
  • 主从复制, 负载均衡

1.1.2 SSDB与Redis性能对比

WEB架构之存储-SSDB(03)

1.2 部署SSDB主-主同步

1.2.1 编译安装SSDB

[[email protected] ~]# wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
[[email protected] ~]# unzip master.zip
[[email protected] ~]# cd ssdb-master
[[email protected] ssdb-master]# make && make install

1.2.2 编辑双主配置文件

[[email protected] ~]# vim /usr/local/ssdb/ssdb.conf
server:
        # specify an ipv6 address to enable ipv6 support
        # ip: ::1
        ip: 0.0.0.0
        port: 8888
replication:
        binlog: yes
        # Limit sync speed to *MB/s, -1: no limit
        sync_speed: -1
        slaveof:
                # to identify a master even if it moved(ip, port changed)
                # if set to empty or not defined, ip:port will be used.
                id: svc_1
                # sync|mirror, default is sync
                type: mirror
                host: 10.10.10.104  # 对端主服务器IP
                port: 8888          # 对端主服务器端口

[[email protected] ~]# vim /usr/local/ssdb/ssdb.conf
server:
        # specify an ipv6 address to enable ipv6 support
        # ip: ::1
        ip: 0.0.0.0
        port: 8888
replication:
        binlog: yes
        # Limit sync speed to *MB/s, -1: no limit
        sync_speed: -1
        slaveof:
                # to identify a master even if it moved(ip, port changed)
                # if set to empty or not defined, ip:port will be used.
                id: svc_2
                # sync|mirror, default is sync
                type: mirror
                host: 10.10.10.103  # 对端主服务器IP
                port: 8888          # 对端主服务器端口

1.2.3 启动服务

[[email protected] ~]# echo 'export PATH=$PATH:/usr/local/ssdb' >> /etc/profile
[[email protected] ~]# source /etc/profile
[[email protected] ~]# ssdb-server -d /usr/local/ssdb/ssdb.conf

1.2.4 验证运行结果

[[email protected] ~]# ssdb-cli 10.10.10.103
ssdb (cli) - ssdb command line tool.
Copyright (c) 2012-2016 ssdb.io

'h' or 'help' for help, 'q' to quit.

ssdb-server 1.9.8

ssdb 10.10.10.103:8888> info
version
    1.9.8
links
    1
total_calls
    8
dbsize
    0
binlogs
        capacity : 20000000
        min_seq  : 0
        max_seq  : 2
replication
    client 10.10.10.104:53332
        type     : mirror
        status   : SYNC
        last_seq : 2
replication
    slaveof 10.10.10.104:8888
        id         : svc_1
        type       : mirror
        status     : SYNC
        last_seq   : 2
        copy_count : 0
        sync_count : 0
serv_key_range
        kv  : "" - ""
        hash: "" - ""
        zset: "" - ""
        list: "" - ""
data_key_range
        kv  : "age" - "name"
        hash: "" - ""
        zset: "" - ""
        list: "" - ""
leveldb.stats
                                   Compactions
    Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
    --------------------------------------------------
 
21 result(s) (0.001 sec)
(0.001 sec)
ssdb 10.10.10.103:8888> set name leon
ok
(0.000 sec)
ssdb 10.10.10.103:8888> set age 20
ok
(0.000 sec)
ssdb 10.10.10.103:8888> get name
leon
(0.000 sec)
ssdb 10.10.10.103:8888> get age
20
(0.000 sec)
ssdb 10.10.10.103:8888> q
bye.

[[email protected] ~]# ssdb-cli 10.10.10.104
ssdb (cli) - ssdb command line tool.
Copyright (c) 2012-2016 ssdb.io

'h' or 'help' for help, 'q' to quit.

ssdb-server 1.9.8

ssdb 10.10.10.104:8888> info
version
    1.9.8
links
    1
total_calls
    7
dbsize
    0
binlogs
        capacity : 20000000
        min_seq  : 0
        max_seq  : 4
replication
    client 10.10.10.103:46810
        type     : mirror
        status   : SYNC
        last_seq : 4
replication
    slaveof 10.10.10.103:8888
        id         : svc_2
        type       : mirror
        status     : SYNC
        last_seq   : 4
        copy_count : 0
        sync_count : 4
serv_key_range
        kv  : "" - ""
        hash: "" - ""
        zset: "" - ""
        list: "" - ""
data_key_range
        kv  : "age" - "name"
        hash: "" - ""
        zset: "" - ""
        list: "" - ""
leveldb.stats
                                   Compactions
    Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
    --------------------------------------------------
 
21 result(s) (0.002 sec)
(0.002 sec)
ssdb 10.10.10.104:8888> get name
leon
(0.003 sec)
ssdb 10.10.10.104:8888> get age
20
(0.001 sec)
ssdb 10.10.10.104:8888> q
bye.

1.3 参考资料

官方网站:http://ssdb.io/zh_cn/

官方文档:http://ssdb.io/docs/zh_cn/index.html

https://www.cnblogs.com/hxlasky/p/11381021.html

weinxin
我的微信
如果有技术上的问题可以扫一扫我的微信
版权声明
1. 本网站名称:Leon的博客
2. 本站永久网址:https://blog.leonshadow.cn
3. 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ632113590进行删除处理。
4. 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6. 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
liyang