网易中间件Cetus开源啦

网易中间件Cetus为解决数据库性能瓶颈而生,由网易乐得专家团队研发,全面修复和创新MySQL Proxy。Cetus提供读写分离和Sharding功能,支持MySQL协议,无缝对接应用。其单进程无锁模式提高效率,具备分布式事务、连接池等高级特性。目前在网易各产品线广泛使用,并已开源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cetus的诞生

网易电商近年来业务呈现爆发式增长,原架构环境下,数据库的性能和吞吐量已无法应对其带来的巨大压力,为彻底解决数据库的瓶颈,Cetus应运而生。Cetus由网易乐得专家技术团队领队,经多部门协调合作设计出来的优秀中间件。具有正统基因,基于官方MySQL Proxy的版本进行全面修复和再创新,提供了一个全新的数据库代理软件。目前已在网易乐得各个产品线上得到广泛应用。

功能特性

Cetus兼容MySQL协议,前端应用不用修改即可通过Cetus访问数据库,方便DBA运维同学们和开发同学们的使用。Cetus实现了数据库层面的横向扩展,解决了数据库的瓶颈。

目前Cetus有两个版本,读写分离版和Sharding版,可通过编译参数选择适合的版本。Cetus为了更好的提供服务,选了单进程模式,单进程特点鲜明,用情专一,无锁模式更能大大的提升单个实例的效率。另外Cetus还支持对用户透明的各项高大上功能,例如分布式事务、连接池、结果集压缩、安全管理、状态监控、Tcp Stream传输等等。

在这里插入图片描述
有没有来电?好,再来点冲击波,让大家更深刻地感受她的魅力,直至爱上她~

Cetus架构

Cetus位于应用端与MySQL数据库之间,连接彼此。为了实现负载均衡,前端应用可以连接LVS节点,LVS节点负责转发到多个Cetus服务,后者通过自身的连接池连接到数据库。数据库的高可用部分,目前使用了比较流行的MHA,并在此基础上进行了二次开发。整体架构图如下所示。

在这里插入图片描述

Cetus 的主要功能模块包括

SQL解析
引入了词法分析器flex以及语法分析器lemon,细粒度解析SQL,进行路由。

连接池
根据连接需求自适应调整连接数量,连接管理更加高效,比如连接复用,开销极小,并提供连接等待机制。

读写分离
减少写库压力,分散读压力到各个Slave节点,可配置优先主库。

Sharding
数据可通过配置进行横向扩展,目前支持int,string,date类型的key。

配置管理
管理功能丰富,支持密码加密,前后端不同密码,白名单,数据缓存大小等。
在这里插入图片描述
数据流
Cetus监听客户端请求。

收到客户端新建连接请求后,Cetus分配可用连接。

连接建立和认证通过后,Cetus进行SQL解析后转发。

接收后端返回的结果集,进行合并和修改,然后转发给客户端。

收到客户端关闭连接的请求,Cetus重置连接位并放回连接池。

好了,以上仅仅是个简介,心动的小伙伴们赶快行动起来吧,各种详尽的文档尽在github。

Cetus中间件
开源地址

欢迎提供宝贵意见
github地址:https://github.com/Lede-Inc/cetus/blob/master/doc/cetus-quick-try.md

社群
技术专家在线及时反馈
cetus开源qq群号: 521824702
cetus开源微信群群二维码:dba_lede

网易乐得DBA组负责网易乐得电商、网易邮箱、网易技术部数据库日常运维,负责数据库私有云平台的开发和维护,负责数据库及数据库中间件的开发和测试等,分享最前沿实用数据库干货,关注网易乐得DBA,精修数据库功底。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值