自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天高任鸟飞

久坐等于慢性自杀,工作强度,运动强度

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

原创 Spring boot依赖版本管理

依赖版本管理Pom文件 依赖父项目<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> &am

2018-08-27 09:00:32 4376

原创 Spring boot配置类

@SpringBootConfiguration配置类 表示,这是一个Spring boot的配置类@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@Compone...

2018-08-26 09:47:13 558

原创 MyCat读写分离

读写分离数据库读写分离对于大型系统 或者访问量很高的互联网应用来说,是必不可少的一个重要功能对于MySQL来说,标准的读写分离是主从模式 一个写节点Master后面跟着多个读节点,读节点的数量取决于系统的压力 通常是1-3个读节点的配置Mycat读写分离和自动切换机制 需要mysql的主从复制机制配合 Mysql主从复制,参考之前博客 MySQL主从配置完成M...

2018-08-26 09:41:00 273

原创 MyCat数据库分片

水平分片采用横向切割 把商品表分片,存储到三个数据节点上数据节点 每一个数据节点,就是一个数据库 每一个数据库,就是一个数据节点一个mysql实例上,可以有多个数据库 数据库版本 : mysql-5.6节点1、3 ip:192.168.25.134 数据库名 : db1、db3节点2 ip:192.168.25.166 数据库名 : db2Mycat安装...

2018-08-26 09:37:55 391

原创 MyCat配置文件

配置文件Schema.xml配置逻辑库、逻辑表、数据节点、数据主机 连接数据库信息,实际物理库的地址 部分读写规则的配置server.xml全局配置 配置用户名,密码,用户权限Rule.xml分库分表的规则...

2018-08-26 09:33:20 275

原创 MyCat目录结构

目录结构 Bin 可执行命令Conf 配置文件Lib 存放jar包Logs 日志信息Version.txt 版本信息

2018-08-26 09:32:03 422

原创 MyCat安装

官网 http://www.mycat.io/GitHub地址 https://github.com/MyCATApache安装上传文件 解压 启动、停止、重启

2018-08-26 09:30:55 197

原创 MyCat分片策略

分片策略水平分片、垂直分片水平分片 一个表,根据某种规则,将数据存放到不同的数据库中 一个表格的数据,分割到多个节点上,按照行分隔垂直分片 一个数据库,根据业务将多个数据表,分配到不同的数据库中 一个数据库中多个表格A,B,C A存储到节点1上,B存储到节点2上,C存储到节点3上 分片规则通过定义表的分片规则来实现分片 每个表格可以捆绑一个分片规则 每个分...

2018-08-26 09:28:34 734

原创 MyCat架构

架构MyCAT使用Mysql的通讯协议模拟成了一个Mysql服务器 并建立了完整的Schema(数据库)、Table (数据表)、User(用户)的逻辑模型,并将这套逻辑模型映射到后端的存储节点DataNode(MySQL Instance)上的真实物理库中这样一来,所有能使用Mysql的客户端以及编程语言 都能将MyCAT当成是Mysql Server来使用,不必开发新的客户端协议 ...

2018-08-26 09:26:13 944

原创 MyCat介绍

MyCat一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代Mysql的加强版数据库 可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 新颖的数据库中间件产品目标低成本的将现有的单机数据库...

2018-08-26 09:23:56 300

原创 Spring boot容器导入组件

@Import向容器中,导入组件@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@AutoConfigurationPackage@Import({EnableAutoConfigurationImportSelector.class})public @in...

2018-08-26 08:14:34 626

原创 Spring boot程序入口

@SpringBootApplication用来标注一个主程序类 说明,这是一个Spring boot应用这个类是主配置类 通过运行这个类的main方法,来启动SpringBoot应用package com.atguigu;import org.springframework.boot.SpringApplication;import org.springframewor...

2018-08-25 10:20:08 6691

原创 Spring boot的场景启动器

场景启动器Spring boot将所有的功能场景,抽取出来 做成一个个独立的starters启动器只有在项目里面,引入了starters 这些场景的所有依赖,都会导出到工程中 需要什么样的功能,引入什么场景启动器网址 https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#using...

2018-08-25 10:17:49 1081

原创 Spring boot的Hello World入门

实现功能浏览器发送一个hello请求 服务器接收请求,处理,返回hello World响应操作步骤创建Maven工程 引入starters 创建主程序 启动运行创建工程Idea创建工程,选择Maven JDK版本选择1.8 Pom文件 添加依赖<parent> <groupId>org.springframework...

2018-08-25 10:15:32 178

原创 Spring boot优点

Spring boot优点快速创建独立运行的Spring项目,以及与主流框架集成 使用嵌入式的Servlet容器,应用无需打成WAR包自动依赖、版本控制starters自动依赖与版本控制 大量的自动配置,简化开发,也可修改默认值简化配置无需配置XML,无代码生成,开箱即用监控准生产环境的运行时应用监控云计算与云计算的天然集成...

2018-08-25 10:12:14 239

原创 Spring boot介绍

Spring boot用来简化Spring应用开发,约定大于配置 去繁从简,可以创建一个独立的,产品级别的应用开发背景J2EE笨重的开发、繁多的配置 低下的开发效率、复杂的部署流程 第三方技术集成难度大解决问题Spring全家桶时代 简化Spring应用开发 整个Spring技术栈的整合Spring boot——J2EE一站式解决方案 Spring cl...

2018-08-25 10:10:17 209

原创 Maven配置JDK编译版本

配置JDK编译版本配置使用JDK 1.8编译运行项目打开Maven的settings.xml文件 在profiles节点中,加入如下配置<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> ...

2018-08-25 10:08:58 1758

原创 微服务架构注意事项

注意事项单体式架构 适合轻量级的简单应用微服务架构 可以用来构建复杂应用一、不为了微而微,微小化是结果,不是目的二、合理有效拆分应用,实现敏捷开发和部署三、分布式系统进程间,通讯技术的复杂性四、分布式事务,并不一定是好的选择,技术壁垒严重五、测试复杂性,至少得启动这个模块相关联的其他模块六、服务A的修改,可能会导致一系列修改七、部署复杂性,我们需要有足够的控...

2018-08-25 10:08:03 445

原创 微服务架构特点

架构特点一、“组件化”与“多服务”二、围绕“业务功能”组织团队三、“做产品”而不是“做项目”四、“智能端点”与“哑管道”五、“去中心化”地治理技术六、“去中心化”地管理数据七、“基础设施”自动化八、“容错”设计九、“演进式”设计...

2018-08-25 10:05:25 718

原创 微服务架构

微服务架构不是开发一个巨大的,单体式的应用 而是,将应用分解为小的、相互连接的微服务 数据库 单体应用,多个服务共享一个数据库 微服务架构,每个服务,都要自己的数据库 三维扩展模型 ...

2018-08-25 10:04:16 188

原创 MySQL读写分离一主多从实现

一主多从实际项目中 一般都是采用一主多从的架构 修改数据源,动态切换数据源 DynamicDataSource定义动态数据源import java.lang.reflect.Field;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.conc...

2018-08-25 09:54:04 1244

原创 MySQL读写分离事务策略实现

事务策略之前的实现,是将通过方法名匹配 而不是使用事务策略中的定义可以使用事务管理策略中的规则匹配 需要修改两个地方定义切面 定义数据源的AOP切面定义切面<!-- 定义AOP切面处理器 --><bean class="cn.itcast.usermanage.spring.DataSourceAspect" id="dataSourceAspec...

2018-08-24 19:50:16 3005

原创 MySQL读写分离应用层实现

基于Spring的AOP在应用层,实现读写分离 在请求进入Service之前,使用AOP来做出判断判断方式 是使用写库还是读库,判断依据可以根据方法名判断 比如,以query、find、get等开头的就走读库,其他的走写库 DynamicDataSource定义动态数据源import org.springframework.jdbc.datasource.lo...

2018-08-24 19:46:50 527

原创 MySQL读写分离中间件解决

中间件解决通过中间件,处理读写分离 优点 1、源程序不需要做任何改动,就可以实现读写分离 2、动态添加数据源,不需要重启程序缺点 1、程序依赖于中间件,会导致切换数据库变得困难 2、由中间件做了中转代理,性能有所下降...

2018-08-24 19:42:27 2560

原创 MySQL读写分离应用层解决

应用层解决在应用层,通过业务逻辑代码,实现读写分离 优点 1、多数据源切换方便,由程序自动完成 2、不需要引入中间件 3、理论上支持任何数据库缺点 1、由程序员完成,运维参与不到 2、不能做到动态增加数据源...

2018-08-24 19:41:10 461

原创 MySQL读写分离

读写分离一般应用对数据库而言都是读多写少 也就说对数据库读取数据的压力比较大有一个思路,就是说采用数据库集群的方案 其中一个是主库,负责写入数据,我们称之为:写库 其它都是从库,负责读取数据,我们称之为:读库实现要求1、读库和写库的数据一致 2、写数据必须写到写库 3、读数据必须到读库实现方案 解决读写分离的方案有两种 应用层解决 中间件解决...

2018-08-24 19:37:29 151

原创 MySQL主从复制Linux实现

主从复制注意事项1、主DB server和从DB server数据库的版本一致 2、主DB server和从DB server数据库数据一致[ 可以把主的备份在从上还原 也可以直接将主的数据目录,拷贝到从的相应数据目录 3、主DB server开启二进制日志 主DB server和从DB server的server_id都必须唯一主服务器配置第一步 修改/e...

2018-08-24 19:36:12 1240

原创 MySQL主从复制Windows实现

主库配置修改my.ini文件#开启主从复制,主库的配置log-bin = mysql3306-bin#指定主库serveridserver-id=101#指定同步的数据库,如果不指定则同步全部数据库binlog-do-db=mybatis_1128重启主库 在主库创建同步用户 授权用户slave01使用123456密码登录mysqlgrant replicat...

2018-08-24 19:29:25 275

原创 MySQL主从复制

主从复制主库,master 从库,slave主库,操作的时候,记录日志 从库,拿到执行日志,重新执行 实现原理1、master将数据改变记录到二进制日志binary log中 也可以是配置文件log-bin指定的文件 这些记录叫做二进制日志事件,binary log events2、slave将master的binary log events 拷贝到它的中继日...

2018-08-24 19:26:35 125

原创 MySQL分库分表

分库分表当数据量非常大的时候,可以采用分库分表 切分方式包括纵向切割、横向切割纵向切割把不同业务的表,存放到不同的数据库中 实现方式 在业务逻辑实现,可以不使用中间件缺点大数据 商品表,有几亿条数据 解决不了查询速度慢的问题,还是很慢表关联 用户表、订单表关联 不同的表,在不同的数据库,跨库很难做表关联 基本都是单表查询,查询一个库 根据id,...

2018-08-24 19:22:12 171

原创 Synchronize死锁

Synchronize死锁双方互相持有,对方的锁 导致,程序无法继续执行package com.bjsxt.base.sync006;/** * 死锁问题,在设计程序时就应该避免双方相互持有对方的锁的情况 * */public class DeadLock implements Runnable { private String tag; private...

2018-08-24 19:19:25 842

原创 Synchronize锁对象

Synchronize锁对象可以对任意的Object对象,进行加锁 用法比较灵活package com.bjsxt.base.sync006;/** * 使用synchronized代码块加锁,比较灵活 * */public class ObjectLock { public void method1() { synchronized (this) ...

2018-08-23 10:08:04 714

原创 Synchronize锁粒度

Synchronize锁粒度如果,a线程调用不同的方法,执行一个很长时间的任务 那么,b线程就必须等待很长的时间,才能执行可以通过减小锁的粒度,去优化代码执行时间package com.bjsxt.base.sync006;/** * 使用synchronized代码块减小锁的粒度,提高性能 * */public class Optimize { publi...

2018-08-23 10:06:22 1077

原创 Synchronize异常释放锁

Synchronize异常释放锁遇到异常的时候,就会释放锁 对象锁,并不会影响后续队列任务的执行处理队列Synchronize处理一个队列,多个任务任务独立 任务之间不会相互影响,此时,可以遇到异常 记录日志,然后,继续执行后续的任务 最后,等所有的任务都执行完毕,再根据日志处理,发生异常的任务任务整体 任务之间存在关联关系,所有的任务是一个整体 某一个任务执行...

2018-08-23 10:02:42 2708

原创 Synchronize锁继承

Synchronize锁继承如果,父类使用synchronize修饰 子类,也使用synchronize修改 此时,线程是安全的package com.bjsxt.base.sync005;/** * synchronized的重入 * */public class SyncDubbo2 { static class Main { public...

2018-08-23 09:58:25 474

原创 Synchronize锁重入

Synchronize锁重入拥有锁重入的功能 就是在使用synchronize时,当一个线程得到了一个对象的锁之后 再次,请求该对象时,可以再次得到该对象的锁package com.bjsxt.base.sync005;/** * synchronized的重入 * */public class SyncDubbo1 { public synchronized vo...

2018-08-23 09:57:14 1081

原创 Synchronize读脏解决

Synchronize读脏解决对于业务需要同步的 同时,添加Synchronize关键字比如,在getValue/setValue方法上 都加上synchronize关键字 保证,业务的一致性package com.bjsxt.base.sync004;/** * 业务整体需要使用完整的synchronized,保持业务的原子性。 * */public class...

2018-08-23 09:54:39 366

原创 Synchronize读脏

Synchronize读脏对一个对象的方法加锁的时候,需要考虑业务的整体性为setValue/getValue方法,同时加上synchronize同步关键字 保证业务的原子性,否则,会出现错误的结果package com.bjsxt.base.sync004;/** * 业务整体需要使用完整的synchronized,保持业务的原子性。 * */public class ...

2018-08-23 09:52:42 217

原创 Synchronize对象锁异步

对象锁异步A线程,先持有对象的锁 b线程,可以以异步的方式,调用对象中的非synchronize修饰的方法package com.bjsxt.base.sync003;/** * 对象锁的同步和异步问题 * */public class MyObject { public synchronized void method1(){ try { ...

2018-08-23 09:50:00 341

原创 Snchronize对象锁同步

对象锁同步A线程,先持有对象的锁 b线程,如果在这个时候,调用对象中synchronize修饰的同步方法 则需要等待package com.bjsxt.base.sync003;/** * 对象锁的同步和异步问题 * */public class MyObject { public synchronized void method1(){ tr...

2018-08-23 09:47:48 188

空空如也

空空如也

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

TA关注的人

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