1.微服务

商城项目源码地址 https://gitee.com/huyi612/hmall

使用jmeter测试高并发

传统单体项目的弊端

**案例:**如果某一个请求耗时太长会把tomcat的资源给占完了,导致其他请求进来耗时更长,甚至无法进入。

java 复制代码
@RestController
@RequestMapping("hi")
public class HelloController {

    private final Map<String, AtomicInteger> countMap = new HashMap<>();

    @GetMapping
    public String hello(HttpServletRequest request) throws InterruptedException {
        Thread.sleep(300);
        String ip = request.getRemoteAddr();
        AtomicInteger ai = countMap.get(ip);
        if (ai == null) {
            ai = new AtomicInteger(0);
            countMap.put(ip, ai);
        }
        return String.format("<h5>欢迎访问商城, 这是您第%d次访问<h5>", ai.incrementAndGet());
    }
}

微服务划分

按照业务划分微服务,例如:商品服务、用户服务、交易服务、购物车服务等。

springcloud基于springboot的依赖注入和自动装配功能。

springboot与springcloud版本匹配

相关推荐
写后端的胖头鱼15 分钟前
【高频面试题】微服务项目排查错误流程(万字详解)
微服务·架构·问题定位·链路·线上排错
小小龙学IT29 分钟前
Kubernetes 深度实践:架构、API 与避坑指南
容器·架构·kubernetes
MayBaymax1 小时前
MQ 基础概念与架构
java·中间件·架构·java-rocketmq
嘎嘎风1 小时前
MiniMind 学习笔记之 04 注意力之外:位置、记忆、省显存、省时间、深加工
架构·源码阅读
国科安芯2 小时前
商业立方星平台中高集成度抗辐射MCU的功耗优化与批量化应用可行性探讨
单片机·嵌入式硬件·架构·risc-v·抗辐射·as32x601
ESDWAN5 小时前
企业跨境网络合规建设指南:从线路选择到数据出境的全流程方案
网络·架构
用户5372312882465 小时前
从一句话到水密 STL:给科研工具装 LLM Agent 的安全架构实录
架构
沫璃染墨6 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
用户5708462574406 小时前
AI 会话该什么时候重开?一份「上下文卫生」的判断清单
架构
励志不掉头发的内向程序员6 小时前
从鼠标点击到画出一条线:CAD 交互层的状态机设计
后端·架构