摘要:
前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天简单介绍下如何监控Nginx的状态。 其实要监控Nginx的状态非常简单,它内建了一个状态页,只需修改 阅读全文
posted @ 2020-05-09 17:24
YoungDeng
阅读(2672)
评论(0)
推荐(0)
摘要:
前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要说的是如何配置Nginx的日志。 日志格式 我们观察Nginx配置文件的server段,可以看到如下 阅读全文
posted @ 2020-05-09 17:22
YoungDeng
阅读(668)
评论(0)
推荐(0)
摘要:
前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要说的是如何配置nginx和tomcat实现反向代理。 需要说明的是:由于本文章是nginx系列文章中 阅读全文
posted @ 2020-05-09 17:21
YoungDeng
阅读(497)
评论(0)
推荐(0)
摘要:
前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要说的是如何配置nginx和tomcat实现反向代理。 需要说明的是:由于本文章是nginx系列文章中 阅读全文
posted @ 2020-05-09 17:19
YoungDeng
阅读(627)
评论(0)
推荐(1)
摘要:
前面讲了如何安装配置Nginx,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要说的是Nginx如何基于域名配置虚拟主机。 需要说明的是:由于本文章是nginx系列文章中的一篇,文章里 阅读全文
posted @ 2020-05-09 17:18
YoungDeng
阅读(296)
评论(0)
推荐(0)
摘要:
前面讲了如何配置基于IP的虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天就来讲讲Nginx如何基于端口的虚拟主机。 需要说明的是:由于本文章是nginx系列文章中的一篇,文章 阅读全文
posted @ 2020-05-09 17:16
YoungDeng
阅读(418)
评论(0)
推荐(0)
摘要:
前面讲了如何安装配置Nginx,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要说的是Nginx如何配置虚拟主机。 需要说明的是:由于本文章是nginx系列文章中的一篇,文章里面很多其 阅读全文
posted @ 2020-05-09 17:14
YoungDeng
阅读(591)
评论(0)
推荐(0)
摘要:
以前写过一些Nginx的文章,但都是用到什么说什么,没有一个完整系统的总结。趁最近有时间,打算将Nginx相关的内容重新整理一下。nginx系列文章地址如下:https://www.cnblogs.com/zhangweizhong/category/1529997.html 简介 1. 什么是Ng 阅读全文
posted @ 2020-05-09 17:12
YoungDeng
阅读(282)
评论(0)
推荐(0)
摘要:
前段时间,搞Nginx+IIS的负载均衡,想了解的朋友,可以看这篇文章:《nginx 和 IIS 实现负载均衡》,然后也就顺便研究了Nginx + IIS 实现动静分离。所以,一起总结出来,与大家共同探讨。 动静分离,说白了,就是将网站静态资源(HTML,JavaScript,CSS,img等文件) 阅读全文
posted @ 2020-05-09 17:08
YoungDeng
阅读(248)
评论(0)
推荐(0)
摘要:
Nginx的作用和优点,这里不必多说,今天主要是nginx负载均衡实验,把做的步骤记录下来,作为一个学习笔记吧,也可以给大家做下参考。 1.Nginx安装 1.下载地址:http://nginx.org/en/download.html 2.解压到后在window的cmd窗口,输入如下图所示的命令, 阅读全文
posted @ 2020-05-09 17:06
YoungDeng
阅读(420)
评论(0)
推荐(0)
摘要:
以前总结Redis 的一些基本的安装和使用,由于是测试方便,直接用的window 版的reids,并没有讲redis在linux下的安装。今天就补一下Linux环境如何安装redis。 大家可以这这里查看Redis 系列文章:https://www.cnblogs.com/zhangweizhong 阅读全文
posted @ 2020-05-09 17:04
YoungDeng
阅读(342)
评论(0)
推荐(0)
摘要:
以前总结Redis 的一些基本的安装和使用,大家可以这这里查看Redis 系列文章:https://www.cnblogs.com/zhangweizhong/category/771056.html。 今天补一下redis集群功能吧。需要注意,Redis 3.0 以后才有集群的功能,下载Redis 阅读全文
posted @ 2020-05-09 17:02
YoungDeng
阅读(808)
评论(0)
推荐(0)
摘要:
redis 服务器端命令 redis 127.0.0.1:6380> time ,显示服务器时间 , 时间戳(秒), 微秒数 1) "1375270361" 2) "504511" redis 127.0.0.1:6380> dbsize // 当前数据库的key的数量 (integer) 2 re 阅读全文
posted @ 2020-05-09 17:01
YoungDeng
阅读(686)
评论(0)
推荐(0)
摘要:
前面已经写了一些关于redis 的介绍,redis 的基本功能和用法,基本上都说了,有问题的可以去看看 http://www.cnblogs.com/zhangweizhong/category/771056.html。今天把redis 配置文件里面,用到的一些常用的配置项总结总结。 ==基本配置 阅读全文
posted @ 2020-05-09 17:00
YoungDeng
阅读(1705)
评论(0)
推荐(0)
摘要:
前面讲过一些redis 缓存的使用和数据持久化。感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhong/category/771056.html 。今天总结总结缓存使用过程中遇到的一些常见的问题。比如缓存雪崩,缓存穿透,缓存预热等等。 缓存雪崩 缓存 阅读全文
posted @ 2020-05-09 16:59
YoungDeng
阅读(319)
评论(0)
推荐(0)
摘要:
前面已经总结了Redis 的安装和使用,大家可以这这里查看Redis 系列文章:https://www.cnblogs.com/zhangweizhong/category/771056.html 今天讲下Redis 的持久化。 redis跟memcached类似,都是内存数据库,不过redis支持 阅读全文
posted @ 2020-05-09 16:57
YoungDeng
阅读(255)
评论(0)
推荐(0)
摘要:
接着上一篇,前面两篇我总结了《Redis总结(一)Redis安装》和《Redis总结(二)C#中如何使用redis》 所以这一篇,会讲讲Redis 的主从复制以及C#中如何调用。 Redis跟MySQL一样,拥有非常强大的主从复制功能,而且还支持一个master可以拥有多个slave,而一个slav 阅读全文
posted @ 2020-05-09 16:56
YoungDeng
阅读(265)
评论(0)
推荐(0)
摘要:
上一篇讲述了安装redis《Redis总结(一)Redis安装》,同时也大致介绍了redis的优势和应用场景。本篇着重讲解.NET中如何使用redis和C#。 Redis官网提供了很多开源的C#客户端。例如,Nhiredis ,ServiceStack.Redis ,StackExchange.Re 阅读全文
posted @ 2020-05-09 16:55
YoungDeng
阅读(387)
评论(0)
推荐(0)
摘要:
最近项目中需要使用Redis,刚好这两天有时间,便总结记录一下Redis的安装,以及如何在.NET中使用Redis。 Redis是一个用的比较广泛的Key/Value的内存数据库。目前新浪微博、Github、StackOverflow 等大型应用中都用其作为缓存,和Memcached类似,但是支持数 阅读全文
posted @ 2020-05-09 16:54
YoungDeng
阅读(199)
评论(0)
推荐(0)
摘要:
前面讲过一些RabbitMQ的安装和用法,也说了说RabbitMQ在一般的业务场景下如何使用。不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/category/855479.html 本来一直想写一个介绍RabbitMQ高可用的集群的文章。不过, 阅读全文
posted @ 2020-05-09 16:37
YoungDeng
阅读(309)
评论(0)
推荐(0)
摘要:
前面讲过一些RabbitMQ的安装和用法,也说了说RabbitMQ在一般的业务场景下如何使用。不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/category/855479.html 不过,最近有朋友问我,RabbitMQ RPC 是干嘛的,有什 阅读全文
posted @ 2020-05-09 16:35
YoungDeng
阅读(249)
评论(0)
推荐(0)
摘要:
上一篇,讲了RabbitMQ的具体用法,可以看看这篇文章:RabbitMQ学习系列(三): C# 如何使用 RabbitMQ。今天说些理论的东西,Exchange 的几种模式。 AMQP协议中的核心思想就是生产者和消费者隔离,生产者从不直接将消息发送给队列。生产者通常不知道是否一个消息会被发送到队列 阅读全文
posted @ 2020-05-09 16:33
YoungDeng
阅读(421)
评论(0)
推荐(0)
摘要:
上一篇已经讲了Rabbitmq如何在Windows平台安装,还不了解如何安装的朋友,请看我前面几篇文章:RabbitMQ学习系列一:windows下安装RabbitMQ服务 , 今天就来聊聊 C# 实际开发的过程中,怎么调用 用RabbitMQ。 一、客户端 RabbitMQ.Client 是rab 阅读全文
posted @ 2020-05-09 16:32
YoungDeng
阅读(644)
评论(0)
推荐(0)
摘要:
上一篇,简单介绍了RabbitMQ的情况还有一些相关的概念,这一篇,会讲讲 RabbitMQ安装与配置。 1.安装 Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装RabbitMQ之前要先安装Erlang。 erlang:http://www.erlang.org/downlo 阅读全文
posted @ 2020-05-09 16:30
YoungDeng
阅读(233)
评论(0)
推荐(0)
摘要:
1. 介绍 RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue )协议的开源实现。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面都非常的优秀。是当前最主流的消息中间件之一。 RabbitMQ的官网:http://www.rabbit 阅读全文
posted @ 2020-05-09 16:28
YoungDeng
阅读(214)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot 中的整合Mybatis并实现增删改查。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 Spring Boot 整合完Mybatis,有个特别重要的功能之前忘记讲 阅读全文
posted @ 2020-05-09 16:16
YoungDeng
阅读(1335)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot 如何整合定时任务已经Spring Boot 如何创建异步任务和定时任务。不清楚的朋友可以看看之前的文章:《Spring Boot 入门系列文章》 接下来主要讲解如何在SpringBoot应用中使用统一异常处理。如何实现对异常数据与正常的业务数据统一以json形式返回 阅读全文
posted @ 2020-05-09 16:15
YoungDeng
阅读(1544)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot 如何整合定时任务已经Spring Boot 如何创建异步任务,不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 接下来开始讲 Spring Boot的重要功能:整 阅读全文
posted @ 2020-05-09 16:14
YoungDeng
阅读(1401)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot 如何整合定时任务,不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天主要讲解Spring Boot中的另外一个任务:异步任务。所谓异步任务,其实就是异步执行程 阅读全文
posted @ 2020-05-09 16:11
YoungDeng
阅读(1607)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot 中的整合Redis缓存已经如何实现数据缓存功能。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天主要讲解Springboot整合定时任务。在SpringMv 阅读全文
posted @ 2020-05-09 16:10
YoungDeng
阅读(807)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot 中的整合Mybatis并实现增删改查,。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天主要讲解Springboot整合Redis。Redis是目前使用最多 阅读全文
posted @ 2020-05-09 16:00
YoungDeng
阅读(365)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot 中的整合Thymeleaf前端html框架,同时也介绍了Thymeleaf 的用法。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天主要讲解Springbo 阅读全文
posted @ 2020-05-09 15:59
YoungDeng
阅读(825)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot 中的整合Thymeleaf 。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天我们主要来看看 Thymeleaf 的常用标签和用法!其他详细的内容,大家可以 阅读全文
posted @ 2020-05-09 15:57
YoungDeng
阅读(3360)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot的优点,然后介绍了如何快速创建Spring Boot 项目。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天我们主要来看看 Thymeleaf 在 Sprin 阅读全文
posted @ 2020-05-09 15:54
YoungDeng
阅读(291)
评论(0)
推荐(0)
摘要:
前面介绍了Spring的@Controller和@RestController控制器, 他们是如何响应客户端请求,如何返回json数据。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天来说一 阅读全文
posted @ 2020-05-09 15:53
YoungDeng
阅读(347)
评论(0)
推荐(0)
摘要:
前面介绍了Spring Boot的优点,然后介绍了如何快速创建Spring Boot 项目。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天来说一说Spring的@Controller和@R 阅读全文
posted @ 2020-05-09 15:52
YoungDeng
阅读(814)
评论(0)
推荐(0)
摘要:
这段时间也没什么事情,所以就重新学习整理了Spring Boot的相关内容。今天开始整理更新Spring Boot学习笔记,感兴趣的朋友可以关注我的博客:https://www.cnblogs.com/zhangweizhong/category/1657780.html,希望能对你有所帮助。 注意 阅读全文
posted @ 2020-05-09 15:50
YoungDeng
阅读(3259)
评论(0)
推荐(0)
摘要:
最近在调试 前后端分离的请求测试,遇到了一个405错误, 无法接受,于是开始了人肉搜索405。 最后 还是HTTP头部信息里的Accept:application/json 这个Accept 导致的, 后端设置了只允许application/json 这种形式,so前端模拟请求的时候,你也要和后端沟 阅读全文
posted @ 2020-05-09 15:48
YoungDeng
阅读(1799)
评论(0)
推荐(0)
摘要:
原文地址:https://zhuanlan.zhihu.com/p/34426768 一、概述 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随 阅读全文
posted @ 2020-05-09 15:36
YoungDeng
阅读(158)
评论(0)
推荐(0)
摘要:
一、JVM内存结构 1.1、栈(JVM Stacks) 存放局部变量(定义在方法中的变量和定义在方法参数列表上的变量)、对象引用(reference类型,它不等同于对象本身,根据不同的虚拟机实现,它可能是一个指向对象起始地址的引用指针,也可能指向一个代表对象的句柄或者其他与此对象相关的位置)、方法的 阅读全文
posted @ 2020-05-09 15:33
YoungDeng
阅读(167)
评论(0)
推荐(0)
摘要:
原文链接:https://zhuanlan.zhihu.com/p/34426768 一、类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构。 类的加载的最终 阅读全文
posted @ 2020-05-09 15:32
YoungDeng
阅读(219)
评论(0)
推荐(0)
摘要:
五一假期大雄看了一本《java并发编程艺术》,了解了线程池的基本工作流程,竟然发现线程池工作原理和互联网公司运作模式十分相似。 线程池处理流程 原理解析 互联网公司与线程池的关系 这里用一个比喻来描述一下线程池,中间有一些名词你可能不是太清楚,后边源码解析的部分会讲到。 你可以把线程池看作是一个研发 阅读全文
posted @ 2020-05-09 15:24
YoungDeng
阅读(252)
评论(0)
推荐(0)
摘要:
单例模式是什么? 对象在全局只能有一个实例 为什么要使用单例模式? 静态方法和非静态方法的区别? 静态的方法: 能够在它的类的任何对象创建之前被访问,而不必引用任何对象, 并且static修饰的属性和方法在整个类中只有一份,可共享,放在方法区中。 非静态的方法: 在创建实例对象时,因为属性的值对于每 阅读全文
posted @ 2020-05-09 14:52
YoungDeng
阅读(968)
评论(0)
推荐(0)
摘要:
实现创建者与调用者的分离 以化妆品为例: 生产者: 一个接口,提供了生产化妆品的方法 public interface Cosmetics { void productCosmetics();} 生产的对象: 口红 public class Lipstick implements Cosmetics 阅读全文
posted @ 2020-05-09 14:50
YoungDeng
阅读(206)
评论(0)
推荐(0)
摘要:
说起来,可能有些小伙伴会不相信,我是第一次用 Redis,真的。因为公司小,业务量小,Redis 根本派不上用场。不过,最近打算把系统升级一下,顺带把当下时髦的技术入个门,“与时俱进”嘛,虽然进的有“一点点”晚(注意双引号)。 作为一名富有责任心的技术博主,我觉得有必要把我入门 Redis 的过程分 阅读全文
posted @ 2020-05-09 14:19
YoungDeng
阅读(165)
评论(0)
推荐(0)
摘要:
how me the code and talk to me,做的出来更要说的明白本文源码,请点击learnSpringboot我是布尔bl,你的支持是我分享的动力! 一、 引入# 有开发经验的都知道,几乎每种技术都有一个吉祥物代表。那么Docker的吉祥物是怎么样的呢? 下图我们可以看到Docke 阅读全文
posted @ 2020-05-09 14:16
YoungDeng
阅读(184)
评论(0)
推荐(0)
摘要:
引言 好久没写分布式系列的文章了,最近刚好有个朋友给我留言,想看这方面的知识。其实这方面的知识,网上各种技术峰会的资料一抓一大把。博主也是凑合着写写。感觉自己也写不出什么新意,大家也凑合看看。 日志系统的必要性? 我15年实习的时候那会,给某国企做开发。不怕大家笑话,生产上就两台机器。那会定位生产问 阅读全文
posted @ 2020-05-09 14:14
YoungDeng
阅读(246)
评论(0)
推荐(0)
摘要:
引言 本文翻译自博客http://ksat.me/a-plain-english-introduction-to-cap-theorem/博主觉得这个故事讲的生动活泼,因此翻译来给大家分享,顺便加上了点自己矫揉造作的见解,希望大家有所收获!CAP理论大概说一下就是,一致性(Consistency)、 阅读全文
posted @ 2020-05-09 14:11
YoungDeng
阅读(201)
评论(0)
推荐(0)
摘要:
引言 大家在面试中一定碰到过 说说事务的隔离级别吧? 老实说,事务隔离级别这个问题,无论是校招还是社招,面试官都爱问!然而目前网上很多文章,说句实在话啊,我看了后我都怀疑作者弄懂没!因为他们对可重复读(Repeatable Read)和串行化(serializable)的解析实在是看的我一头雾水!再 阅读全文
posted @ 2020-05-09 14:10
YoungDeng
阅读(777)
评论(0)
推荐(0)
摘要:
引言 回想四年前,我在学习mysql的索引这块的时候,老师在讲索引的时候,是像下面这么说的 索引就像一本书的目录。而当用户通过索引查找数据时,就好比用户通过目录查询某章节的某个知识点。这样就帮助用户有效地提高了查找速度。所以,使用索引可以有效地提高数据库系统的整体性能。 嗯,这么说其实也对。但是呢, 阅读全文
posted @ 2020-05-09 14:08
YoungDeng
阅读(139)
评论(0)
推荐(0)
摘要:
引言 其实这个话题是老生常谈,很多人在工作中确实也不会使用外键。包括在阿里的JAVA规范中也有下面这一条 **【强制】不得使用外键与级联,一切外键概念必须在应用层解决。 ** 但是呢,询问他们原因,大多是这么回答的 每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,测试 阅读全文
posted @ 2020-05-09 14:06
YoungDeng
阅读(1893)
评论(0)
推荐(1)
摘要:
引言 大家在开发中,还有很多童鞋在写查询语句的时候,习惯写下面这种不规范sql select * from table 而不写成下面的这种规范方式 select col1,col2,...,coln from table 我也知道,这些童鞋是图方便,毕竟再敲一堆的列名,嫌麻烦!你们上班可以问问自己的 阅读全文
posted @ 2020-05-09 14:04
YoungDeng
阅读(659)
评论(0)
推荐(0)
摘要:
引言 大家在面试中有没遇到面试官问你下面六句Sql的区别呢 select * from table where id = ? select * from table where id < ? select * from table where id = ? lock in share mode se 阅读全文
posted @ 2020-05-09 13:53
YoungDeng
阅读(1571)
评论(1)
推荐(2)
摘要:
引言 我们先来讲一个段子 面试官:“有并发的经验没?”应聘者:“有一点。”面试官:“那你们为了处理并发,做了哪些优化?”应聘者:“前后端分离啊,限流啊,分库分表啊。。”面试官:"谈谈分库分表吧?"应聘者:“bala。bala。bala。。”面试官心理活动:这个仁兄讲的怎么这么像网上的博客抄的,容我再 阅读全文
posted @ 2020-05-09 13:49
YoungDeng
阅读(192)
评论(0)
推荐(0)
摘要:
前言 这个话题已经是老生常谈了,之所以又被我拎出来,是因为博主隔壁的一个童鞋最近写了一篇叫做《ThreadLocal内存泄露》的文章,我就不上链接了,因为写的实在是。。(省略一万字)重点是写完后,还被我问懵了。出于人道主义关怀,博主很不要脸的再写一篇。 正文 定义 首先,我们要先谈一下定义,因为一堆 阅读全文
posted @ 2020-05-09 13:46
YoungDeng
阅读(224)
评论(0)
推荐(0)
摘要:
小漫画 来,先来看小漫画陶冶一下情操OK,这里就说了。假设,你有一个表erp,如果你直接进行下面的命令 drop table erp 这个时候所有的mysql的相关进程都会停止,直到drop结束,mysql才会恢复执行。出现这个情况的原因就是因为,在drop table的时候,innodb维护了一个 阅读全文
posted @ 2020-05-09 13:11
YoungDeng
阅读(212)
评论(0)
推荐(0)
摘要:
最近忙着搬家,所以停更了一段时间,今天给大家补上。 引言 我们先来讲一个段子 面试官:“有并发的经验没?”应聘者:“有一点。”面试官:“那你们为了处理并发,做了哪些优化?”应聘者:“前后端分离啊,限流啊,分库分表啊。。”面试官:"谈谈分库分表吧?"应聘者:“bala。bala。bala。。”面试官心 阅读全文
posted @ 2020-05-09 11:09
YoungDeng
阅读(301)
评论(0)
推荐(0)
摘要:
引言 大家在面试的时候,是否遭遇过,面试官询问 你们是如何进行数据库优化的? 那这个问题应该怎么答呢?其实写这个题材的原因是我这几天看到各公众号转的一篇数据库调优的知识(不上链接了),我就稍微翻了几下,上面动不动就来说要对数据库进行水平拆分,我就想反问各位读者,你们几个人经历过水平拆分?现在很多文章 阅读全文
posted @ 2020-05-09 11:06
YoungDeng
阅读(256)
评论(0)
推荐(0)
摘要:
引言 什么是网关?为什么需要使用网关? 如图所示,在不使用网关的情况下,我们的服务是直接暴露给服务调用方。当调用方增多,势必需要添加定制化访问权限、校验等逻辑。当添加API网关后,再第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制。本文所实现的网关源码抄袭了 Oh,不对 阅读全文
posted @ 2020-05-09 11:03
YoungDeng
阅读(503)
评论(0)
推荐(0)
摘要:
引言 该文是对《分布式之数据库和缓存双写一致性方案解析》,一文的补充。博主在该文中,提到了这么一句话 应该没人问我,为什么没有先更新缓存,再更新数据库这种策略。 博主当时觉得,这种更新策略比较简单,没必要多做说明,结果太多人留言给博主,问我为什么不说这套方案?好吧,博主先跟大家道个歉,是我的问题。所 阅读全文
posted @ 2020-05-09 11:02
YoungDeng
阅读(185)
评论(0)
推荐(0)
摘要:
正文 博主本来觉得,《分布式之数据库和缓存双写一致性方案解析》,一文已经十分清晰。然而这一两天,有人在微信上私聊我,觉得应该要采用 先删缓存,再更新数据库,再删缓存 这一方案作为缓存更新策略,而不是先更新数据库,再删缓存。并且搬出了两篇大佬的文章,《Cache Aside Pattern》,《缓存与 阅读全文
posted @ 2020-05-09 11:01
YoungDeng
阅读(181)
评论(0)
推荐(0)
摘要:
引言 redis大家在项目中经常会使用到。官网也提供了多语言的客户端供大家操作redis,如下图所示但是,大家有思考过,这些语言操作redis背后的原理么?其实,某些大神会说 只要按照redis的协议,发送指定数据给redis,监听返回值即可。 确实,本质原理就是如上面那句话所说。博主也是以这种思路 阅读全文
posted @ 2020-05-09 10:59
YoungDeng
阅读(506)
评论(0)
推荐(0)
摘要:
引言 为什么写这篇文章? 博主的《分布式之消息队列复习精讲》得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章。但是还是要说明一下,复习精讲的文章偏面试准备,真正在开发过程中,还是脚踏实地,一步一个脚印,不要投机取巧。考虑到绝大部分写业务的程序员,在实际开发中使用redis的时候,只会s 阅读全文
posted @ 2020-05-09 10:57
YoungDeng
阅读(122)
评论(0)
推荐(0)
摘要:
看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还 阅读全文
posted @ 2020-05-09 10:55
YoungDeng
阅读(362)
评论(0)
推荐(0)
摘要:
引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客, 阅读全文
posted @ 2020-05-09 10:54
YoungDeng
阅读(143)
评论(0)
推荐(0)
摘要:
什么是缓存击穿 在谈论缓存击穿之前,我们先来回忆下从缓存中加载数据的逻辑,如下图所示 因此,如果黑客每次故意查询一个在缓存内必然不存在的数据,导致每次请求都要去存储层去查询,这样缓存就失去了意义。如果在大流量下数据库可能挂掉。这就是缓存击穿。场景如下图所示: 我们正常人在登录首页的时候,都是根据us 阅读全文
posted @ 2020-05-09 10:52
YoungDeng
阅读(729)
评论(0)
推荐(1)
摘要:
引言 本文利用java自带的socket编程实现了一个简单的rpc调用框架,由两个工程组成分别名为battercake-provider(服务提供者)、battercake-consumer(服务调用者)。 设计思路如下:1、在battercake-provider中,写一个服务叫BatterCak 阅读全文
posted @ 2020-05-09 10:45
YoungDeng
阅读(698)
评论(0)
推荐(0)
摘要:
引言 还在为弄不清commons-logging-xx.jar、log4j-xx.jar、sl4j-api-xx.jar等日志框架之间复杂的关系而感到烦恼吗?还在为如何统一系统的日志输出而感到不知所措嘛?您是否依然存在这样的烦恼。比如,要更改spring的日志输出为log4j 2,却不知该引哪些ja 阅读全文
posted @ 2020-05-09 10:44
YoungDeng
阅读(234)
评论(0)
推荐(0)
摘要:
引言 本来没想写这个题材的,为了某某童鞋能够更好的茁壮成长,临时写一篇负载均衡的。负载均衡,大家可能听过什么3层负载均衡、4层负载均衡、7层负载均衡什么的?那这是怎么分的呢,ok,是根据osi七层网络模型来分的,例如nginx是工作在应用层,应用层刚好是在第7层,因此nginx又可以称为7层负载均衡 阅读全文
posted @ 2020-05-09 10:39
YoungDeng
阅读(272)
评论(0)
推荐(0)
摘要:
引言 不知道在大家面试中,有没有遇到这个问题 生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 这个问题分为两版回答!高调版对不起,我是做研发的,这个问题在生产上是不可能遇见的!因为研发是不可能直接操作生产服务器,如果贵公司研发能遇到这个问题,应该要反思一 阅读全文
posted @ 2020-05-09 10:33
YoungDeng
阅读(391)
评论(0)
推荐(0)
摘要:
引言 首先,之所以谈这个话题呢,是发现现在很多人对微服务的设计缺乏认识,所以写一篇扫盲文。当然,考虑到目前大多微服务的文章都是口水文,烟哥争取将实现方式讲透,点清楚,让大家有所收获!OK,我要先说明一下,我有很长一段时间将服务降级和服务熔断混在一起,认为是一回事!为什么我会有这样的误解呢?针对下面的 阅读全文
posted @ 2020-05-09 10:28
YoungDeng
阅读(435)
评论(0)
推荐(0)
摘要:
引言 OK,如下图所示 那显而易见,做服务隔离的目的就是避免服务之间相互影响。毕竟谁也不能说自己的微服务百分百可用,如果不做隔离,一旦一个服务出现了问题,整个系统的稳定性都会受到影响! 因此,做服务隔离是很有必要的。那么怎么隔离呢?有如下两种方式 - 按*种类隔离* - 按*用户隔离* OK,接下来 阅读全文
posted @ 2020-05-09 10:27
YoungDeng
阅读(497)
评论(0)
推荐(0)
摘要:
引言 早在2013年的时候,docker就已经发行,然而那会还是很少人了解docker。一直到2014年,Martin Fowler提出了微服务的概念,两个不相干的技术终于走在了一起,创造了今天的辉煌!近几年来,很多互联网关系开始跟风,构建docker+微服务的架构体系。然而,根据笔者观察发现,有些 阅读全文
posted @ 2020-05-09 10:26
YoungDeng
阅读(717)
评论(1)
推荐(3)
摘要:
(以下故事纯属虚构,如有雷同纯属巧合) 概念 自从微服务的浪潮席卷了烟哥的公司之后,烟哥的领导内心蠢蠢欲动,指派烟哥去将公司的传统服务架构改成微服务架构!于是烟哥就喊上了小刘到了一个僻静的角落探讨如何实施! 烟哥:"小刘啊,去把公司那套天霸动霸Tua系统整整,接入注册中心,熔断器什么的,整成微服务架 阅读全文
posted @ 2020-05-09 10:24
YoungDeng
阅读(983)
评论(0)
推荐(0)
摘要:
摘要 企业千万家,靠谱没几家。社招选错家,亲人两行泪。 祝大家金三银四跳槽顺利! 引言 开始我们的内容,相信大家一定遇到过下面的一个面试场景 面试官:“讲讲mysql有几个事务隔离级别?”你:“读未提交,读已提交,可重复读,串行化四个!默认是可重复读”面试官:“为什么mysql选可重复读作为默认的隔 阅读全文
posted @ 2020-05-09 10:22
YoungDeng
阅读(291)
评论(0)
推荐(1)
摘要:
引言 照例,我们先来一个场景~ 面试官:"知道事务的四大特性么?"你:"懂,ACID嘛,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)!"面试官:"你们是用mysql数据库吧,能简单说说innodb中怎么实现这四大特性的么 阅读全文
posted @ 2020-05-09 10:18
YoungDeng
阅读(496)
评论(0)
推荐(1)
摘要:
引言 讲了几天的数据库系列的文章,大家一定看烦了,其实还没讲完。。。(以下省略一万字)。今天我们换换口味,来写redis方面的内容,谈谈热key问题如何解决。其实热key问题说来也很简单,就是瞬间有几十万的请求去访问redis上某个固定的key,从而压垮缓存服务的情情况。其实生活中也是有不少这样的例 阅读全文
posted @ 2020-05-09 10:16
YoungDeng
阅读(509)
评论(0)
推荐(0)
摘要:
引言 (本文改编自生活真实案例,如有类同,绝不是巧合!)端午节,烟哥正在一边愉快的学习....突然,微信一阵抖动。原来是老刘呼唤烟哥!善良的烟哥本以为人家是要约我出去玩!然而,打开微信一看,出现下图聊天记录于是本文的主题就这么展开了。由于我需要迅速让老刘明白,这种问题的回答套路,所以我回答的时候,教 阅读全文
posted @ 2020-05-09 10:14
YoungDeng
阅读(220)
评论(0)
推荐(0)
摘要:
引言 由于近期忙着搬家,又偷懒了几个礼拜!其实我很早以前就想写一篇关于HashMap的面试专题。对于JAVA求职者来说,HashMap可谓是集合类的重中之重,甚至你在复习的时候,其他集合类都不用看,专攻HashMap即可。然而,鉴于网上大部分的关于HashMap的面试方向文章,烟哥看过后都不是太满意 阅读全文
posted @ 2020-05-09 10:11
YoungDeng
阅读(179)
评论(0)
推荐(0)
摘要:
引言 值此七夕佳节,烟哥放弃了无数妹纸的邀约,坐在电脑面前码字,就是为了给读者带来新的知识,这是一件伟大的事业!好吧,实际情况是没人约。为了化解尴尬,我决定卖力写文章,嗯,一定是我过于屌丝!好了,开始说重点。今天讲的这个问题 JVM进程消失可能有哪些原因? 这个问题也是面试中经常出现的,如下图所示 阅读全文
posted @ 2020-05-09 10:10
YoungDeng
阅读(977)
评论(1)
推荐(0)
摘要:
引言 好久没写文章了,今天回来重操旧业。毕竟现在对后端开发的要求越来越高,大家要做好各种准备。因此,大家有可能遇到如下问题 为什么Mysql中Innodb的索引结构采取B+树? 回答这个问题时,给自己留一条后路,不要把B树喷的一文不值。因为网上有些答案是说,B树不适合做文件存储系统的索引结构。如果按 阅读全文
posted @ 2020-05-09 10:09
YoungDeng
阅读(284)
评论(0)
推荐(0)
摘要:
引言 今天我们来聊聊DNS。所谓域名系统(Domain Name System缩写DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,可以balabala..省略一万字不表,因为这都不是重点!重点只有一个,大厂经常问!没错,正是因为 阅读全文
posted @ 2020-05-09 10:07
YoungDeng
阅读(472)
评论(0)
推荐(0)
摘要:
引言 近期由于复习了一下mysql的内容,有些心得。随手讲其中一部分知识,都是一些烟哥自己平时工作的总结以及经验。大家看完,其实能避开很多坑。而且很多问题,都是面试中实打实会问到的!比如 OK,具体有下面这些问题 1、为什么一定要设一个主键? 2、你们主键是用自增还是UUID? 3、主键为什么不推荐 阅读全文
posted @ 2020-05-09 10:05
YoungDeng
阅读(327)
评论(0)
推荐(0)
摘要:
引言 本文预计分为两个部分:(1)联合索引部分的基础知识在这个部分,我们温习一下联合索引的基础(2)联合索引部分的实战题在这个部分,列举几个我认为算是实战中的代表题,挑出来说说。 正文 基础 讲联合索引,一定要扯最左匹配!放心,我不扯有的没的,几句话懂个大概就行!最左匹配所谓最左原则指的就是如果你的 阅读全文
posted @ 2020-05-09 09:59
YoungDeng
阅读(639)
评论(0)
推荐(1)
摘要:
引言 今天下午,烟哥和同事在厕所里排队等坑的时候(人多坑少)。想象一下一个场景,我正在一边排队,一边拿着手机撩妹。前面一个同事,拿着手机短信转过头来和我聊天。于是,我们就开始讨论下面这种短链接的实现原理(没错,上厕所也不忘学习!)。 点击其中短链接后,我们会跳到如下地址http://h5.dangd 阅读全文
posted @ 2020-05-09 09:57
YoungDeng
阅读(1466)
评论(1)
推荐(0)
摘要:
引言 我在《那些年用过的Redis集群架构(含面试解析)》一文里提到过,现在redis集群架构,redis cluster用的会比较多。如下图所示对于客户端请求的key,根据公式HASH_SLOT=CRC16(key) mod 16384,计算出映射到哪个分片上,然后Redis会去相应的节点进行操作 阅读全文
posted @ 2020-05-09 09:51
YoungDeng
阅读(3381)
评论(1)
推荐(1)

浙公网安备 33010602011771号