springcloud netflix的用法示例
首先本机先要安装以下环境。
例外本机用到了以下中间件,推荐使用docker部署。
├─springcloudNetflix-demo-----------------------父项目,公共依赖
│ │
│ ├─springcloud-eureka------------------------微服务注册中心
│ │
│ ├─springcloud-eureka-client-----------------Eureka客户端示例
│ │
│ ├─springcloud-config-server-----------------微服务配置中心
│ │
│ ├─springcloud-gateway-----------------------微服务网关中心
│ │
│ ├─springcloud-biz-common--------------------全局公共依赖
│ │ │
│ │ ├─common-core-----------------------------核心基础依赖
│ │ │
│ │ ├─common-web------------------------------web基础依赖
│ │ │
│ │ └─common-api------------------------------api基础依赖
│ │
│ ├─springcloud-biz-product---------------------商品服务
│ │ │
│ │ ├─product-common--------------------------商品服务基础依赖
│ │ │
│ │ ├─product-client--------------------------商品服务客户端
│ │ │
│ │ └─product-server--------------------------商品服务服务端
│ │
│ ├─springcloud-biz-order-----------------------订单服务
│ │ │
│ │ ├─order-common----------------------------订单服务基础依赖
│ │ │
│ │ ├─order-client----------------------------订单服务客户端
│ │ │
│ │ └─order-server----------------------------订单服务服务端
│ │
│ ├─springcloud-biz-user------------------------用户服务
│ │ │
│ │ ├─user-common-----------------------------用户服务基础依赖
│ │ │
│ │ ├─user-client-----------------------------用户服务客户端
│ │ │
│ │ └─user-server-----------------------------用户服务服务端
默认的部署分布如下:
服务 | 服务名 | 端口 | 备注 |
---|---|---|---|
数据库 | mysql | 3306 | 目前各应用共用一个,应用可建不同的database |
公共缓存 | redis | 6379 | 目前共用,原则上各应用单独实例 |
消息中间件 | rabbitmq | 5672 | 共用 |
日志收集中间件 | zipkin | 9411 | 共用 |
注册中心 | eureka | 8761 | 目前单点,可以配置高可用 |
配置中心 | config-server | 8790 | 目前单点,可以配置高可用 |
网关中心 | api-gateway | 9500 | 目前单点,可以配置高可用 |
商品服务 | biz-product | 9101 | 作为提供者的示例 |
订单服务 | biz-order | 9001 | 作为消费者的示例 |
用户服务 | biz-user | 9201 | 与网关配合实现用户鉴权 |
其中redis,rabbitmq,zipkin都用docker部署,注意配置里应填宿主机地址。
https://github.com/dantegarden/springcloudNetflix-demo.git
mvn clean install -U
eureka
config-server
other services......
线上配置文件仓库 需要配合github的webhook使用,因此要求配置中心有一个公网地址,推荐本地测试使用内网穿透(Natapp)