# java_wxid **Repository Path**: JavaHackSen/java_wxid ## Basic Information - **Project Name**: java_wxid - **Description**: java_wxid项目以我的博客名称命名,主要是记录工作中遇到的技术难点、有技术亮点,项目会结合博客、视频辅助讲解,帮助大家查询是否遇到过同类型的问题。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/java_wxid/java_wxid - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 20 - **Created**: 2023-01-30 - **Last Updated**: 2023-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # java_wxid [![Author](https://img.shields.io/badge/Author-liaozhiwei-blue)](https://www.liaozhiwei.cn/ "Author:liaozhiwei") [![WeChat](https://img.shields.io/badge/Wechat-java__wxid-blueviolet)](https://www.liaozhiwei.cn/%E5%BE%AE%E4%BF%A1.jpg "WeChat:java_wxid") [![Page Views Count](https://badges.toozhao.com/badges/01GAXJSF6YFBCWG5CTMZQSFB4R/red.svg)](https://badges.toozhao.com/stats/01GAXJSF6YFBCWG5CTMZQSFB4R "页面访问的次数") [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html "Apache协议") [![JDK-1.8](https://img.shields.io/badge/JDK-1.8+-green.svg)](https://www.oracle.com/java/technologies/downloads/ "JDK-1.8") [![MySQL](https://img.shields.io/badge/%E6%95%B0%E6%8D%AE%E5%BA%93-MySQL-critical)](https://www.mysql.com/ "数据库:MySQL") [![Redis](https://img.shields.io/badge/%E7%BC%93%E5%AD%98-Redis-blue)](https://redis.io/ "缓存:Redis") [![Mongodb](https://img.shields.io/badge/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E-Elasticsearch-ff69b4)](https://www.elastic.co/cn/elasticsearch/ "搜索引擎:Elasticsearch") [![SpringCould](https://img.shields.io/badge/%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84-Spring%20Cloud-brightgreen)](https://www.springcloud.cc/ "微服务架构:SpringCould") [![Apache ShardingSphere](https://img.shields.io/badge/%E5%88%86%E5%BA%93%E5%88%86%E8%A1%A8-Apache%20ShardingSphere-yellow)](https://shardingsphere.apache.org/ "分库分表:Apache ShardingSphere") ![version](https://img.shields.io/badge/v1.0.0-version-purple "版本") ## 介绍 java_wxid项目,以个人微信号命名,项目主要是快速集成各种微服务相关的技术,帮助大家可以快速集成到自己的项目中,节约开发时间。 ## 项目架构 1. 使用Spring Boot快速构建应用 2. 使用Spring Cloud分布式微服务架构作为一站式解决方案 3. 使用Spring Cloud Open Feign基于动态代理动态构造请求实现与其他系统进行交互 4. 使用Spring Cloud Hystrix实现服务容错、熔断、降级、监控 5. 使用Spring Cloud Ribbon以库的方式集成到服务的消费方实现客户端负载均衡 6. 使用Spring Cloud Gateway作为API网关服务进行请求拦截、服务分发、降级、限流 7. 使用Spring Cloud Security Oauth2作为微服务统一认证中心实现用户认证和授权访问 8. 使用Spring Cloud Stream作为消息驱动用于动态的切换中间件 9. 使用Spring Cloud Skywalking基于字节码注入通过探针方式进行链路追踪、分布式追踪、性能指标分析、应用和服务依赖分析 10. 使用Spring Cloud Alibaba Nacos实现服务注册/发现/续约/剔除/下线、心跳检测、服务配置管理、基于长轮训机制实现配置动态变更 11. 使用Spring Cloud Alibaba Seata作为对项目代码无入侵的分布式事务解决方案 12. 使用Spring Cloud Alibaba Sentinel实现高可用流量防护 13. 使用Apache ShardingSphere作为关系型数据库中间件实现分库分表、读写分离 14. 使用Apache Mybatis作为持久层框架用于定制化SQL、存储过程以及高级映射 15. 使用Redis作为高性能分布式缓存数据库 16. 使用ElasticSearch全文搜索 17. 使用MongoDB非关系型数据库 18. 使用xxl-job作为分布式任务调度平台 19. 使用Elasticsearch + Logstash + Kibana作为日志收集系统 20. 使用Apifox作为API文档、API调试、API Mock、API自动化测试 21. 使用Apache Spark作为基于内存计算的大数据分析引擎用于批处理、交互式查询 22. 通过ETL工具将数据源抽取到HDFS作为高可靠、高吞吐量的分布式文件系统存储,通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 23. 基于领域驱动DDD设计和设计模式进行开发 24. 使用Netty基于Java NIO封装的高性能的网络通信框架 25. 使用k8s、docker、docker-compose、宝塔面板进行环境搭建和部署 26. 分享人才筛选、工作分配、高效办公、项目推动等团队管理经验 27. 使用Vue渐进式JavaScript框架作为适用场景丰富的Web前端框架 28. 使用Swagger作为在线接口文档 29. 使用设计模式进行架构设计与功能开发 - 【支付场景】【策略模式 + 工厂模式 + 门面模式 + 单例模式】 - 【业务投放场景】【责任链模式】 - 【平台积分红包投放场景】【责任链模式】 - 【订单状态流转场景】【状态模式 + 观察者模式 + 享元模式 + 模板方法模式】 - 【开具增值税发票场景】【建造者模式 + 原型模式】 - 【商品多级分类目录场景】【组合模式+访问者模式】 - 【记录核心审计日志场景】【模板方法模式】 - 【查询 ElasticSearch大量数据场景】【迭代器模式】 ## 系统模块 前期规划,实现部分 ~~~ java_wxid ├── demo // 演示模块 │ └── 模块名称:apache-mybatis-demo模块 //Apache Mybatis集成(已实现并有博文总结) │ └── 模块名称:apache-shardingsphere-demo模块 //Apache ShardingSphere集成(已实现并有博文总结) │ └── 模块名称:design-demo模块 //设计模式实战落地(已实现并有博文总结) │ └── 模块名称:elasticsearch-demo模块 //ElasticSearch集成(已实现并有博文总结) │ └── 模块名称:mongodb-demo模块 //MongoDB集成(已实现并有博文总结) │ └── 模块名称:redis-demo模块 //Redis集成(已实现并有博文总结) │ └── 模块名称:spring-boot-demo模块 //Spring Boot快速构建应用(已实现并有博文总结) │ └── 模块名称:spring-cloud-alibaba-nacos-demo模块 //Spring Cloud Alibaba Nacos集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-alibaba-seata-demo模块 //Spring Cloud Alibaba Seata集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-alibaba-sentinel-demo模块 //Spring Cloud Alibaba Sentinel集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-gateway-demo模块 //Spring Cloud Gateway集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-hystrix-demo模块 //Spring Cloud Hystrix集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-open-feign-demo模块 //Spring Cloud Open Feign集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-ribbon-demo模块 //Spring Cloud Ribbon集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-security-oauth2-demo模块 //Spring Cloud Security Oauth2集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-security-oauth2-sso-client-demo模块 //Spring Cloud Security Oauth2集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-skywalking-demo模块 //Spring Cloud Skywalking集成(已实现并有博文总结) │ └── 模块名称:spring-cloud-stream-demo模块 //Spring Cloud Stream集成(已实现并有博文总结) │ └── 模块名称:swagger-demo模块 //springfox-swagger2集成(已实现并有博文总结) │ └── 模块名称:xxl-job模块 //xxl-job集成(已实现并有博文总结) │ └── 模块名称:apache-spark-demo模块 //Apache Spark集成 │ └── 模块名称:etl-hdfs-hive-hbase-demo模块 //ETL、HDFS、Hive、Hbase集成 │ └── 模块名称:ddd-mode-demo模块 //DDD领域设计 │ └── 模块名称:netty-demo模块 //Netty集成 │ └── 模块名称:vue-demo模块 //前端vue集成 ├── document // 文档 │ └── JavaKnowledgeDocument //java知识点 │ └── java基础知识点.md │ └── mq知识点.md │ └── mysql知识点.md │ └── redis知识点.md │ └── springcould知识点.md │ └── spring知识点.md │ └── FounderDocument //创始人 │ └── 创始人.md ~~~ ## 快速集成教程(目前以博客文章为主,后期会录制视频讲解) 1. Spring Boot快速构建应用详见:https://liaozhiwei.blog.csdn.net/article/details/126455692 2. Spring Cloud Open Feign集成详见:https://liaozhiwei.blog.csdn.net/article/details/126475438 3. Spring Cloud Hystrix集成详见:https://blog.csdn.net/java_wxid/article/details/126487239 4. Spring Cloud Gateway集成详见:https://liaozhiwei.blog.csdn.net/article/details/126489878 5. Spring Cloud Ribbon集成详见:https://blog.csdn.net/java_wxid/article/details/126485167 6. Spring Cloud Security Oauth2集成详见:https://blog.csdn.net/java_wxid/article/details/126514228 7. Spring Cloud Stream集成详见:https://blog.csdn.net/java_wxid/article/details/127145677 8. Spring Cloud Skywalking集成详见:https://liaozhiwei.blog.csdn.net/article/details/127153372 9. Spring Cloud Alibaba Nacos集成详见:https://blog.csdn.net/java_wxid/article/details/126463469 10. Spring Cloud Alibaba Seata集成详见:https://liaozhiwei.blog.csdn.net/article/details/126592324 11. Spring Cloud Alibaba Sentinel集成详见:https://liaozhiwei.blog.csdn.net/article/details/127335680 12. Apache ShardingSphere集成详见:https://liaozhiwei.blog.csdn.net/article/details/126682757 13. Apache Mybatis集成详见:https://liaozhiwei.blog.csdn.net/article/details/126809640 14. Redis集成详见:https://liaozhiwei.blog.csdn.net/article/details/126815387 15. ElasticSearch集成详见:https://blog.csdn.net/java_wxid/article/details/127134531 16. MongoDB集成详见:https://liaozhiwei.blog.csdn.net/article/details/126823247 17. xxl-job集成详见:https://gitee.com/java_wxid/java_wxid/tree/master/demo/xxl-job 18. Elasticsearch + Logstash + Kibana集成详见:https://blog.csdn.net/qq_38377525/article/details/124449938 19. Apifox集成详见:https://www.apifox.cn/help 20. Vue集成详见:https://cn.vuejs.org/guide/quick-start.html 21. Swagger集成详见:https://liaozhiwei.blog.csdn.net/article/details/127022590 22. 设计模式实战落地详见:https://blog.csdn.net/java_wxid/category_12027815.html ## 使用说明 1. 搭建环境并且修改各种模块的配置 - Nacos - Seata - Sentinel - MySQL - MongoDB - Elasticsearch + Logstash + Kibana - Redis - Skywalking 2. 本地部署 - 通过git下载源码 - 修改业务模块的application.yml,更新MySQL、MongoDB、Redis、ElasticSearch、Nacos、Seata、Sentinel、Skywalking的配置 - Eclipse、IDEA运行各个模块的Application.java,则可启动项目 - 项目访问路径:http://localhost:模块配置的端口 ## 演示效果 B站视频还未录制,敬请期待