一、理念

致力于打造一款优秀的分布式微服务解决方案。

二、特性

  • 让开发分布式微服务应用更简单;
  • 让部署分布式微服务应用更简单;
  • 集成众多行业领域优秀的解决方案;
  • 微服务更易实现高可用、高性能、高并发。

    三、架构思想

  • 模块化;

  • 简单化;
  • 自动化;
  • 易扩展;
  • 轻量级;
  • 自由且包容。

    四、技术架构

    image.png

    五、技术选型

  • JDK版本:1.8;

  • 项目依赖管理:Maven3.6.2;
  • 版本控制工具:Git;
  • 分布式框架:SpringCloud+SpringCloud Alibaba;
  • 微服务基础框架:SpringBoot;
  • 接口鉴权框架:Sa-Token;
  • 缓存:Redis;
  • 关系型数据库:MySQL;
  • 接口文档自动生成框架:Knife4j;
  • 持久层框架:MyBatis-Plus;
  • 第三方工具类框架:Hutool;
  • 数据库连接池:Druid;
  • 多数据源框架:dynamic-datasource-spring-boot-starter;
  • 限流熔断:Sentinel;
  • 分库分表中间件:ShardingJdbc、MyCat;
  • 爬虫框架:JSOUP/WebMagic;
  • 日志框架:Lombok;
  • Excel处理:Apache Poi;
  • 分布式定时任务:Quartz、Xxl-Job、Elastic-Job、ShedLock;
  • 服务链路追踪:SpringCloud Sleuth+Zipkin;
  • Word模板引擎:Poi-tl;
  • 消息队列:Kafka、ActiveMQ、RabbitMQ、RocketMQ;
  • 大数据存储与计算处理:Hadoop;
  • 分布式搜索引擎:Elastic Search;
  • 文档数据库:MongoDB;
  • SOA:Apache CXF;
  • 服务注册与配置中心:Nacos、Eureka、Dubbo;
  • 支付:IJPay;
  • 微信生态支持:WxJava;
  • 多种通信支持:gRPC、HTTP等;
  • 分布式处理引擎:Apache Flink;
  • 文件存储:私有云或公有云均支持;
  • 单元测试框架:Junit;
  • 分布式事务:Seata、Tx-LCN。 ```java ├── yc-gateway // 网关服务 [8080] ├── yc-auth // 认证服务 [8081] ├── yc-api // 接口服务 ├── yc-common // 通用模块 │ └── yc-common-core // 核心模块 │ └── yc-common-knife4j // 接口文档自动生成模块 │ └── yc-common-redis // Redis模块 │ └── yc-common-security // 安全模块 │ └── yc-common-elasticsearch // ElasticSearch模块 │ └── yc-common-mongodb // MongoDB模块 │ └── yc-common-rabbitmq // RabbitMQ模块 │ └── yc-common-activemq // ActiveMQ模块 │ └── yc-common-kafka // Kafka模块 │ └── yc-common-rocketmq // RocketMQ日志模块 │ └── yc-common-wx // 微信生态模块 │ └── yc-common-crawler // 爬虫模块 │ └── yc-common-seata // 分布式事务Seata模块 │ └── yc-common-txlcn // 分布式事务Tx-LCN模块 │ └── yc-common-quartz // 分布式定时任务Quartz模块 │ └── yc-common-xxljob // 分布式定时任务xxl-job模块 │ └── yc-common-logstash // 分布式日志管理(ELK)模块 │ └── yc-common-pay // 第三方支付模块 │ └── yc-common-hadoop // 大数据Hadoop模块 │ └── yc-common-flink // 分布式计算引擎模块 │ └── yc-common-netty // Netty模块 │ └── yc-common-openfeign // 分布式微服务通信模块 │ └── yc-common-mp // MyBatis-Plus模块 │ └── yc-common-linktrack // 分布式链路追踪模块 │ └── yc-common-cs // 对象云存储模块 │ └── yc-common-monitor // 微服务监控模块 │ └── yc-common-test // 单元测试模块 │ └── yc-common-nacos // nacos模块 │ └── yc-common-eureka // eureka模块 │ └── yc-common-cxf // webservice模块 │ └── yc-common-sentinel // sentinel模块 │ └── yc-common-shardingjdbc // shardingjdbc模块 │ └── yc-common-dubbo // dubbo模块 │ └── yc-common-grpc // grpc模块 │ └── yc-common-shedlock // shedlock模块 │
    ├── yc-modules // 微服务模块 │ └── yc-admin // 统一用户微服务 [9000] │ └── yc-cms // 内容管理微服务 [9001] │ └── yc-crawler // 爬虫微服务 [9002] │ └── yc-file // 文件微服务 [9003] │ └── yc-job // 定时任务服务 [9004] │ └── yc-plugins // 插件微服务 [9005] │ └── yc-wechat // 微信生态微服务 [9006] │ └── yc-monitor-server // 监控微服务 [9100] ├──pom.xml

```