# Microservice
**Repository Path**: tuo_xiaobao/Microservice
## Basic Information
- **Project Name**: Microservice
- **Description**: 基于spring cloud 实现的微服务框架
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-03-11
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#简介:
本项目是使用spring cloud + docker 实现的微服务案例,所有配置文件已经调整为
docker 部署时的配置。
##目录结构:
config: 动态配置文件
config-server: 动态配置文件服务。
hystrix-server: 断路由仪表
register-server: 服务注册中心,使用eureka 实现,spring cloud 直接进行了封装。
service-api: 服务接口定义,常规jar包,只用于服务接口定义,用于下面使用feign 实现伪RPC
service-consumer: 服务消费者,使用 feign 实现,也可以选择使用ribbon 实现。spring cloud 都提供了支持
service-getway: 服务网关,对外提供统一调用接口,可以进行接口权限以及过滤处理。使用zuul 实现。
service-produce: 服务提供者,使用 eureka 实现,spring cloud 有直接的支持。也可以改用consul ,
如果改用consul 则不能使用上面的服务注册中心,需要安装consul 提供的consul 服务。
zipkin-server: 服务链路追踪服务,用于记录服务之间互相调用的跟踪以及处理时间,方便进行服务调优。
##服务部署(建议)
1. 克隆项目到本地。
2. 编译项目,使用 mvn install(因为有项目之间的引用,第一次编译时,使用package会编译失败)。
3. docker 镜像创建,sudo mvn docker:build (PS:可以在pom.xml中配置后可以在在mvn package阶段进行创建,省略这一步。插件:)
4. 在项目目录下进行容器创建, sudo docker-compose create service-getway (因为docker-compose 中配置了depends_on,会相应的创建其他服务的容器)
5. 按照以下顺序分别启动容器, sudo docker start config-server。(config-server、register-server、zipkin-server,其他不分先后)
PS:容器的创建和启动可以合为一步 sudo docker-compose up -d service-getway,但是不建议使用。
##本地启动
1. 配置环境变量 spring.profiles.active=dev
2. 启动服务
##其他说明
* docker-compose.yml 为docker-compose 配置文件,详细方法请参考官网:
* config 目录下的所有配置文件已经改为docker部署情况下的配置文件,如需要本地启动请修改config-server中的配置文件后指定到自己需要的git/svn 路径。
* test.env 为docker 启动时的部分环境变量