Nginx学习笔记--高可用Nginx架构:keepalived+nginx

Nginx作为对外暴露的访问入口,必须具有高可用性,才能保证能够正常提供服务。单机Nginx服务的情况下,一旦出现宕机,将会导致需要Nginx路由的服务不可用访问,因此,保证Nginx服务的HA(high availabitlity),也就是高可用性。 keepalived+lvs+nginx如何...

2019-01-09 23:06:32

阅读数 144

评论数 0

@Transactional注解不起作用解决办法及原理分析

Transactional失效场景介绍 第一种 Transactional注解标注方法修饰符为非public时,@Transactional注解将会不起作用。例如以下代码。 定义一个错误的@Transactional标注实现,修饰一个默认访问符的方法 /** * @author zhoujy ...

2018-12-09 00:21:50

阅读数 1744

评论数 0

分析spring boot中几种常见的依赖注入问题

最近有空总结一下之前在使用spring boot时遇到过的几种依赖注入时的坑,如果了解spring内部的处理过程,使用起来总是感觉有种迷糊。 在分析场景前,需要大概了解一下spring对于bean的实例化过程是需要先注册BeanDefinition信息然后才进行实例化,在org.springfr...

2018-09-25 00:15:11

阅读数 2567

评论数 0

spring boot@EnableXXXX注解编程模型分析

@EnableXXXX编程模型 在spring boot中,@EnableXXX注解的功能通常是开启某一种功能。根据某些外部配置自动装配一些bean,来达到开启某些功能的目的。光说很抽象,要具体分析。 @Enable模型的实现方式基本有3种。一个基本的@Enable注解的模型如下。 @T...

2018-09-15 13:42:49

阅读数 172

评论数 0

深入分析RestController与Controller

@RestController和@Controller注解 我们都知道RestController默认都只提供Rest风格接口返回值,针对不需要返回页面的Controller都采用RestController进行注解,下面根据源码简单分析一下两者处理上的区别。 @RestController源...

2018-09-03 12:31:41

阅读数 7222

评论数 2

深入分析Spring MVC

Spring MVC基本概念 顾名思义,需要了解m、v、c三个部分的概念,是熟悉和分析springmvc处理过程的首要条件。 M部分 M指的是model,也就是模型。在springmvc中的职责就是在后端进行页面的最后渲染时提供页面所需要的数据,这里所说的数据不仅仅是后端返回的业务数据,...

2018-09-02 02:38:04

阅读数 610

评论数 0

redis缓存一致性问题解决方案

使用缓存来存储热点数据是应对高并发的常用手段之一,通过使用缓存,大大减轻了数据库的压力,同时减少了响应请求的时间。 但是引入缓存之后,随之而来的问题就是当DB数据更新时,缓存中的数据就会与db数据不一致,这时候就需要对缓存的数据进行更新或者淘汰缓存,这篇文章就是分析各种处理缓存一致性问题的解决方案...

2019-03-18 22:39:19

阅读数 68

评论数 0

mysql调优--从哪几个方面入手

简介 一般涉及mysql调优,可以从几个方面入手,分别是硬件、mysql系统配置、表结构优化、sql语句及索引。下面简单分析一下每个方面我们能够做什么,sql语句和索引是我们调优最常见的手段,在其他文章有记载,这里主要分析其他三个方面。 硬件 我们业务上常见场景 数据库数据量大 每次需要访问的数...

2019-02-17 17:06:04

阅读数 69

评论数 0

脏读、不可重复读、幻读和快照读、当前读

快照读和当前读 快照读(snapshot read),读取历史数据,不是最新数据 简单select操作,select ** 当前读(current read),读最新数据 select ** lock in share mode select ** for update inse...

2019-02-16 14:30:12

阅读数 42

评论数 0

深入了解mysql--gap locks,Next-Key Locks

Next-Key Locks Next-Key Locks是在存储引擎innodb、事务级别在可重复读的情况下使用的数据库锁,官网上有介绍,Next-Key Locks是行锁和gap锁的组合。行锁是什么我们都很清楚,这篇文章主要简单分析一下mysql中的gap锁是什么。innodb默认的锁就是Ne...

2019-02-14 23:49:19

阅读数 79

评论数 0

mysql调优--根据explain结果分析索引有效性,正确使用索引

定位低效率sql 对于mysql性能优化,除了宏观层面的网络、设备等优化,sql语句的优化是极为重要的一环,需要想办法找到对应的执行效率低的sql语句进行优化。 慢查询日志 慢查询日志是定位低效率sql的手段之一,通过以下命令,设置开启慢查询日志。 #显示是否开启了慢查询日志 show varia...

2019-02-14 21:57:44

阅读数 116

评论数 0

mysql调优--了解mysql索引结构

对于mysql调优来说,简历合适的索引是极其重要的一部,因此,有必要了解mysql中索引的相关知识。这里记录一下mysql 中关于索引的常见的基本知识。 innodb和myisam存储结构 我们工作中常见的mysql存储引擎包括innodb和myisam,两种存储引擎的数据存储结构不一样,最终两者...

2019-01-31 22:24:09

阅读数 42

评论数 0

JVM调优--JVM垃圾回收的基本知识

记录关于GC不得不知道的知识点~~ 什么是安全点、安全域? 当一个线程挂起或者一段代码,引用关系不会发生变化,那么就是进入安全域,该线程满足GC安全要求 当java程序需要进行一次GC的时候,通知线程进入安全区域,如果线程早已经在安全域,该线程通过安全检查;如果线程还在运行当中,那么接下来线程将...

2019-01-29 22:34:24

阅读数 38

评论数 0

JVM调优--常用JVM监控工具使用

在实际工作中,在进行jvm调优或者分析内存泄露、溢出等问题时,熟练掌握JVM常用的监控工具能够帮助更快地定位问题所在,目前记录一下使用过的常用的jvm监控工具以及其使用、和对应分析过程。 查看jvm使用的垃圾回收器 在开始了jvm调优或者内存问题分析时,我们首先要了解的就是JVM使用垃圾回收器是什...

2019-01-23 23:43:16

阅读数 155

评论数 0

ReentrantLock实现原理分析

java.util.concurrent包中的工具实现核心都是AQS,了解ReentrantLock的实现原理,需要先分析AQS以及AQS与ReentrantLock的关系。 这篇文章中分析了ReentrantLock#lock与ReentrantLock#unlock的实现,对于Conditio...

2019-01-10 23:24:13

阅读数 151

评论数 0

Nginx学习笔记--nginx基本操作

nginx是一个反向代理服务器,可以利用它所许多事情,最常见的就是利用nginx做服务器端的负载均衡,访问认证,限流,静态数据缓存等。下面看一下nginx的基本操作。 基本的虚拟主机 nginx既然是一个方向的代理服务器,那么其访问代理配置方式是必须要了解的。在nginx.conf配置文件中的ht...

2019-01-01 23:27:40

阅读数 44

评论数 0

Nginx学习笔记--安装与基本操作

安装步骤 从nginx官网下载对应版本的压缩包,解压缩 进入压缩包根目录,执行命令 ./configure 假如linux中没有安装pcre和zlib库的话,将会报错,需要安装这两个库,在ubuntu环境下,使用以下命令安装 apt-get install libpcre++-dev...

2019-01-01 23:27:06

阅读数 31

评论数 0

redis集群+JedisCluster+lua脚本实现分布式锁

在这片文章中,使用Jedis clien进行lua脚本的相关操作,同时也使用一部分jedis提供的具有原子性set操作来完成值和过期时间的同时设置。使用lua脚本根本原因也是为了保证我们两个redis操作之间的原子性,使分布式锁更加可靠。 JedisCluster相关代码配置 在博主的实现例子中使...

2018-12-24 16:42:51

阅读数 858

评论数 0

spring boot整合kafka+注解方式

spring boot自动配置方式整合 spring boot具有许多自动化配置,对于kafka的自动化配置当然也包含在内,基于spring boot自动配置方式整合kafka,需要做以下步骤。 引入kafka的pom依赖包 <!-- https://mvnreposit...

2018-12-19 00:19:18

阅读数 1431

评论数 0

spring boot整合redis集群,连接虚拟机redis集群,Unable to connect to 127

spring boot整合redis集群 最近的一个个人项目中使用到redis集群,redis集群的搭建环境使用同一台虚拟机,创建集群的命令是 redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0...

2018-12-16 19:54:52

阅读数 1876

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭