大家都知道一个成熟的产品最主要的就是需要稳定性、高可用性,所以一个高可用成熟的架构是必不可少的,废话不多说,先上图(大家可以猜猜做的是什么产品)
第一眼觉得是商城,那你就大错特错了,我感觉这个没说出来的话好像没人能猜得到......接下来,我就介绍一下这个技术架构的方案:
-
本产品前台采用三端,分别是小程序客户端、PC管理端和小程序管理端
-
技术选型:
技术 版本 作用 Spring boot 2.6.3 Spring cloud 2021 微服务框架 nacos 1.20.2 服务注册中心 Sa-token 1.30.0 单点登录、权限校验框架 Seata 1.5.2 分布式事务 SocketIO 1.7.7 Netty实现的通信组件 Mybatis-plus 3.5.1 Hutool 5.7.20 java工具包(强烈推荐) Vue 3.2.25 ElementPlus 2.2.2 后续技术选型待补充...... -
简单介绍
简单介绍一下选择的这些技术,为什么选择他?
1.Spring boot和Spring Cloud(https://spring.io/),知道Java微服务开发的小伙伴一定对他两非常熟悉,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
2.nacos(https://nacos.io/zh-cn/index.html)是阿里巴巴开源的一个构建云原生应用的动态服务发现、配置管理和服务管理平台。里面包含的功能有:服务发现和服务健康监测、动态配置服务、动态 DNS 服务、服务及其元数据管理 等等,以前使用Eruka做服务发现的同学们可以试一试这个,试过你会爱上他的......
3.Sa-token(https://sa-token.dev33.cn)是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题,不得不说这个框架相当强大,想想自己之前一步一步搭建原生SSO的痛苦经历
4.Seata(http://seata.io/zh-cn/index.html)是阿里巴巴开源的分布式事务解决方案,提供了 AT、TCC、SAGA 和 XA 事务模式,这个分布式事务框架是我第一次尝试,从他的内容来看已经可以解决掉很多问题了,大家也可以看一看他的官网介绍,我觉得还是非常不错的。
5.SocketIO(https://socket.io/)是一个通信服务组件,他在Java中使用Netty实现,用于搭建后台服务端进行一些业务、通信处理。建议新入坑的同学们多看一看Netty,面试必备昂。
今天就先介绍到这里,建议大家多看一看这些技术,会有很多收获的,特别是比较新的这几个(Sa-token、Seata、SocketIO),希望大家多多关注我,点个赞更好啦!!!
欢迎大家关注我的公众号:Java技术与面经,所有的产品创作过程都会在这上面展示的哦