文档详情

数据库中间件lesmysql.pptx

发布:2025-04-03约2.4千字共16页下载文档
文本预览下载声明

第十五讲

oracle中间件weblogic

•PaaS

•部署J2EE标准应用包括servlet,JSP,JavaBean

•基于SSL安全认证

•集成扩展JDBC,JMS,JNDI,JTA等服务

•自动化部署

•基于web的分布式监控

•高可用集群:LB,failover

数据库代理的特点

•基于mysqlNET协议

•读写分离

•负载均衡

•连接池

•连接故障转移

•SQL分析,过滤

•安全认证

•对应用完全透明,仅一个入口

mysql-proxy配置

1.tar解压成proxy文件夹

2.cdproxy;mkdiretclog

3.配置etc文件,并设置权限660

4.配置账号,并在mysql里授权(针对eth0的ip授权)

5.启动mysql-proxy

./bin/mysql-proxy--defaults-

file=/home/mysql/proxy/etc/proxy.conf

6.连接测试

mysql-proxy负载均衡

•通过rw-splitting.lua脚本实现

--connectionpool

ifnotproxy.global.config.rwsplitthen

proxy.global.config.rwsplit={

min_idle_connections=4,

max_idle_connections=8,

is_debug=false

}

end

业界方案

•mysql-proxy

性能较差

LUA脚本开发和维护成本高

•amoebaformysql

性能较好

配置相对复杂,无需LUA脚本

•自行研发proxy

amoeba系列

•淘宝工程师陈思儒主导研发

•AmoebaforMySQL

•AmoebaforAladdin

•AmoebaforMongoDB

amoebaformysql

•基于java

•负载均衡

•读写分离

•高可用(读自动failover)

•query过滤

•访问控制

•数据切分,路由访问

•官网

amoebaformysql架构

amoebaformysql安装

•安装java1.5以上

•解压

•修改conf文件

dbServer.xml:配置master和slave的信息

amoeba.xml:配置amoeba本身信息

rule.xml:如何分片数据,如何整合返回的数据规则

access_list.conf:前端程序访问控制列表

functionMap.xml:数据库函数如何被amoeba解析

ruleFunctionMap.xml:在rule.xml中自定义hash函数

log4j.xml:配置log4j日志输出信息

amoebaformysql使用

•安装jdk1.5以上

•exportJAVA_HOME=..

•启动amoeba进程:

cdbin;

./launcher

•关闭amoeba进程

./shutdown

•连接到amoeba

使用mysql客户端即可

amoebaformysql缺陷

•不支持事务

•不适合loaddata,大数据量查询(比如一次10W)

•不支持详细分库分表,目前只支持每个切分节点库表必须

一致。

amoebaformysql实战案例

•从库宕机

dbServers.xml:

dbServername=multiPoolvirtual=true

poolConfigclass=com.meidusa.amoeba.server.MultipleServerPool

!--Loadbalancingstrategy:1=ROUNDROBIN,2=WEIGHTBASED,3=HA--

propertyname=loadbalance1/property

!--Separatedbycommas,suchas:server1,server2,server1--

propertyname=poolName

显示全部
相似文档