# wheel-cloud **Repository Path**: lumnna/wheel-cloud ## Basic Information - **Project Name**: wheel-cloud - **Description**: spring-cloud 集成 满足中小企业从0-1开发、支持横向扩展。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-13 - **Last Updated**: 2021-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 1.项目介绍 ### 一只有自己想法的轮子-wheel-cloud 轮子精 ``` 功能: 将满足运营平台、2C功能、对系统运维及指标监控 技术点: 核心技术使用SpringCloud全家桶+SpringCloudAlibaba事务管理+xxl-Job等组件支持 TODO spring security oauth2 TODO vue+elmeUI ``` ## 2.项目结构说明 ``` |--spring-cloud----------------父项目,公共依赖版本控制(spring-boot 2.2.10、spring-cloud Hoxton.SR8、seata-1.4.1、xxl-job 2.3.0) | |--admin-server---------------服务监控 | |--eureka-server--------------注册中心 | |--seata-server---------------分布式事务管理 | |--xxl-job-server-------------分布式任务调度 | |--zipkin-server--------------服务链路追踪 | |--zuul-server----------------服务网关 | |--cloud-generator------------代码生成(Mybatis) | |--cloud-common | | | |--common-base------------公共基础包;实体、枚举、自定义异常 | | | |--common-core------------核心依赖包;深度封装Mybatis、Jpa等 | | | |--common-util------------公共工具包;结果集返回、通用Util | | | |--common-xxl-core--------xxl-job-core封装 | | |--consumer-server | | | |--consumer-account-------账户服务消费者 | | | |--consumer-order---------订单服务消费者 | | | |--consumber-storage------库存服务消费者 | | | |--consumber-job----------定时服务消费者 | | |--provider-api---------------服务调用API,服务Hystrix | | | |--account-api------------账户服务API | | | |--order-api--------------订单服务API | | | |--storage-api------------库存服务API | | | |--job-api----------------定时任务API | | |--provider-server | | | |--provider-account------账户服务提供者 | | | |--provider-order--------订单服务提供者 | | | |--provider-storage------库存服务提供者 | | | |--provider-job----------定时服务提供者 | ``` ## 3.项目组件内容 #### 服务发现 eureka #### 服务调用 feign #### 负载均衡 zuul #### 服务熔断 hystrix #### 服务监控 admin #### 分布式事务 seata #### 分布式调度 xxl-job 2.3.0 改造 #### TODO 分布式锁 #### TODO spring security oauth #### 持久层 Spring Data Jpa、MyBatis 深度集成 #### 链路追踪 zipkin #### 关系型数据库 MySQL 5.7.24 #### 非关系数据库 Redis ## 4.项目打包说明 对 `cloud-common` 执行 `maven install` 对 `provider-api` 执行 `maven install` 服务提供者 `provider-server/account;order;storage` 服务消费者 `consumer-server/account;order;storage` 服务提供者/消费者 镜像打包 执行 `mvn package -Dmaven.test.skip=true docker:build -DpushImage` 服务提供者/消费者 可执行jar包 执行 `mvn clean package -DskipTests` ## 99.项目启动准备 #### 991.分布式事务集成准备 `seata-server script` ``` seata-server/db ``` `服务生产者&调用者 default business-script AT(2pc)Mode` ``` -- for AT mode you must to init this sql for you business database. the seata server not need it. CREATE TABLE IF NOT EXISTS `undo_log` ( `branch_id` BIGINT(20) NOT NULL COMMENT 'branch transaction id', `xid` VARCHAR(100) NOT NULL COMMENT 'global transaction id', `context` VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization', `rollback_info` LONGBLOB NOT NULL COMMENT 'rollback info', `log_status` INT(11) NOT NULL COMMENT '0:normal status,1:defense status', `log_created` DATETIME(6) NOT NULL COMMENT 'create datetime', `log_modified` DATETIME(6) NOT NULL COMMENT 'modify datetime', UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COMMENT ='AT transaction mode undo table'; ``` `xxl-job-server/db` #### 992.项目启动注意部分项目更改为本地链接,镜像打包使用服务链接别名。