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

相关推荐
Starwow10 分钟前
微服务之gRPC
后端·微服务·golang
mokkaio2 小时前
如何设计代码逻辑
架构
omnibots2 小时前
ESP-ADF外设子系统深度解析:esp_peripherals组件架构与核心设计(输入类外设之触摸屏 Touch)
嵌入式硬件·架构·iot
行墨3 小时前
Replugin 的hook点以及hook流程
android·架构
Yharim3 小时前
微服务项目相同nacos地址导致的问题
后端·微服务
桂月二二3 小时前
Vue3服务端渲染(SSR)深度调优:架构裂变与性能突围
架构
SimonKing4 小时前
短信被截断?5分钟用Java打造企业级短链服务
java·后端·架构
风兮w5 小时前
插件架构实践
前端·javascript·架构
绝无仅有6 小时前
Docker Compose 安装Elasticsearch8和kibana和mysql8和redis5 并重置密码的经验与总结
后端·面试·架构
MPY_36 小时前
Vue3与Vite构建高性能记账应用 - LedgerX架构解析
架构