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版本匹配

相关推荐
桧***攮6 分钟前
后端在微服务中的Tyk
微服务·云原生·架构
Tezign_space18 分钟前
技术架构新范式:AI原生DAM系统如何重构品牌数字资产引擎
重构·架构·ai-native
十月南城32 分钟前
MyBatis设计观——映射思想、动态SQL的边界与可维护性考量
后端·架构
nbsaas-boot41 分钟前
JPA vs MyBatis 在大型 SaaS 架构中的使用边界
spring·架构·mybatis
架构师沉默1 小时前
为什么工作 10 年都没遇过分布式锁?
java·后端·架构
1***y1782 小时前
PHP在微服务中的微服务开发
开发语言·微服务·php
AutoMQ2 小时前
如何选择合适的 Diskless Kafka
后端·架构·github
MaxHua3 小时前
彻底搞懂Spring AOP:概念与实战
java·后端·架构
用户84913717547163 小时前
实战复盘:10W+ QPS 秒杀架构演进(Redis Lua + 分片 + RabbitMQ)
java·架构·设计
t***82113 小时前
MySQL的底层原理与架构
数据库·mysql·架构