做者 | Eatonhtml
导语 | 随着微服务与云的发展,分布式架构的需求变得愈来愈广泛,Web 上的数据类型再也不单一,数据量呈爆发式增加。传统的 SQL 结构化存储方案已经跟不上脚步, NoSQL 便出现了。DCache 做为基于 TARS 的分布式 NoSQL 缓存系统,完美支持 TARS 服务,可以方便地在 TARS 服务中使用,本系列文章将着重介绍 DCache 的安装与使用。那么如何拥有这套系统呢?本文将对 DCache 的安装和应用建立方式进行介绍。git
目录
- 简介
- 背景
- SQL 与 NoSQL
- DCache
- 安装 DCache
- 环境依赖
- 编译构建
- 部署
- 建立 DCache 应用
- 总结
简介
背景
随着移动互联网和云的发展,用户量不断增加,业务访问量与日俱增,光靠资源的扩容已经没法解决全部的问题。特别是像电商平台、音视频点播等,存在大规模的数据访问,对查询效率要求很高,传统的数据库磁盘 IO 已经很难知足。github
为了解决这一问题,NoSQL 数据库诞生了,它经过将数据缓存到内存中,使用时直接从内存中调用,大大减小磁盘 IO 的开销,提高查询效率,与分布式结合还可以实现海量数据的处理。这个NoSQL,具体No在哪呢?web
SQL 与 NoSQL
SQL 是指数据库的结构化查询语言,它是数据库的操做命令集,传统的关系型数据库都使用标准的 SQL 语句操做处理数据。数据库
NoSQL 是指一类数据库,主要用于高性能处理超海量数据,它的一大特色是数据结构简单,以 key-value
为主,数据之间非关联,容易作水平扩展。后端
从字面上看,NoSQL 彷佛是与 SQL 对立的,作 NoSQL 彷佛就意味着放弃 SQL,然而实际上 NoSQL 本意是 Not Only SQL,它不只仅是 SQL,那么也就能够包含 SQL 的能力。缓存
DCache
DCache 是一个基于 TARS 框架开发的分布式 NoSQL 存储系统,数据采用内存存储,同时支持链接后端 DB 实现数据持久化,结合了 NoSQL 和 SQL 的优点,具有如下特色数据结构
- 高性能存储引擎,支持
key-value
(键值对),k-k-row
(多键值),list
(列表),set
(集合),zset
(有序集合)等多种数据结构; - 采用集群模式,实现高扩展性和高可用性,支持异地镜像,就近接入;
- 支持经过 TARS 名字服务访问,支持同步、异步、单向 RPC 调用方式;
- 高效运维平台,在线完成服务部署、扩缩容、迁移,以及服务配置,服务调用质量监控;
- 业务无须和直接和 MySQL 交互, DCache 会自动缓写 DB。
更多关于 DCache 的信息,能够查看 DCache的GitHub仓库。架构
那么接下来,咱们来看看如何在 TARS 上安装部署 DCache。框架
安装 DCache
环境依赖
DCache 基于 TARS 开发,所以编译安装以前,须要先安装 TARS 框架,具体安装步骤能够参考 TARS 框架部署文档。
编译构建
先将 DCache 源码克隆下来
git clone https://github.com/Tencent/DCache.git
接着进入 DCache 目录,执行如下命令进行编译构建
mkdir build cd build cmake .. make make release make tar
执行完以后便可生成 DCache 中各服务的发布包。
部署
生成发布包后,接下来就是将 DCache 部署在 TARS 中了。这一步,咱们直接使用 DCache 中的自动部署脚本就能够了。
咱们只须要进入前面编译构建项目的 build
目录,填写参数,执行安装脚本便可
cd build ../deploy/install.sh $TARS_MYSQL_IP $TARS_MYSQL_PORT $TARS_MYSQL_USER $TARS_MYSQL_PASSWORD $DCACHE_MYSQL_IP $DCACHE_MYSQL_PORT $DCACHE_MYSQL_USER $DCACHE_MYSQL_PASSWORD $CREATE $WEB_HOST $WEB_TOKEN $NODE_IP
各参数释义以下
TARS_MYSQL_IP
: TARS 数据库的 IP;TARS_MYSQL_PORT
: TARS 数据库的端口;TARS_MYSQL_USER
: TARS 数据库的用户名;TARS_MYSQL_PASSWORD
: TARS 数据库的密码;DCACHE_MYSQL_IP
: DCache 数据库的 IP;DCACHE_MYSQL_PORT
: DCache 数据库的端口;DCACHE_MYSQL_USER
: DCache 数据库的用户名;DCACHE_MYSQL_PASSWORD
: DCache 数据库的密码;CREATE
: 是否从新建立 DCache 的数据库,为true
则从新建立;若是已经建立,例如须要升级原有 DCache,能够设置为false
,避免从新建立;WEB_HOST
: TarsWeb 平台地址;WEB_TOKEN
: TarsWeb 平台 Token (须要进入web平台, 用户中心上, 建立一个 Token);NODE_IP
: 公共服务部署节点 IP, 部署完成后, 你能够在 TarsWeb 平台扩容到多台节点机上。
例如
../deploy/install.sh 192.168.1.123 3306 tarsAdmin Tars@2019 192.168.1.124 3306 root 123456 192.168.1.123:3000 abcdefg1randomtoken12345 192.168.1.123
TARS 与 DCache 的数据库能够相同,但若是在正式环境中使用,建议分开使用,为 DCache 创建独立的数据库。
执行完成后,DCache 即安装完成,以下图。
建立 DCache 应用
安装完 DCache,咱们就能够来建立第一个 DCache 应用了。
首先咱们须要先添加一个地区,用于标识咱们建立的 DCache 应用。点击顶部的 服务建立
,点击下方 Tab 栏中的 地区
,点击 新增地区
,填写地区和标签,例如 深圳
,标签 sz
,以下
建立完成后,点击 Tab 栏中的 建立应用
,填写应用名,并选择一个 IDC 地区,点击 建立应用
。好比咱们建立一个 TestDemo
应用,地区选择 深圳
,以下
在 Router配置信息
中,选择 服务IP
,并填写 MySQL 实例信息;Proxy配置信息
中,选择代理服务的 服务IP
,点击 建立 router、proxy 服务
完成应用建立。
最后,点击 安装发布
,便可发布应用
发布完成后,回到 服务管理
,刷新便可看到刚刚建立的 DCache 应用 TestDemo
咱们将在下一篇文章中介绍如何在这一应用中部署缓存模块,并在 TARS 服务中使用,敬请期待。
总结
本文简要介绍了 DCache 的特性,并详细说明了如何安装 DCache 并建立一个 DCache 应用,帮助开发者快速部署、上手 DCache。关于 DCache 服务模块的建立和使用,将在后续系列文章中进行介绍,尽请期待。
TARS 能够在考虑到易用性和高性能的同时快速构建系统并自动生成代码,帮助开发人员和企业以微服务的方式快速构建本身稳定可靠的分布式应用,从而令开发人员只关注业务逻辑,提升运营效率。多语言、敏捷研发、高可用和高效运营的特性使 TARS 成为企业级产品。
TARS微服务助您数字化转型,欢迎访问:
TARS官网:https://TarsCloud.org
TARS源码:https://github.com/TarsCloud
Linux基金会官方微服务免费课程:https://www.edx.org/course/building-microservice-platforms-with-tars
获取《TARS官方培训电子书》:https://wj.qq.com/s2/6570357/3adb/
或扫码获取: