QuickStart · Meituan-Dianping/Zebra Wiki

[](#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)快速开始

[](#before-start)Before Start

[](#%E9%A1%B9%E7%9B%AE%E5%86%85%E6%A8%A1%E5%9D%97%E8%AF%B4%E6%98%8E)项目内模块说明

  • zebra-client(核心) : 除了监控外,几乎zebra所有核心功能,如读写分离、分库分表、就近路由、流量控制
  • zebra-cat-client(可选): 提供端到端的监控,将监控信息上报到CAT监控平台
  • zebra-dao(可选):对mybatis的轻量级封装,兼容mybatis原有的功能,并额外提供了异步化接口、分页插件、多数据源等功能
  • zebra-admin-web:zebra配置管理平台 用于管理zk和保存在zk中的zebra配置
  • zebra-sample: zebra客户端使用的demo
  • Zebra介绍
  • Zebra读写分离介绍
  • Zebra分库分表介绍

[](#%E4%BD%BF%E7%94%A8)使用

[](#1%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5)1.客户端接入

[](#%E7%8E%AF%E5%A2%83)环境

  • Java 7及以上版本 推荐使用java7版本
  • Maven 3及以上

[](#%E6%BA%90%E7%A0%81%E6%9E%84%E5%BB%BA)源码构建

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包:

[](#%E5%BC%95%E5%85%A5%E4%BE%9D%E8%B5%96)引入依赖

使用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>

[](#%E6%8E%A5%E5%85%A5)接入

1.读写分离接入
Zebra读写分离接入指南

2.分库分表接入
Zebra分库分表接入指南

3.dao及多数据源接入指南
zebra-dao接入指南

4.扩展功能
Zebra对于配置中心和监控部分提供可扩展的Spi接口:ZebraSpi扩展说明

[](#12%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0%E9%83%A8%E7%BD%B2)1.2管理平台部署

[](#%E7%8E%AF%E5%A2%83-1)环境

  • 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%E5%8F%82%E6%95%B0%E8%B0%83%E6%95%B4)tomcat参数调整

修改中文乱码: tomcat conf 目录下 server.xml

<Connector port="8080" protocol="HTTP/1.1"

       URIEncoding="utf-8"    connectionTimeout="20000"
           redirectPort="8443" /\>  

<!-- 增加 URIEncoding="utf-8" -->

[](#%E5%89%8D%E7%AB%AF%E6%89%93%E5%8C%85)前端打包

开发模式:
测试环境前端的请求会映射到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 //打包

[](#%E5%BB%BA%E5%BA%93%E5%BB%BA%E8%A1%A8)建库建表

[](#%E5%90%8E%E7%AB%AF%E9%83%A8%E7%BD%B2)后端部署

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"/>

[](#2demo%E5%8F%8A%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0%E4%BD%BF%E7%94%A8)2.demo及管理平台使用


原网址: 访问
创建于: 2022-01-07 15:49:32
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论