Xiao's Blog

生命太短暂,不要去做一些根本没有人想要的东西。


  • Home

  • About

  • Tags

  • Categories

  • Archives

  • Search

Mysql主备以及读写分离

Posted on 2020-05-02 | In Mysql

随着业务量的增加,单机mysql可能不能再支持系统的运行,我们需要部署主备架构的mysql,主库可以提供读写功能,备库只能提供读。

Read more »

mysql基础

Posted on 2020-05-02 | In Mysql

mysql逻辑架构

images

Read more »

Mysql查询性能优化

Posted on 2020-02-20 | In Mysql

为什么查询会慢

如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定时间。如果要优化查询,实际上是优化其子任务,要么消除其中一些子任务,要么减少子任务的执行次数,要么让子任务执行更快。

查询的生命周期大致可以分为:从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端。在完成这些任务的时候,查询需要在不同 的地方花费时间,包括网络,CPU计算,生成统计信息和执行计划,锁等待,互斥等待等操作,尤其是像底层存储引擎检索数据的调用操作,这些调用需要在内存操作,CPU操作和内存不足时导致的I/O操作上消耗时间。根据存储引擎不同,可能还会产生大量的上下文切换以及系统调用。

Read more »

一文详解二叉树

Posted on 2020-01-16 | In 数据结构和算法

树是一种重要的数据结构,它的定义:

树(Tree)是n(n≥0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:(1)有且仅有一个特定的称为 根(root) 的结点(2)当n>1时,其余结点可以分为m(m>0)个互不相交的有限集T1,T1,…,Tm,其中每一个本身又是一棵树,并且称为根的 子树(sub tree)

Read more »

Mysql explain 详解

Posted on 2020-01-03 | In Mysql

explain可以提供Mysql执行语句的信息,根据这些信息,我们可以对执行语句进行优化,比如调整索引和连接顺序。explain可以用于select,insert,update,delete,replace语句。

explain输出项

1. id列

Rocketmq源码解析-2.Namesrv

Posted on 2019-12-19 | In middleware

Namesrv简介

Namesrv可以理解为一个注册中心,类似于kafka的zookeeper,但是比zk更加轻量,主要包含两块功能:

  • 管理一些KV配置信息。
  • 管理broker和topic的注册信息。
Read more »

Rocketmq源码解析-1.Rocketmq介绍

Posted on 2019-12-18 | In middleware

Rocketmq优势:

  1. rocketmq原生就支持分布式,而activemq原生存在单点性。
  2. rocketmq可以严格的保证消息的顺序,而activemq不能保证。
  3. rocketmq可以提供亿级消息的堆积能力,不过这不是重点,重点是堆积了亿级消息还能保持低延迟写入。
    Read more »

Rocketmq安装部署

Posted on 2019-12-17 | In middleware

获取源码,打包编译

  1. 从github下载源码,git clone https://github.com/apache/rocketmq.git
  2. 编译源码,进入到主目录,然后执行命令: mvn -Prelease-all -DskipTests clean install -U
  3. 编译完之后我们只需要下图红框之内的目录进行部署。
    Read more »

Java锁介绍

Posted on 2019-11-07 | In Java

     锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。在Lock接口出现之前,Java程序是靠synchronized关键字实现锁功能的,而Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功能,只是在使用时需要显式地获取和释放锁。虽然它缺少了(通过synchronized块或者方法所提供的)隐式获取释放锁的便捷性,但是却拥有了锁获取与释放的可操作性、可中断的获取锁以及超时获取锁等多种synchronized关键字所不具备的同步特性。

Read more »

Java GC总结

Posted on 2019-02-19 | In Java

1. Jvm内存结构

image

Read more »

123
任重道远

任重道远

当你选择了一种语言,意味着你还选择了一组技术、一个社区

27 posts
7 categories
15 tags
GitHub
0%
© 2021 任重道远
Powered by Hexo
|
Theme — NexT.Pisces v5.1.4