商超线上线下一体化新零售平台

我要开发同款
小定西西2024年03月06日
94阅读
开发技术k8s、springcloud、mybatis、java微服务

作品详情

1. 项目使用springCloud全家桶开发,总体可分为核心模块和支撑模块两大部分。核心模块按照业务域划分为用户、商户、商品、活动、订单、支付等多个服务;支撑模块主要为网关、消息队列、分布式缓存、短信平台等。微服务之间采用feign实现RPC调用,Ribbon作为负载均衡,Hystrix实现接口熔断降级,同时对相关组件进行了组件化封装,在新服务中可开箱即用。前端为多平台实现,采用前后端分离的设计思路,包括小程序、H5、iOS和安卓等。
2. 本人全程参与项目的架构设计及开发、业务功能开发、项目部署和监控等工作。其中项目依赖管理、api结构定义、微服务通信封装、基于版本的动态接口调用、动态数据源、分布式限流器、OSS、日志、通知等组件的开发都是由我独立完成,形成了一套快速搭建微服务的基础组件库。
3. 难点1是解决高并发下服务响应慢甚至不可用的问题,解决方案第一是优化调用链路中的卡点,比如慢sql、计算密集型和io密集型的操作,同时减少调用链路的长度;第二是充分利用多线程和缓存技术,最大限度利用cpu资源和减少重复查库;第三是利用多级混合策略限流;第四是调整优化熔断降级及快速失败机制,确保不因为单点故障影响系统整体的可用性;第五是引入了弹性扩容机制,根据系统负载动态扩容。难点2是随着服务数量的增加和负责每个服务的开发人员水平的参差不齐,极容易导致出现依赖问题,常见的有引入了带配置的类库、版本不一致、循环依赖等问题。解决方法是对依赖进行梳理,严格控制可暴露给其他服务引用的包,保证依赖的纯净度避免混入starter类型的引用等
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论