快速入门
优质
小牛编辑
133浏览
2023-12-01
Before Start
项目内模块说明
- zebra-client(核心) : 除了监控外,几乎zebra所有核心功能,如读写分离、分库分表、就近路由、流量控制
- zebra-cat-client(可选): 提供端到端的监控,将监控信息上报到CAT监控平台
- zebra-dao(可选):对mybatis的轻量级封装,兼容mybatis原有的功能,并额外提供了异步化接口、分页插件、多数据源等功能
- zebra-admin-web:zebra配置管理平台 用于管理zk和保存在zk中的zebra配置
zebra-sample: zebra客户端使用的demo
- Zebra读写分离介绍
- Zebra分库分表介绍
使用
1.客户端接入
环境
- Java 7及以上版本 推荐使用java7版本
- Maven 3及以上
源码构建
1. git clone https://github.com/Meituan-Dianping/Zebra.git
2. cd zebra
3. mvn clean install -DskipTests
依赖下载失败 可以尝试配置这个公有云的仓库地址到本地Maven配置(一般为~/.m2/settings.xml),理论上不需要配置即可,可以参考zebra的pom.xml配置:
<repositories>
<repository>
<id>central</id>
<name>Maven2 Central Repository</name>
<layout>default</layout>
<url>http://repo1.maven.org/maven2</url>
</repository>
<repository>
<id>unidal.releases</id>
<url>http://unidal.org/nexus/content/repositories/releases/</url>
</repository>
</repositories>
*如果依赖始终无法下载下来,可以直接下载jar包:
引入依赖
使用Maven构建项目,需添加如下依赖
依赖稳定版本请参考Zebra版本更新记录
<!--核心依赖:数据源-->
<dependency>
<groupId>com.dianping.zebra</groupId>
<artifactId>zebra-client</artifactId>
<version>${version}</version>
</dependency>
<!--可选依赖:CAT监控打点-->
<dependency>
<groupId>com.dianping.zebra</groupId>
<artifactId>zebra-cat-client</artifactId>
<version>${version}</version>
</dependency>
<!--核心依赖: dao -->
<dependency>
<groupId>com.dianping.zebra</groupId>
<artifactId>zebra-dao</artifactId>
<version>${version}</version>
</dependency>
接入
1.读写分离接入
Zebra读写分离接入指南
2.分库分表接入
Zebra分库分表接入指南
3.dao及多数据源接入指南
zebra-dao接入指南
4.扩展功能
Zebra对于配置中心和监控部分提供可扩展的Spi接口:ZebraSpi扩展说明
1.2管理平台部署
环境
- Maven 3及以上
- Java 8,管理平台使用jdk8版本
- Linux 2.6以及之上,线上服务端部署请使用Linux环境,Mac以及Windows环境可以作为开发环境,美团点评内部CentOS 6.5
- MySQL 5.6,5.7,更高版本MySQL都不建议使用,不清楚兼容性
- J2EE容器建议使用tomcat,建议使用推荐版本7.x.
- Npm 6.x. 版本 测试使用版本6.4.1
tomcat参数调整
修改中文乱码: tomcat conf 目录下 server.xml
<Connector port="8080" protocol="HTTP/1.1"
URIEncoding="utf-8" connectionTimeout="20000"
redirectPort="8443" />
<!-- 增加 URIEncoding="utf-8" -->
前端打包
开发模式:
测试环境前端的请求会映射到8081端口上 需要后台服务使用8081端口 测试环境运行前端页面
1.cd zebra/zebra-admin-web/src/main/webapp/app
2.npm install //安装前端依赖
3.npm run dev //开发模式运行
前端打包:
前端页面打包在webapp目录下的pack目录中 后端打包时会自动将pack目录打进war包
1.cd zebra/zebra-admin-web/src/main/webapp/app
2.npm install //安装前端依赖
3.npm run build //打包
建库建表
后端部署
1. cd zebra/zebra-admin-web
2. mvn clean package -DskipTests
打包完成后将打好的war包放入tomcat的webapps目录下 启动tomcat 如果tomcat启动后跳转空白页或tomcat默认页面 可以编辑${tomcat安装目录}/config/server.xml在</Host>
标签前添加配置
<Context path="/" docBase="zebra-admin-web.war" debug="0" privileged="true" reloadable="true"/>