MTDDL 美团分布式数据访问中间件(转) 原文地址:MTDDL--美团点评分布式数据访问层中间件 因原文文字和图显示有问题,故整理于此,仅供参考. 业界方案 组件 简介 Atlas Qihoo 360开发维护的一个基于MySQL协议的数据中间层项目.它实现了MySQL的客户端与服务端协议,作为服务端与应用程序通信,同时作为客户端与MySQL通信. Cobar 阿里巴巴B2B开发的关系型分布式系统,管理将近3000个MySQL实例. 在阿里经受住了考验,后面由于作者的走开的原因cobar没有人维…
1.内容:  hibernate 也是一个经典的[数据访问中间件] 开源框架.    2.hibernate核心组件       SessionFactory[整个数据的操作]重量级组件       Session[对数据库的一次业务操作] 轻量级   3.ORM(对象关系映射):   是一种数据访问层 解决方案.用它开源很好的移植到不同数据库平台.        通过 对象模型   操作  数据库关系模型     4.hibernate配置    配置SessionFactory   开发大致…
一些小的C/S项目(winform.WPF等),因需要访问操作数据库,但又不能把DB连接配置在客户端上,原因有很多,可能是DB连接无法直接访问,或客户端不想安装各种DB访问组件,或DB连接不想暴露在客户端(即使加密连接字符串仍有可能被破解的情况),总之都是出于安全考虑,同时因项目小,也无需采用分布式架构来将业务操作封装到服务端,但又想保证客户端业务的正常处理,这时我们就可以利用ASP.NET WEB API框架开发一个简单的提供对数据库的直接操作(CRUD)框架,简称为:分布式数据访问中间层.…
适用于app.config与web.config的ConfigUtil读写工具类   之前文章:<两种读写配置文件的方案(app.config与web.config通用)>,现在重新整理一个更完善的版本,增加批量读写以及指定配置文件路径,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 4…
在实际业务系统中,当单个数据库不能承载负载压力的时候,一般我们采用数据库读写分离的方式来分担数据库负载.主库承担写以及事务操作,从库承担读操作. 为了支持多种数据库我们先定义一个数据类型字典.key为连接字符串,value为数据库类型: /// <summary> /// 数据库方言集合 /// </summary> private readonly Dictionary<string, DatabaseDialectEnum> DialectDictionary =…
本文介绍最近几年美团点评MySQL数据库高可用架构的演进过程,以及我们在开源技术基础上做的一些创新.同时,也和业界其它方案进行综合对比,了解业界在高可用方面的进展,和未来我们的一些规划和展望. MMM 在2015年之前,美团点评(点评侧)长期使用MMM(Master-Master replication manager for MySQL)做数据库高可用,积累了比较多的经验,也踩了不少坑,可以说MMM在公司数据库高速发展过程中起到了很大的作用. MMM的架构如下. 如上所示,整个MySQL集群提…
大型网站架构演进 大型网站是一种很常见的分布式系统,除了海量数据和高并发的访问量,本身业务和系统也复杂. 大型网站的架构演进 我们现在常用的大型网站都是从小网站一步一步发展起来的,这个过程中会 有一些通用的问题要解决,而这些也是我们构建中间件系统的基础,那么我们就 从最简单的网站结构开始,看看随着网站从小到大的变化,网站架构发生了哪些 变化. a.用Java技术和单机来构建的网站 我们先从最简单的开始吧.说到做网站,不管大家是自己动手实践过,还是听说过,肯定能反应出很多技术名词,例如LAMP.M…
360 Atlas 较为活跃,Atlas 是由 360 Web平台部基础架构团队开发维护的一个基于 MySQL 协议的数据中间层项目.它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性.360内部使用 Atlas 运行的 MySQL 务,每天承载的读写请求数达几十亿条. 主要功能:        1. 读写分离        2. 从库负载均衡        3. IP过滤        4. SQL语句黑白名单        5. 自动分表 Cobar…
分布式(Distributed)数据访问层(Data Access Layer),简称DAL,是利用MySQL Proxy.Memcached.集群等技术优点而构建的一个架构系统.主要目的是解决高并发.大数据流操作遇到的和数据访问有关的问题,例如怎么进行切库分表,怎样能够更好的防止服务单点故障等等. 分布式数据访问层的诞生 是由手机之家一位资深的开发者和架构师许超先最先提出的. 2007年,手机之家的用户已经接近1000万.PV也到了500万以上,正处于中小型网站向大型网站的过渡时期.那时候,我…
360 Atlas Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性.360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条. Altas架构: Atlas是一个位于应用程序与MySQL之间,它实现了MySQL的客户端与服务端协议,作为服务端与应用程序通讯,同时作为客户端与MySQL通讯.它对应用程序屏蔽了DB的细节,同…