# 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 启动时的部分环境变量