# Chrix Cloud
## 項目介紹
### 功能列表
- 單點登錄:整合Spring oAuth2 使用手機號密碼登錄
- 用戶管理:用戶屬于單角色、單部門,支持擴展字段
- 部門管理:單繼承機構,支持增刪改查
- 角色管理:支持角色授權,支持角色授予權限
- 菜單管理:可配置用戶界面菜單,支持權限限制,支持服務下線自動關閉菜單
- 路由管理:可動態配置Spring gateway路由,支持各種predicate、filter,內置支持限流
- 文檔上傳: 支持接入阿里云OSS、七牛存儲文檔
- 服務監控:支持服務異常通知(郵件、釘釘)
- 接口文檔:自定義swagger ui,通過eureka聚合組件的接口文檔
- 代碼生成:通過表結構生成前后端代碼
- 服務監控: 集成Spring Boot Admin
- 任務調度: 集成xxl-job,支持分布式調度
- 調用鏈追蹤:集成zipkin,數據保存在ElasticSearch;集成pinpoint,數據保存在hbase。可自由選擇
### 接口文檔
## 依賴
### MySQL 5.7
### Redis
### Rabbit MQ
### Logstash
### ELK
### zipkin
### pinpoint
### xxl-job
### Portainer
### Jenkins
## 部署
### WAR
### Docker
## 目錄結構
### cc-config
### cc-eureka
### cc-admin
### cc-oauth2
### cc-gateway
### cc-user
### cc-app
### cc-job
### cc-common
### code-generator
### docker
### logstash
### pinpoint
### xxl-job-admin
### zipkin
### scripts
#### 項目介紹
卡券生態系統(對接供應商、卡券管理、商城)
Zipkin在Spring Boot 2.0以后推薦使用獨立jar的方式啟動
開發環境可以使用In-Memory方式存儲數據
本項目使用Elasticsearch存儲數據
Zipkin Server下載地址:
https://repo1.maven.org/maven2/io/zipkin/java/zipkin-server/2.11.1/zipkin-server-2.11.1-exec.jar
RabbitMQ + ElasticSearch + Zipkin啟動:
QUERY_PORT=6004 RABBIT_URI=amqp://root:root@my.com:5672/zipkin STORAGE_TYPE=elasticsearch ES_HOSTS=my.com:9200 java -jar zipkin-dependencies.jar
QUERY_PORT=ZipkinPort RABBIT_URI=amqp://user:password@host:5672/vhost STORAGE_TYPE=elasticsearch ES_HOSTS=my.com:9200 java -jar zipkin-dependencies.jar
Zipkin跨域設置:
ZIPKIN_QUERY_ALLOWED_ORIGINS=http://foo.bar.com
Zipkin端口設置:
QUERY_PORT=6004
Zipkin參數說明:
https://github.com/openzipkin/zipkin/tree/master/zipkin-server#environment-variables
## 啟動
### 1、啟動ElasticSearch
### 2、啟動Logstash
### 3、啟動RabbitMQ
### 4、啟動Redis
### 5、啟動zipkin
- 必須依賴ElasticSearch
### 6、啟動ceo-config
- 必須依賴RabbitMQ
- 普通依賴zipkin、ceo-eureka
### 7、啟動ceo-eureka
- 必須依賴RabbitMQ、ceo-config
- 普通依賴zipkin
### 8、啟動ceo-admin
- 必須依賴RabbitMQ、ceo-config、ceo-eureka
- 普通依賴zipkin
### 9、啟動ceo-gateway
- 必須依賴RabbitMQ、ceo-config、ceo-eureka
- 普通依賴zipkin、Redis
### 10、啟動Kibana
- 必須依賴ElasticSearch