郑树新:Redis集群模式的应用实践|系统软件Tech Day

08/25 17:30
阅读数 15

系统软件Tech Day 第2期,我们邀请到了爱奇艺资深科学家郑树新为大家带来话题 Redis 集群模式的应用实践

该话题讲介绍Redis对外提供的常见数据结构、应用场景、通信协议设计及集成的设计思想,同时结合Acl Redis客户端驱动库,讲解设计 Redis 客户端通信库的设计要点和注意事项。

该话题主要面向从事后端应用服务的开发人员。

为了让大家更好地了解话题,活动组对郑树新老师就几个问题进行了简单采访。

Q请简单介绍一下您自己和目前从事的工作

郑树新 :我在 IT相关行业从业20多年,有过两次创业经历(第一次创业主要售卖企业邮件系统,第二次创业主要做IDC数据中心),一直坚守在技术前线,从事一些基础架构设计及编码工作。

Q 请介绍一下您在本次分享中的内容
郑树新 :本次分享的主要内容为『Redis集群模式的应用实践』,因为本人曾经实现一套完整的Redis客户端驱动并挂在Redis官网上,对于Redis的架构设计、通信模式及一些应用场景有些了解,所以在本次分享的主要内容有:

1、Redis集群的设计目标;

2、非阻塞通信方式模型;

3、Redis支持的数据存储类型;

4、Redis的通信协议设计;

5、Redis集群中节点的作用;

6、Redis集群的数据分区方式;

7、Redis集群数据访问方式(持久性重定向及临时性重定向);

8、Redis集群创建过程;

9、Redis集群的创建原则;

10、Redis集群中数据迁移过程;

11、Redis集群使用注意事项;

12、Redis集群客户编写要求;

13、Redis pipeline通信效率;

14、使用Acl Redis库编写应用;

15、Acl Redis Builder工具使用。


Q 您开源了跨平台网络通信及服务器开发框架 Acl,请展开介绍一下这个框架
郑树新 :Acl网络通信及服务开发框架是我20多年项目开发经验的抽象与总结,最早诞生于第一次创业时(大约2005年左右),最初只具备基本的网络通信功能,主要运行在Linux平台上。

后来因为工作中经常要编写服务器软件,所以花费了大约2个月的时间将服务器编程框架从著名的邮件MTA系统Postfix中移植出来(至今该框架仍被大量使用),并增加了多种服务器编程模型(目前已经支持的服务器模型有:进程池、线程池、非阻塞、协程等)。

之后在和讯工作时,添加了HTTP协议支持(因为工作中经常需要修改Squid软件,所以对HTTP协议相对熟悉),后来因为实际项目需要,将Acl库移植至Windows平台上。

在263企业通信工作,与同事合作了一个高性能用户认证的项目,期间用到了Redis服务并使用了官方自带的Redis客户端库,项目完成后一总结,发现自己至少三分之二以上的时间是折腾和完善官方的Redis库,于是下决定搞了一个Redis客户端库,目标是可以使用 C++ STL 一样简单,不必了解通信等细节;当然Acl库还有更多有价值的内容,主要如下:

A cl  工程是一个跨平 台(支持Linux,Win32,Solaris,macOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。 通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、UDP方式、协程方式)的服务器程序,WEB应用程序,数据库应用程序。 此外,该库还提供了常见应用的客户端通信库(如: HTTP、SMTP、ICMP、MQTT、Redis、Memcache、Beanstalk、Handler  socket),常见流式编解码库: XML/JSON/MIME/BASE64/UUCODE/QPCODE/RFC2047 etc。

关于更多 Acl 库的创建过程,可以参考早期的博客:
https://blog.csdn.net/zsxxsz/article/details/88388392

Acl库的下载地址:
https://github.com/acl-dev/acl

Q 您已经从事了二十多年的软件研发,如何保持高效率高质量的工作?
郑树新 要善于抽象总结,不断积累经验,保持一颗好奇之心,不断学习新知识新技能。

Q 从事系统软件研发是一件非常辛苦的事,有什么经验可以和大家分享?
郑树新 :计算机编程 本身是面向工程的,个人能力及经验积累与其参与项目的数量是正相关的;程序员的工作经验非常重要(不是说一个经验用10年的那种),需要在工作中不断地积累经验教训,进行抽象总结,同时学习新知识,使自己努力成为某些或某个领域的技术专家。

系统软件Tech Day由涛思数据主办,是一个有深度、有温度的技术分享舞台,内容中立,旨在促进系统软件研发人员的技术交流。相对来说,核心的系统软件开发人员还比较稀缺。我们希望能邀请这个领域比较资深的专家,给大家带来分享;也希望更多专家能主动走向前台,一起交流。

2021年8月28日14:00-17:00 ,系统软件Tech Day第2期,将由来自爱奇艺、小米和涛思数据的3位系统软件领域的专家为大家带来深度技术分享。让你学习技术干货的同时,也能从他人的实战经验中得到一些帮助。名额有限,感兴趣的扫描下方海报二维码,了解话题详情,免费报名参与!


👇点击阅读原文,报名系统软件Tech Day!

本文分享自微信公众号 - TDengine(taosdata_news)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部