页面技术 提示:这里可以添加本文要记录的大概内容: JSP(web服务器端技术)、JSTL标签库、EL表达式、bootstrap页面模板(静态html、CSS、JS)) 采用传统开发模式时,页面需要用到jsp技术(JSTL标签库、EL表达式)。 前后端分离的开发模式,页面使用VUE框架,后端服务使用SSM或者是SpringBoot。 EL表达式的思维导图如下: 提示:以下是本篇文章正文内容,下面案例可供参考 一、Spring框架 1. 三层体系架构 在实际开发中,通常服务器端在采用分层方式进行架构。 三层体系架构,…

2023年 3月 25日 0条评论 11点热度 0人点赞 阅读全文

一、分布式架构定义 什么是分布式架构 分布式系统(distributed system) 是建立在网络之上的软件系统。 内聚性:是指每一个数据库分布节点高度自治,有本地的数据库管理系统。 透明性:是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。 在分布式数据系统中,用户感觉不数据是分布的,即用户不须知道关系是否分割,有无副本,数据存在于那个站点以及事物在哪个站点上执行。 简单来说:在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。 假设原来我们有一个系…

2023年 3月 25日 0条评论 18点热度 0人点赞 阅读全文

如果是长连接的话,两边都要发。或者其中一边是被动方式,如果一段时间收不到心跳包就直接断开连接,也行。 TCP连接的特点是如果两边一个数据包都不发,那么就不能保证两边的状态同步,设想一个连接建立起来之后,网络中断了,一方尝试发送数据,超时数次之后会重置连接,回到没有连接的状态,但整个过程中对面都没有收到任何数据也没有发出任何数据,所以状态不变,之后的很长时间,对面都会以为自己的连接是已经建立的状态。只有使用心跳机制才能解决这个问题。顺便说一句,TCP keepalive不能完全解决这个问题,如果中间有负载均衡之类的设…

2023年 3月 25日 0条评论 23点热度 0人点赞 阅读全文

前言 接口性能问题,对于从事后端开发的同学来说,是一个绕不开的话题。想要优化一个接口的性能,需要从多个方面着手。 其实,我之前也写过一篇接口性能优化相关的文章《聊聊接口性能优化的11个小技巧》,发表之后在全网广受好评,感兴趣的小伙们可以仔细看看。 本文将会接着接口性能优化这个话题,从实战的角度出发,聊聊我是如何优化一个慢查询接口的。 上周我优化了一下线上的批量评分查询接口,将接口性能从最初的20s,优化到目前的500ms以内。 总体来说,用三招就搞定了。 到底经历了什么? 1. 案发现场 我们每天早上上班前,都会收…

2023年 3月 24日 0条评论 19点热度 0人点赞 阅读全文

前言 最近我做过一个MySQL百万级别数据的excel导出功能,已经正常上线使用了。 这个功能挺有意思的,里面需要注意的细节还真不少,现在拿出来跟大家分享一下,希望对你会有所帮助。 原始需求:用户在UI界面上点击全部导出按钮,就能导出所有商品数据。 咋一看,这个需求挺简单的。 但如果我告诉你,导出的记录条数,可能有一百多万,甚至两百万呢? 这时你可能会倒吸一口气。 因为你可能会面临如下问题: 如果同步导数据,接口很容易超时。 如果把所有数据一次性装载到内存,很容易引起OOM。 数据量太大sql语句必定很慢。 相同商…

2023年 3月 24日 0条评论 23点热度 0人点赞 阅读全文

前言 大家好,我是田螺。 记得很久之前,去面试过字节跳动。被三面的面试官问了一道场景设计题目:如何设计一个高并发系统。当时我回答得比较粗糙,最近回想起来,所以整理了设计高并发系统的15个锦囊,相信大家看完会有帮助的。 公众号:捡田螺的小男孩 github地址,感谢每颗star:github 如何理解高并发系统 所谓设计高并发系统,就是设计一个系统,保证它整体可用的同时,能够处理很高的并发用户请求,能够承受很大的流量冲击。 我们要设计高并发的系统,那就需要处理好一些常见的系统瓶颈问题,如内存不足、磁盘空间不足,连接数…

2023年 3月 23日 0条评论 27点热度 0人点赞 阅读全文

对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。 面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则。面向对象设计原则也是我们用于评价一个设计模式的使用效果的重要指标之一,在设计模式的学习中,…

2023年 2月 27日 0条评论 87点热度 0人点赞 阅读全文

课程内容: 01 Foreword 02 Join the Community 03 Scale From Zero To Millions Of Users 04 Back-of-the-envelope Estimation 05 A Framework For System Design Interviews 06 Design A Rate Limiter 07 Design Consistent Hashing 08 Design A Key-value Store 09 Design A Unique …

2023年 2月 21日 0条评论 60点热度 0人点赞 阅读全文

准备系统设计?这是我最喜欢的面试系统设计问题,您可以用来练习 系统设计是在亚马逊、谷歌或 Netflix 以及大多数初创公司找到工作的最大障碍之一。我见过许多经验丰富的开发人员,由于缺乏准备和知识,他们的简历在这一轮中分崩离析。 这就是为什么为面试做好准备非常重要,并且最好准备常见的系统设计问题,例如如何设计 YouTube 以及如何设计 WhatsApp。 这是我最喜欢的系统设计问题,您也可以从中着手,我还链接到详细的文章,您可以在其中找到解决方案,但我建议您在查看它们之前先自己尝试: 2023年实践的系统设计问…

2023年 2月 21日 0条评论 72点热度 0人点赞 阅读全文