当前位置: 首页 > article >正文

1.微服务

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

使用jmeter测试高并发


传统单体项目的弊端

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

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


http://www.kler.cn/a/500745.html

相关文章:

  • 基于Python的社交音乐分享平台
  • 【AniGS】论文阅读
  • Elastic-Job相关
  • react-quill 富文本组件编写和应用
  • 基于华为Maas(大模型即服务)和开源的Agent三方框架构建AI聊天助手实践
  • 大数据技术实训:Zookeeper集群配置
  • 最大拿牌的得分
  • IT运维如何实现工作流自动化?实用案例分享
  • SQL HAVING 子句深入解析
  • python functools.partialmethod 函数介绍
  • UML建模
  • 51单片机 AT24C02(I2C总线)
  • 极狐GitLab 正式发布安全版本17.7.1、17.6.3、17.5.5
  • 在Linux上如何让ollama在GPU上运行模型
  • java项目之企业客户管理系统(ssm+mysql+vue+文档)
  • 8.Bridge 桥接模式(结构型模式)
  • [SMARTFORMS] 导出SMARTFORMS表单数据
  • Boost.Asio 同步读写及客户端 - 服务器实现详解
  • 前端学习-事件流,事件捕获,事件冒泡以及阻止冒泡以及相应案例(二十八)
  • YOLOv10-1.1部分代码阅读笔记-downloads.py
  • Docker基础篇(一)
  • 如何在C#中使用COM接口
  • Linux web资产收集
  • 计算机视觉算法实战——打电话行为检测