本文主要是介绍数据库中间件-Middleware,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
概念
中间件,也就是处于中间的软件,通过位置而非功能或特性来定义。中间件根据不同的功能又可以分为不同的种类,比如服务中间件Tomcat,消息中间件MQ等,这里主要讨论数据库中间件。
数据库平台需要解决以下三个问题:
- 可以为各个服务提供高性能、大容量、高可用的数据访问
- 满足增量数据的订阅与消费,比如缓存数据一致性的需求
- 异地,异构数据源的同步
整个数据库解决方案中,各个部分都有与之对应的中间件。
类别
分库分表
分库分表中间件主要负责与上层应用交互,屏蔽读写分离或者分库分表的底层实现细节,对开发人员透明,像操作单库单表一样去操作数据。分库分表中间件除了基本的分库分表功能,还可以提供读写分离、水平扩容等功能。
典型的分库分表中间件有两种设计方案:
- 直接为应用提供依赖,如Java中引入Jar文件,使用特定代理数据源,内部管理多个普通数据源(c3p0、druid、dbcp等),每个数据源各自与不同的库建立连接。典型代表有网易的DDB和阿里的TDDL等。
- 单独部署代理服务,应用层通过标准JDBC访问代理,代理服务根据数据库(如MySQL)的标准通信协议解析请求,再转发
这篇关于数据库中间件-Middleware的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!