程序员
Java技术小吴
+V:YDT929 领取主流架构师资料和大厂面试题
展开
-
笔者总结:HTTP协议,HTTP请求完整过程(内含更多资料)
我所整理的东西都是曾经看视频,帖子,或者某个大佬说的话最后写成的笔记。现在相当于把笔记重新整理成一篇文章。所以哪怕有一些引用也找不到出处了,就不标明了!什么是HTTP协议?HTTP协议是超文本传输协议(默认端口80)。服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传送数据的。HTTP就是客服端→服务端的数据传输。大致工作流程:(1)客户与服务器建立连接;(2)客户向服务器提出请求;(3)服务器接受请求,并根据请求返回相应的文件作为应答;(4)客户..原创 2020-10-12 21:33:44 · 228 阅读 · 0 评论 -
分享一篇2.3k点赞的RabbitMQ 使用指南
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见角色大致也就有 Producer(生产者)、Consumer(消费者)。常见的消息中间件产品:1). ActiveMQActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现。我们..原创 2020-10-12 17:57:11 · 235 阅读 · 0 评论 -
5年面试生涯总结出的RabbitMQ面试题
需要后续RabbitMQ面试题的点赞+关注,私信我获取1.RabbitMQ是什么?RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。2.RabbitMQ特点?可靠性: RabbitMQ使用一些机制来保证可靠性, 如持久化、传输确认及发布确认等。灵活的路由 : 在消息进入队列之前,通过交换器来路由消..原创 2020-10-07 15:58:07 · 142 阅读 · 0 评论 -
大佬教你区分Redis 缓存穿透、击穿、雪崩的办法
前言如何有效的理解并且区分 Reids 穿透、击穿和雪崩之间的区别,一直以来都挺困扰我的。特别是穿透和击穿,过一段时间就稀里糊涂的分不清了。为了有效的帮助笔者自己,以及拥有同样烦恼的朋友们区分这三种场景。笔者总结了一些关键词,希望大家可以和我一样通过联想的方式来区分并理解这三种场景的区别!缓存穿透关键词:穿过 Redis 和数据库当 Redis 和数据库中都没有我们想要的数据时,就需要考虑缓存穿透的问题了。下面这段逻辑大家用的会比较多:先去 Redis 中查找某资源,Redis 中查..原创 2020-10-07 14:51:13 · 134 阅读 · 1 评论 -
MySQL性能优化21个最佳实践及技巧
一、背景最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久。原因是新功能用到旧功能的接口,而这些旧接口的 SQL 查询语句关联5,6张表且编写不够规范,导致 MySQL 在执行 SQL 语句时索引失效,进行全表扫描。原本负责优化的同事有事请假回家,因此优化查询数据的问题落在笔者手中。笔者在查阅网上 SQL 优化的资料后成功解决了问题,在此从==全局角度==记录和总结 MySQL 查询优化相关技巧。二、优化思路数据查询慢,不代表 SQL 语句写法有问题。 首先,我们需要找到问题的源头..原创 2020-10-07 11:18:49 · 1185 阅读 · 1 评论 -
谷歌工程师的一番话
每周,谷歌员工都会在厕所的墙壁上粘贴一页来分享本周的测试小建议。有时这页纸会讨论依赖注入,并提供一个简单的示例展示如何用不同语言使用它;有时它可能会分享如何安装一个用于测量团队代码库测试覆盖率的软件。“Testing on the Toilet”起初是个奇怪又有趣的方式,来教给工程师在工作中会用到的一些新的东西,这也被突出为Google文化中的核心力量:向工程师组织有效的传播一系列最佳实践。这有从谷歌工程文化中获得的六个核心原则,你可能能够从中获益。把工程资源用于共享工具和抽象概念。在早期谷..原创 2020-09-30 20:41:16 · 170 阅读 · 0 评论 -
RabbitMQ经典面试题及几个核心知识点
什么是RabbitMQRabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。RabbitMQ使用的是AMQP协议,它是一种二进制协议1.用户的请求,服务器收到之后,首先写入消息队列,加入消息队列长度超过最大值,则直接抛弃用户请求或跳转到错误页面.2.秒杀业务根据消息队列中的请求信息,再做后续处理.为什么要使用RabbitMQ?1.在分布式系统下具备异步,削峰,负载均衡等一系列高级功能;2.拥有持久化的机制,进程消息...原创 2020-09-30 16:39:03 · 277 阅读 · 0 评论 -
Nginx各大知识点及最新面试题
Nginx的作用这个问题是入门级知识点,讨论Nginx的用处。我觉得只要几个重要的点都回答到位就可以了,可以考虑这样的一个回答:Nginx是一个高性能web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。不仅可以实现负载均衡,还可以做接口限流,缓存等功能。使用Nginx的优势点 Nginx由于使用了epoll和kqueue网路I/O模型,在实际生产环境能够支撑3万左右并发连接。 Nginx内存消耗低。 Nginx跨平台,而且配置相对来说难...原创 2020-09-30 15:49:47 · 110 阅读 · 0 评论 -
spring最全!从基础到高级我都有!
SpringMVC执行流程及原理?用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载SpringMVC.xml配置文件。前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping完成url到controller映射的组件,简单来说,就是将在SpringMVC.xml中配置的或者注解的url与对应的处理类找到并进行存储,用Map这样的方式来存储。..原创 2020-09-30 15:02:12 · 99 阅读 · 0 评论 -
Kafka给你整明白,还怕面不上大厂?
1、请说明什么是Apache Kafka?Apache Kafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和可复制的提交日志服务。2、说说Kafka的使用场景?①异步处理②应用解耦③流量削峰④日志处理⑤消息通讯等。3、使用Kafka有什么优点和缺点?优点:①支持跨数据中心的消息复制;②单机吞吐量:十万级,最大的优点,就是吞吐量高;③topic数量都吞吐量的影响:topic从几十个到几百个的时候,吞吐量会大幅度下降。所以在同等机器..原创 2020-09-30 10:59:26 · 215 阅读 · 0 评论 -
你还在找《微服务》的资料吗,有这一篇就够了
过去几年,“微服务架构”这个术语出现了,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。49页PPT干货:微服务架构起源、简介及设计尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,端点智能以及语言和数据的分散控制等方面存在着某些共同特征。“微服务” 是在拥挤的软件架构街道上又一个新名词。尽管我们的自然倾向是以轻蔑的眼光来传递这样的东西,但这些术语描述了一种我们发现越来越吸引人的软件系统风格。我们已经看到许多项目在过去几年中都采用了这种风格,迄今为止的结果...原创 2020-09-29 15:48:45 · 74 阅读 · 0 评论