自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jhachr的博客

冲冲冲冲冲冲冲冲冲冲冲冲冲冲冲冲冲冲!!!!

  • 博客(19)
  • 收藏
  • 关注

原创 Keepalived实现数据库集群双机热备

之前我们已经搭建好了MyCat管理的PXC集群以及replication集群MyCat实现PXC集群负载均衡以及replication集群读写分离为了实现高可用,我们接下来需要在MyCat中间件之前使用Keepalived实现双机热备一.Keepalived如何实现双机热备?为了实现高可用,我们使用keepalived来实现双机热备。其主要工作原理是,在MyCat容器上面使用keepal...

2020-03-14 16:11:06 394

原创 Docker环境的搭建

一.Docker是什么?Docker是一种轻量级的可移植的虚拟机。Docker虚拟机跟VMware虚拟机的区别:VMware需要建立在虚拟的操作系统,Docker虚拟机直接跟宿主机的操作系统进行交互。Docker镜像相当于是只读层,不能往镜像中写入数据,可以通过编写dockfile文件,然后执行dockfile文件来创建镜像,但是我们一般使用从镜像仓库直接下在其他人编译好的Dockerfi...

2020-03-12 22:45:51 160

原创 PXC集群搭建

之前我们搭建了四个Docker虚拟机并且把四个docker虚拟机加入了swarm集群。接下来我们学习把PXC集群搭建在Dokcer容器中。Percona XtraDB Cluster是什么?PXC是percona公司的开源项目,是业界主流的数据库集群解决方案。具有数据的强一致性,仅支持InnoDB引擎内部使用的数据库是pecona server 是一款衍生版的MySQL数据库,读写性能...

2020-03-12 22:45:31 240

原创 Replication集群搭建

之前我们搭建了四个Docker虚拟机并且把四个docker虚拟机加入了swarm集群。后来在swarm集群中,使用docker搭建了PXC集群接下来我们学习把replication集群搭建在Dokcer容器中。Replication集群是什么?replication是MySQL内部的数据机制组建的集群具有数据的弱一致性,是通过MySQL的binlog来实现数据同步的。Replicat...

2020-03-12 22:45:23 291

原创 MyCat实现PXC集群负载均衡以及replication集群读写分离

一.MyCat名词解释要理解MyCat的管理模式,需要先理解MyCat内部的名词都有什么含义datahost:指管理的节点,这里指代PXC集群以及replication集群。datanode:指管理节点的database,mycat可以管理的逻辑database。schema:指mycat的虚拟database。table:指mycat的虚拟table。rule/type:去制定SQL...

2020-03-12 22:44:41 322

原创 数据库调优

前几篇我们已经完成了数据库的表设计。新零售平台的数据库设计(一)新零售平台的数据库设计(二)新零售平台数据库的设计(三)接下来问题是如何对MySQL进行调优,怎么优化SQL以及MySQL的配置,才能发挥MySQL的性能?一.SQL语句的优化对SQL语句的优化主要体现在对索引的使用书写SQL的时候要注意,某些特殊的语句是没有办法使用索引的。使用模糊查询的时候,%如果写在前面,是没有...

2020-03-11 10:22:33 165

原创 新零售平台数据库的设计(三)

新零售平台的数据库设计(一)新零售平台的数据库设计(二)本篇文章将完成快递部分,员工表以及经销商部分的设计。三.围绕快递表的设计首选考虑需求,一张快递表在新零售平台应该有什么需求?保存快递相关的信息(包括仓库,目标地址,快递单号等)保存商品的相关信息(包括订单以及商品)保存跟该快递表相关的员工信息分析需求之后,可以画出关系图如下所示根据关系图,考虑先设计员工表员工表的ER...

2020-03-11 10:22:15 532

原创 新零售平台的数据库设计(二)

新零售表的设计与实现(二)上一篇我们设计完成了商品表,以及库存表的设计。这一篇我们考虑如何设计好用户表以及订单表。三.围绕用户表的设计除了常见的用户信息之外,考虑有哪些特殊的需求?用户的收货地址如何设计实现会员制以及针对会员制的折扣实现跟用户直接相关的折扣券机制设计地址表,避免用户表过于冗杂。设计会员表,管理会员等级及优惠信息,方便表的维护。设计折扣券表,包括有效期,优惠数...

2020-03-11 10:22:02 723

原创 新零售平台的数据库设计(一)

新零售表的设计思路(一)在完成了秒杀系统的设计之后,我想做一些更有深度的项目提升水平。我投向了数据库,数据库的重要性不言而喻,现在很多网络上的网课面向的都是基础的搭建式的项目,因为业务逻辑简单,数据库的设计一般十分简单。但是像苏宁易购这种包含了线上线下的新零售平台,业务是很复杂的。设计一个健壮的数据库,对于这样的项目来说简直太关键了。本系列将以苏宁易购的网站为例,一边分析需求,一边完成新零售平台的数据库设计。

2020-03-11 10:21:32 2564 1

原创 Redis学习之数据结构(一)

Redis数据结构首先,我们要有一个概念,在Redis中,所有数据结构是通过对象来管理的,使用对象管理的好处:可以使用多态去调用方法,并且方便引入内存回收机制。Redis创建一个对象的时候,是会创建一个键值对的,一个键会创建一个字符串对象,一个值会创建一个值对象,Redis的结构如下:RedisObject{///数据类型unsigned type :4;///数据编码unsigne...

2019-11-25 22:55:59 157 1

原创 SSM开发秒杀系统———Dao层开发过程及收获(二)

Dao层开发web开发的基本框架分为Dao、Service、Web三层,Dao层主要解决的是跟数据库之间的交互以及数据库的增删改查功能的实现。因为所有功能是面向数据库实现的,因此数据库的开发是Dao层开发的基础。一、数据库的开发一个秒杀系统的数据库表单应该有两张:商品的内存表,秒杀成功的用户信息记录表。商品的内存表设计:CREATE DATABASE seckill;USE secki...

2019-11-01 11:17:35 143

原创 SSM开发秒杀系统———Dao层开发过程及收获(一)

前言本人在开发路上可谓是面临巨大的peer pressure,我同期的一位老友已经在CSDN上过千粉丝,在瞻仰了他丰硕的博客果实之后,本人也算是痛下决心,准备认真并且负责任地记录自己项目进展,记录自己的开发过程以及收获。项目概述该项目创建一个web秒杀系统,可以实现整个秒杀流程,并且在实现基本秒杀流程的基础上,对并发量进行一定的优化。首先对该项目的难度进行打分,个人感觉该项目应该属于入门级...

2019-11-01 10:41:10 162

原创 Mybatis学习--1.Mybatis基础学习

什么是Mybatis首先要明白Mybatis解决了什么问题,工作在后端开发的什么位置?前端用户进行一些操作之后,数据到了DAO层,接下来我们的JAVA部分要对数据库进行一些操作但是因为JAVA直接对数据库增删改查操作十分繁琐,并且维护成本很高,Mybatis工作在JAVA程序跟数据库程序之间,作为两者通信的桥梁,将JAVA程序的对象跟数据库关系映射起来。Mybatis的优势:可以自己写...

2019-10-19 23:17:46 648

原创 JAVA中的锁

lock锁除了Synchronized关键字,JAVA还提供了lock锁,其性能差距不大,但是lock因为需要程序员手动持有锁,手动释放锁,但是Synchronized关键字是完全自动持有锁、释放锁的。这样看起来好像是synchronized要更胜一筹,但是因为自己参与到持有锁、释放锁的过程中,程序员的对线程的控制也就更加灵活。锁的使用public class lock_learning i...

2019-10-08 22:53:42 129

原创 多线程学习--线程基础

现代处理器的已经面向多核方向发展,为了迎合这种发展趋势,有必要学习多线程。即多个任务同时执行。首先有必要明白两个概念:进程、线程进程:计算机开始一个应用程序就打开一个进程。线程:现代计算机调度的最小单元。两者关系:一个进程可以有多个线程。for example:一个应用程序后台可能有多个线程同时工作。线程的状态New:线程刚刚创建完成。Runnable:指线程已经准备就绪、或者正在运...

2019-10-06 23:29:34 141

原创 垃圾收集器以及内存分配与回收政策

垃圾收集器不同的垃圾收集器性能以及专长有区别,用户可以通过关键字根据自己的需求自己组合使用垃圾收集器。垃圾收集器在工作时,因为需要Stop the world 停止用户的线程,仅做垃圾收集这一件工作,Serial收集器收集新生代,单线程、高效率,在Client模式下面是默认的新生代收集器。ParNew收集器是Serial收集器的多线程版本,在Server模式下是默认的新生代收集器。并...

2019-09-28 23:05:46 80

原创 垃圾收集器

垃圾收集器关于垃圾收集器,人们需要关注三个问题哪些内存需要回收什么时候回收如何回收首先先对以上三个问题作出最简单的回答:A1:内存中的虚拟机栈、本地方法栈、计数器都是跟随进程进行的,与进程同生共死,所以不用考虑这些内存的回收,需要考虑的只有堆跟方法区的内存回收。A2:当计算机认为该对象不会被使用,那么就该启动垃圾收集器把该对象回收。A3:有三种办法:标记-清除、标记-整理、复制-清...

2019-09-24 22:06:38 57

原创 JVM对象的创建

对象的创建遇到new关键词时,虚拟机都做了什么1.检查该对象类是否已经进行过初始化等过程,如果没有,就先进行初始化过程,即类加载过程(静态变量是存储在方法区中,而正常的方法变量是存储在栈中的局部变量表中的)。2.类加载完成之后,需要给对象分配内存空间,对象所需的大小会在类加载之后确定。分配内存空间有两种方法:指针碰撞以及空闲列表。指针碰撞是相当于把堆内存分配为空闲区以及非空闲区两部分,所...

2019-09-22 23:23:23 90

原创 JVM学习

JVM内存空间1. 方法区方法区:用于存放JAVA中的对象类具体信息(类的版本、字段、方法、接口等等描述信息)、静态变量、常量等信息。方法区无法满足内存需求的时候抛除OutOfMemory异常方法区因为需要存储常量,所以需要创建一个运行时常量池。运行时常量池用于存放编译器器件生成的各种字面量以及引用。2.堆堆:用于存放JAVA中的基本所有对象实例。JAVA的堆容量是可以设置的,-X...

2019-09-21 23:01:19 77

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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