同步操作将从 云丶言/jieyue-spring-cloud 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
捷阅网微服务架构商城网站,是将单体架构的捷阅网商城网站以业务逻辑进行拆分而成的微服务架构项目。涵盖技术:注册服务发现中心、配置中心nacos、分布式服务seata、远程调用服务feign、熔断机制hystrix、链路追踪zipkin、服务网关gateway、后台检测springbootadmin、日志收集elk等技术
微服务架构地址:https://gitee.com/bosen-once/jieyue-spring-cloud
单体架构地址:https://gitee.com/bosen-once/jieyue (项目启动后的页面呈现,还请到单体架构中查看)
技术 | 版本 | 端口 | 说明 |
---|---|---|---|
Nacos | 1.4.1 | 8848 | 服务注册中心、服务配置中心 |
ELK | 7.7.0 | 9200、9300、4560、5601 | 日志收集系统 |
SpringBootAdmin | 2.1.0 | 8764 | 监控各个微服务的运行情况,以及查看服务内存占用信息 |
Gateway | 2.1.0 | 80 | 网关服务 |
Seata | 1.4.1 | 8091 | 分布式事务处理 |
Zipkin | 2.1.0 | 9411 | 服务链路追踪组件 |
OpenFeign | 2.1.0 | - | 远程调用微服务组件 |
整个项目的架构主要分为网关层、调用层、服务层三大模块。且服务层配备了服务注册中心、服务配置中心、服务链路追踪中心、日志收集系统、分布式事务、后台监测中心。
为了确保所有的微服务都必须通过网关服务调用,特使用以下技术实现。
网关层通过类TokenFilter
生成gatewayToken
,并将其保存至Redis
中,并且在访问服务时在请求头加上该字符串
每个服务在被访问时都需验证请求头中的字符串,字符串匹配时才允许访问,否则将返回“非法访问!”的提示。
调用层共有四个模块,分别是:
后台模块调用(主要任务:登录拦截;调用后台主页服务实现登录注册功能;调用商户主页服务实现商户信息查看、停用或启用商户、修改商户费率、删除商户等功能;调用用户主页服务实现对用户信息的查看;调用后台主页服务实现RBAC权限管理功能;调用后台群发服务实现对所有商城用户群发送消息的功能;调用订单服务实现订单的查看和查找功能)
商户模块调用(主要任务:登录拦截;调用商户主页服务实现商户海报修改以及商户logo的修改;调用用户主页服务实现对用户信息的查看;调用商品服务实现对商品增加、删除、修改、上架或下架等功能;调用订单服务实现订单的查看和查找功能)
用户模块调用(主要任务:登录拦截;调用图片服务获取商城主页海报以及商品图片;调用用户主页实现购物车功能、用户信息的修改;调用用户评论服务实现用户对商品评价功能;调用订单服务实现订单的查看和查找功能,以及订单的生成;调用微信支付服务实现微信支付功能)
定时任务调用(主要任务:对超时的订单进行删除以及商品库存的恢复;微信支付回调成功对订单状态进行修改)
服务层以业务拆分捷阅网单体架构网站,最终得到以下11个微服务:
使用Nacos实现
使用Nacos实现
服务监控中心可对各个服务的运行状态,运行的时间,接口信息,内存占用情况进行查看,以及服务日志输出级别的设置。
链路追踪中心可以清楚的查看调用层与服务层的依赖关系,调用层实现某个功能时,具体调用哪个或者哪几个服务都可以通过该中心查看,并且对于服务调用先后和服务调用时常都可清晰看到,并且通过调用层和服务层的依赖关系,链路追踪中心还可自动生成对应的依赖图。
通过集成ElasticSearch, Logstash, Kibana所组成的服务日志收集中心。依赖Logstash收集日志,保存至ElasticSearch,再通过Kibana可视化的查看,使我们对各个服务运行的日志信息管理统一,且对日志信息更方便快捷的了解。
Seate基于事务处理模式是基于两阶段提交模式演变而来的AT模式(对于代码的侵入性小)。
当调用层启动事务时,seate会生成一个对应的事务id(XID),并且将该id沿着调用链路传递给下面被调用的服务,seata会记录该调用链路下每个服务修改前的数据,当出现异常时,会通过保存再seata中的信息对数据进行回滚,如果每个服务都已正常运行无异常,seata将会认为事务无需回滚,对之前记录的数据进行删除。
个 人 主 页: 云丶言
CSDN博客:云丶言
微信公众号:云丶言
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。