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

相关推荐
koping_wu19 小时前
【RabbitMQ】架构原理、消息丢失、重复消费、顺序消费、事务消息
分布式·架构·rabbitmq
奇树谦1 天前
Chrominum的技术架构
架构
problc1 天前
Spring Cloud OpenFeign + Nacos 实战教程:像调用本地方法一样调用远程微服务
spring·spring cloud·微服务
重生之我要当java大帝1 天前
java微服务-尚医通-编写医院设置接口上
java·数据库·微服务
自由的疯1 天前
java 怎么判断事务有无提交成功
java·后端·架构
xiaogg36781 天前
阿里云k8s部署微服务yaml和Dockerfile文件脚本
阿里云·微服务·kubernetes
Value_Think_Power1 天前
DDD::repo.go
架构
稻草人22221 天前
打造个人Dify?手写AI工作流让AI乖乖听话 - 业务节点实现篇
架构
neoooo1 天前
Apollo兜底口诀
java·后端·架构