电商项目架构图

网友投稿 1152 2022-10-22

电商项目架构图

电商项目架构图

项目架构图如下:

项目结构图的说明:

客户端可以是pc端,也可以是手机,或者其它的移动设备,当客户端向后台发送请求的时候,首先需要经过我们的路由器,路由器根据我们的VIP(虚拟IP地址)将请求转换给具体的虚拟路由器(keepalived+nginx),为了保证高可用,此时的虚拟路由器是需要做高可用配置的(至少两台以上的服务)。主要用来解决单点故障。

Nginx单点可以解决5万的并发,并且Nginx还能够做限流(IP限流,或者访问速率限流),并且Nginx还具备缓存的功能。后期为了解决更高的并发,我们可以加入openResty,这样单点就可以解决10k到1000k的并发。

虚拟路由器将请求转发给我们的网关(Gateway) GateWay的主要作用如下

1. 将用户的请求转发给具体的微服务。

2. 限流,微服务网关需要使用服务器发布,譬如tomcat,所以这一块所解决的并发是有限的,主要为后台的商品,订单,用户微服务模块提供保护。

3. 统一的鉴权。从而判断用户是否能够进行对应的操作。

请求这个时候,就会到达具体的微服务,因为微服务与微服务之间需要进行相互的调用,所以我们需要使用Feign进行微服务的调用。模块与模块之间需要有公用的JavaBean和工具类。所以我们把Feign和通用JavaBean和工具类,都封装成一个一个的微服务。

还有Ribbon负载均衡,和HyStrix服务的熔断降级,我们都需要做成一个一个的微服务。

我们会把分布式的事务处理,oauth2.0的授权服务,消息服务,canel数据同步监听服务,支付等等其它的功能,都做成我们的公共的微服务组件。方便调用。

我们使用spring cloud Bus 来做微服务各个文件的监听服务。

整个项目,我们使用服务的注册与发现组件(Nacos/Consul/Eureka/Zookeeper........),服务的监控组件Hystraix DashBorad,我们使用统一的服务配置中心ConfigServer.我们使用的远程仓库是GitHub.

整个项目,我们数据层的支持如下:

1. 数据的检索,使用的是ES集群。

2. 项目中的文件采用的是FastDFS集群。

3. 数据持久化层采用的MySQL集群,底层采用的是分库分表。

4. 缓存使用的Redis集群。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mybatis对传入基本类型参数的判断方式
下一篇:2022年Vue最常见的面试题以及填空题(面试必问)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~