Skip to content
SpringCloud 微服务综合实例。分布式配置中心,服务发现&负载均衡,链路断路器,API网关,OAuth2认证授权,分布式追踪,ELK日志中心,Ansible/Docker持续交付等最佳实践。
Java PLpgSQL FreeMarker Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.cache
.settings
api
composite
config
core update bootstrap.env Sep 19, 2017
playbooks
screenshots
support
.Xauthority
.bash_history
.gitignore
.project
.viminfo
LICENSE
README
README.md
bootstrap.env
bootstrap.rc
docker-compose.yaml
docker-compose.yaml-3.0-sample
docker-compose.yaml~
pom.xml

README.md

xxproject

SpringCloud 微服务综合实例。分布式配置中心,服务发现&负载均衡,链路断路器,API网关,OAuth2认证授权,分布式追踪,ELK日志中心,Docker持续交付等最佳实践。

Features:    

  • 分布式配置中心, 通过消息总线更新配置
  • Eureka实现服务端服务注册/服务发现/负载均衡
  • Feign实现客户端负载均衡
  • Hystrix实现链路断路器
  • Zuul实现API网关
  • Zipkin&Sleuth实现分布式追踪
  • 消息驱动
  • 分布式锁&信号量
  • 统一异常处理
  • 统一HTTP处理
  • 国际化
  • OAuth2.0与安全
  • API文档与测试
  • 批处理
  • 分布式任务调度
  • 分布式ID中心
  • 日志收集
  • 同步与异步调用
  • RPC调用
  • 其他最佳实践

Overview:    

  • 系统全景图:
    image

  • 技术实现:

    服务 实现方案 项目
    分布式配置中心 SpringCloud Config Server support/config-server
    服务注册/负载均衡 Netflix Eureka support/eureka-server
    客户端负载均衡 NetFlix Ribbon --
    链路保护与监控 NetFlix Hystrix support/turbine-server & support/hystrix-dashboard    
    API网关 NetFlix Zuul support/zuul-server
    分布式追踪调用链分析 SpringCloud Sleuth support/zipkin-server        
    OAuth2认证授权 SpringCloud Security OAuth support/auth-server
    基础服务 -- core/product-service & core/review-service    
    聚合服务 -- composite/product-composite-service  
    API服务 -- api/product-api-service
    日志处理 ELK --
    普通方式部署 Ansible Playbooks --
    容器化部署 Docker Compose --

Compile:

  • 编译构建为Jar包: mvn clean package

  • 编译构建为Docker镜像: mvn clean package docker:build, 镜像列表:    

    image

Deploy:

  • Jar方式部署: 可参考READM步骤

  • Docker方式部署: source bootstrap.rc && docker-compose up -d, 检查以下17个容器正常运行(容器数量较多,机器内存最好在8G以上,否则可能导致部分容器启动失败):        

    image
    image

  • 部署完成, 访问Eureka: http://localhost:8001/, 查看注册的服务实例如下:    image  

Enjoy:

You can’t perform that action at this time.