“大麦”企业级高并发实战项目亮点介绍

项目特点

项目中包括了 微服务、本地缓存/分布式缓存、消息队列、搜索引擎、并发编程、本地锁/分布式锁、设计模式、分库分表 等核心技术

项目技术

  • 使用了 SpringCloud+SpringCloudAlibaba 的微服务结构
  • 使用了 Nacos 作为注册中心
  • 使用 Redis 不仅仅作为缓存,还使用了Lua脚本/延迟队列/Stream消息队列 等高级特性
  • 引入了 Kafka 消息中间件,SpringBootAdmin 作为服务的监控通知
  • ELK 作为日志的记录,ElasticSearch提供搜索和展示功能,
  • Sentinel/Hystrix 作为熔断保护层
  • 使用 ShardingSphere 实现分库分表,来存储海量的数据

项目架构

  • 使用非对称/非对称算法对接口的数据进行加密签名,预防接口的伪装攻击
  • 使用JWT生成Token并实现用户可以在多个渠道平台进行登录
  • 分布式id生成,并且结合Redis+lua,解决MybatisPlus的雪花算法生成重复的问题
  • 定制全局异常处理、以及接口的结构规范
  • 自定义全服务链路id,能够快速查找业务问题
  • 对线程池进行定制优化,支持MDC和ThreadLocal范围的数据传递
  • 对Redis进行封装,实现对键的统一管理
  • 设计分布式锁组件,提供切面、命令式、方法级别三种方式的使用
  • 设计幂等性组件,并结合多种锁的类型来进一步提升高并发情况下的幂等效率
  • 设计服务初始化行为组件,能将初始化行为更好的集中式管理
  • 将数据库的分库分表功能统一管理,制定复合分片基因法的分片算法
  • 根据Ribbon/LoadBalance负载均衡的原理,实现服务部署时从灰度环境到生产环境的丝滑切换

项目地址

相关推荐
GISer_Jing4 分钟前
JWT授权token前端存储策略
前端·javascript·面试
YuTaoShao5 分钟前
Java八股文——JVM「内存模型篇」
java·开发语言·jvm
开开心心就好14 分钟前
电脑扩展屏幕工具
java·开发语言·前端·电脑·php·excel·batch
拉不动的猪17 分钟前
es6常见数组、对象中的整合与拆解
前端·javascript·面试
蒟蒻小袁23 分钟前
力扣面试150题--单词接龙
算法·leetcode·面试
GISer_Jing29 分钟前
Vue Router知识框架以及面试高频问题详解
前端·vue.js·面试
南玖yy1 小时前
深入理解 x86 汇编中的符号扩展指令:从 CBW 到 CDQ 的全解析
开发语言·汇编·arm开发·后端·架构·策略模式
零叹1 小时前
篇章十 数据结构——排序
java·数据结构·算法·排序算法