跳到主要内容

大麦项目技术架构

技术说明官网
Spring-BootWeb服务框架https://spring.io/projects/spring-boot
Spring-Cloud微服务框架https://spring.io/projects/spring-cloud
Spring-Cloud-alibabaalibaba微服务框架https://github.com/alibaba/spring-cloud-alibaba
Spring-Cloud-Gateway微服务网关https://spring.io/projects/spring-cloud-gateway
Nacos服务注册中心https://nacos.io/zh-cn/index.html
Sentinel服务熔断https://sentinelguard.io/zh-cn/
Log4j2日志框架https://github.com/apache/logging-log4j2
Mysql数据库https://www.mysql.com/
MyBatis-PlusORM框架https://baomidou.com
MyBatisGenerator数据层代码生成器http://www.mybatis.org/generator/index.html
AJ-Captcha图形验证码https://gitee.com/anji-plus/captcha
Kafka消息队列https://github.com/apache/kafka/
Redis分布式缓存https://redis.io/
Redisson分布式Redis工具https://redisson.org
Elasticsearch搜索引擎https://github.com/elastic/elasticsearch
LogStash日志收集工具https://github.com/elastic/logstash
Kibana日志可视化查看工具https://github.com/elastic/kibana
Nginx静态资源服务器https://www.nginx.com/
Docker应用容器引擎https://www.docker.com
Jenkins自动化部署工具https://github.com/jenkinsci/jenkins
Hikari数据库连接池https://github.com/brettwooldridge/HikariCP
JWTJWT登录支持https://github.com/jwtk/jjwt
LombokJava语言增强插件https://github.com/rzwitserloot/lombok
HutoolJava工具类库https://github.com/looly/hutool
Swagger-UIAPI文档生成工具https://github.com/swagger-api/swagger-ui
Knife4jSwagger 增强框架https://doc.xiaominfo.com
Hibernator-Validator验证框架http://hibernate.org/validator
XXL-Job分布式定时任务框架http://www.xuxueli.com/xxl-job
ShardingSphere分库分表https://shardingsphere.apache.org

提供的架构和组件设计

针对于分布式和微服务的项目来说,随着业务的发展,项目的数量上千个都是很正常的,但如何要把这些项目做好配置,做好架构设计,设计出组件库,都是要考虑的因素

既然组件库是要给其他服务提供使用,所以在设计时要考虑的细节非常的多,设计模式和高内聚低耦合的思想更加的重要,而且代码的健壮性和高效率的执行也是同样重要,而在大麦项目中,使用了SpringBoot的自动装配机制来设计组件库

除了组件库外,还有对异常的处理、数据的封装格式、多线程的使用等等也都要进行相应的封装设计,这些在项目中同样具备


提供的业务流程

对于大麦项目来说,核心的业务就是用户选择节目然后进行购票功能了,项目中不仅完整了对整个业务流程的完整闭环,而且考虑到既然设计此项目是为了应对高并发的特点,那么在从业务的角度上也做了很多的优化设计