# ss-spring-cloud
**Repository Path**: sansheng93/ss-spring-cloud
## Basic Information
- **Project Name**: ss-spring-cloud
- **Description**: 基于 Spring Cloud Netflix 的一套微服务架构下的 demo 项目
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-11-23
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### README.md
基于 Spring Cloud Netflix 的一套微服务架构下的 demo 项目。
技术组成如下:
- **eureka** --- 微服务治理, 服务注册和发现
- **ribbon** --- 服务消费者, 控制负载均衡与请求重试
- **hystrix** --- 断路器, 服务降级与熔断
- **feign** --- 集成 `ribbon` + `hystrix`, 提供声明式消费者客户端
- **hystrix dashboard** --- 单服务的监控
- **turbine** --- 汇集监控信息
- **zuul** --- `API` 网关, 提供微服务的统一入口, 并进行权限验证
- **config** --- 云端配置中心
- **bus** --- 消息总线, 配置刷新
- **sleuth + zipkin** --- 链路跟踪
#### 项目结构
```
├─基础依赖: sc01-commons
│ ├─商品服务: sc02-itemservice, 端口 8001, 8002
│ ├─用户服务: sc03-userservice, 端口 8101, 8102
│ ├─订单服务: sc04-orderservice, 端口 8201, 8202
├─注册中心: sc07-eurekacluster, 端口 2001, 2002, 2003
├─断路器与监控仪表盘: sc09-hystrixdashborad, 端口 4001
├─聚合监控: sc11-turbine, 端口 4001
│ ├─api网关: sc12-zuul, 端口 3001
├─配置中心: sc13-config, 端口 6001
└─[更多模块待更新...]
```
#### 相关工具
```yml
# actuator 暴露监控端点
http://localhost:3001/actuator/hystrix.stream
# turbine 聚合监控端点
http://localhost:5001/turbine.stream
# hystrix dashboard
http://localhost:4001/hystrix
```
[Apache Binaries 并发测试工具](http://httpd.apache.org/docs/current/platform/windows.html#down)
- 并发50次, 发送20000个请求, 请求url:
```powershell
ab -n 20000 -c 50 http://localhost:3001/item-service/35
```
- 图例说明

#### 笔记(待整理)
```
2.1.7.RELEASE
Greenwich.SR1
org.springframework.retry
spring-retry
org.springframework.cloud
spring-cloud-starter-netflix-hystrix
org.springframework.boot
spring-boot-starter-actuator
spring:
application:
name: hystrix-dashboard
server:
port: 4001
eureka:
client:
service-url:
defaultZone: http://eureka-1:2001/eureka,
http://eureka-2:2002/eureka,
http://eureka-3:2003/eureka
rabbitmq:
host: 192.168.83.128
port: 5672
username: sansheng
password: mymq996icu
java -jar zipkin-server-2.23.0-exec.jar --zipkin.collector.rabbitmq.uri=amqp://sansheng:mymq996icu@192.168.83.128:5672
```