Skip to content

QuickStart

junior_xin edited this page Jan 22, 2019 · 21 revisions

快速开始

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读写分离介绍

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

2.demo及管理平台使用

Clone this wiki locally