- 博客(27)
- 资源 (8)
- 收藏
- 关注
原创 mysql5.7系列-集群主从复制,数据是如何同步的
MySQL主从复制是通过主节点将数据变更记录到Binlog,从节点通过I/O线程拉取数据并写入Relaylog,再由SQL线程解析执行实现数据同步的机制。MySQL支持四种同步方式:同步复制(确保数据强一致但性能低)、异步复制(默认方式,主节点写入即返回)、半同步复制(确保至少N个从节点接收日志)和增强式半同步复制(事务提交前等待从节点确认)。对于数据一致性要求高的场景建议使用无损半同步复制。主从延迟问题可通过优化资源配置、调整binlog策略、引入缓存或读取主库数据等方式缓解。
2025-07-16 09:03:09
758
原创 mysql5.7系列-索引下推(cover_index)
ICP(Index Condition Pushdown)是在MySQL 5.6版本上推出的查询优化策略,把本来由Server层做的索引条件检查下推给存储引擎层来做,以降低回表和访问存储引擎的次数,提高查询效率。
2025-07-11 15:19:43
413
原创 mysql5.7系列-InnoDB的MVCC实现原理
mvcc全称Multi-Version Concurrency Control ,多版本并发控制,顾名思义是维持了数据库中数据的多版本;这个机制主要是为了服务事务隔离级别中的READ COMMITTED和REPATEABLE READ两种隔离级别在多个事务读取数据的时候能遵守sql标准。本质:就是通过Read View + Undo Log来实现的,Undo Log中保存了历史快照,而Read View 用来判断具体哪一个快照是可见的。
2025-07-07 16:58:41
869
原创 设计模式-观察者模式、命令模式
Action 封装了具体行为,Command 封装了 Action 并提供空方法 execute() ,它的子类通过重写该方法可在方法里调用 mAction 不同行为达到封装命令的目的。Observer(观察者)—对象行为型模式定义:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者.Command(命令)—对象行为型模式定义:将一个请求封装成一个对象,以便使用不同参数来表示不同的请求(即命名)。2.跨系统的消息交换场景,如消息队列的处理机制。
2025-07-03 20:08:09
355
原创 设计模式-责任链模式、策略模式
IStrategy 接口定义了策略方法,Strategy1 和 Strategy2 通过实现 IStrategy 提供不同的策略,而 User 组合了 IStrategy ,可以通过给 User 对象设置不同具体实现类来让其获得不同的策略。Chain of Responsibility(职责链)—对象行为型模式定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。• 遵循迪米特法则(最少知识原则)• 单一职责• 开闭原则。2.旅游出行方式、plan计划(planA、planB)。
2025-07-03 10:27:30
229
原创 设计模式-外观模式、适配器模式
AdapterA 先将 LibraryClass 封装起来,其对外提供的 operation() 方法中调用 LibraryClass 对象的method()方法,若以后换类库,只需改 AdapterA 类或者创建新的 Adapter 实现类即可。Adapter(适配器)—类对象结构型模式定义:将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。提供一个高层次的接口,使得子系统更易于使用。装饰器模式:装饰原有的接口,所以要实现和被装饰对象相同的接口。
2025-06-29 15:48:32
562
原创 设计模式-代理模式、装饰者模式
Proxy(代理)—对象结构型模式定义:给某一个对象提供一个代理对象,并由代理对象控制原有对象的引用。代理模式的核心思想是:创建一个代理对象,代理对象在调用目标方法时,可以插入额外的逻辑。注意区分装饰者模式和代理模式的区别。
2025-06-28 17:00:02
490
原创 设计模式-桥接模式、组合模式
AbsShape 封装了 IDrawProgram 接口,这样它的子类想从 “蓝色”切换到 “红色” 或者别的,只需 set 进去就行啦(你看,这 UML 图多像座桥)桥接模式和组合模式都用了组合(Composition),但就像「螺丝刀」和「菜刀」都用金属制造,却完全不是同一种工具——它们的用途和设计目标有本质区别。使用场景:1.在进行系统设计时,发现类的继承有N层时,可以考虑使用桥梁模式。桥接模式和组合模式很相识,虽然都是组合,但是处理的场景不一样。横向(抽象层 ↔ 实现层),可以考虑使用组合模式。
2025-06-25 20:41:40
528
原创 设计模式-三大工厂
工厂模式有三种,分别是简单工厂模式、工厂方法模式、抽象工厂模式。三种模式从前到后越来越抽象,也更具有一般性。设计模式优点缺点简单工厂1.实现了对责任的分割,它提供了专门的工厂类用于创建对象。1.违背了开闭原则。2.使用了静态工厂方法,静态方法不能被继承和重写。工厂方法1.避免创建者与具体的产品逻辑耦合。2.满⾜单⼀职责,每⼀个业务逻辑实现都在所属⾃⼰的类中完成。3.满⾜开闭原则,⽆需更改使⽤调⽤⽅就可以在程序中引⼊新的产品类型1.如果存在非常多的产品类型,实现的子类就会极速扩张。
2025-06-23 09:26:08
364
原创 jdk升级到11问题系列-第三方依赖使用了BASE64Decoder
问题描述:第三方依赖包,目前出现问题的是某银行的sdk导致的使用了sun.misc.BASE64Decoder 但是在jdk11这个版本该类已经被删除,导致运行是出现错误Caused by: java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder替换方式:Base64.Encoder encoder = Base64.getEncoder();Base64.Decoder decoder = Base64.getDecoder(.
2021-07-20 11:50:59
7934
原创 分布式事务解决方案对比(预研)
1.背景业务的发展,系统架构的不断演进,原来业务处理都是在一个服务系统进行,通过Spring框架中的事物处理机制就可以很好地控制,业务的发展,单个服务系统架构,不能满足发展,现在把单个服务系统拆分为多个服务进行协同完成业务,这样就会出现事务的问题;如:客户注册时需要处理以下业务,创建客户信息、创建管理员信息、开通CFCA账户、开通银行账户等;银行账户的开通需要适应多银行中选择,进行开通。这样就会出现事务问题,要成功全部成功,要么失败所有的请求都必须回退,需要严格要求数据一致性。事务的实现是非常重
2020-08-22 16:05:20
983
1
原创 git拆分子目录作为新仓库并保留log记录和分支
1.将所有远程分支拉取到本地git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; donegit fetch --allgit pull --all2. clone 一份原仓库并删掉原来的 remote:(依次执行以下命令)(1...
2019-10-29 09:14:44
655
3
原创 swagger2 隐藏请求参数失败问题
swagger2的怎么使用这里就不说了,搜索引擎出来就有一堆一堆的资料。现在来说下我遇到的问题:我需要将某个定义的参数隐藏(不想在api文档中展示),资料通过可以知道,注解@ApiModelProperty 和@ApiParam 里面都有一个属性叫做hidden,当时很兴奋(马上将这个属性设置为了true),然后又很郁闷(我日,不生效)。源码解释都是这样的:/*** Hid
2018-01-11 09:47:51
15130
8
原创 spring cloud config 技术调研
spring cloud config技术调研简介spring cloud是为微服务架构提供了一整套的技术方案,包括服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。其中spring cloud config 是spring cloud 的子项目,为项目提供一个高可用的分布式配置中心。项目功能Config Server的架构图如下:
2017-12-05 11:10:04
1386
原创 搭建 spring cloud config 遇到的问题
将cloud config 的源码从github上拉起下来,然后进行package的时候始终不行[ERROR] Failed to execute goal on project spring-cloud-config-client: Could not resolve dependencies for project org.springframework.cloud:spring-clou
2017-11-30 15:55:44
4869
原创 django cannot be applied to a naive datetime
在用python的django框架进行web开发的时候,出现了一个错误:Traceback (most recent call last): File "D:\Python27\lib\site-packages\django\core\handlers\exception.py", line 41, in inner response = get_response(reque
2017-11-17 14:31:44
2144
原创 python django AttributeError: 'QuerySet' object has no attribute '_meta'
第一次用django,在写接口的时候出现了下面的异常Internal Server Error: /api/proxys/listTraceback (most recent call last): File "D:\Python27\lib\site-packages\django\core\handlers\exception.py", line 41, in inner r
2017-11-16 10:38:49
18458
3
原创 缺少MySQLdb 模块,pip install MySQL-python 异常
直接使用pip install MySQL-python,报了下面的错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb.Did you install mysqlclient or MySQL-python?发现原来是pip 无法
2017-11-13 16:25:28
1559
原创 Exception: This server is not the leader for that topic-partition.
异常: 20160817 18:58:48 ERROR com.xxx.lac.service.impl.ComparePriceServiceImpl-307 kafka-producer-network-thread | lac_compare_price_service_producer_3 - sendComplete execption This server i...
2017-11-13 15:45:04
16730
原创 配置文件,无法找到dubbo标签
nested exception is org.xml.sax.SAXParseException; lineNumber: 13; columnNumber: 48; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'dubbo:application' 的声明。xmlversion="1.0"encoding="UTF-8"?>
2017-11-13 15:38:45
2834
原创 爬虫-scrapyd:environment can only contain strings
project deploy 的时候:报错:environment can only contain strings相关问题:https://github.com/scrapy/scrapyd/issues/231额,scrapyd对python2.7 兼容不是很那个啊,因为我是把scrapyd的源码弄下来运行的,直接改下 scrapyd的utils
2017-11-13 15:34:34
1100
原创 dubbo+spring_maven 遇到的问题 dubbojar包版本和jdk问题
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.yaochufa.privilege.api.ISystemService': Instantiation of bean failed; nested exce
2016-03-22 18:36:59
17565
原创 正则规则和常用正则表达式
正则表达式规则:1.字符集合:[abc] a、b、c中任意一个字符[^abc] 除了a、b、c的任意字符[a-z] a到z中的任意一个字符[a-zA-Z0-9]a~z、A~Z、0~9中任意一个字符[a-z&&[^bc]]a~z中除了b和c以外的任意一个字符,其中&&表示"与" 的关系2.预定义字符集.任意一个字符\d任意一个数字字符,相当与[0-9]
2015-01-14 10:51:53
668
原创 用jquery +ajax 实现与php后台交互json数据
因为做了前段用jquery和ajax发送post或get请求到后端服务器,服务器我是用nginx ,你也可以用apache,后端技术使用php,例子很简单,主要是理解了,扩展到复杂就没有什么问题。代码给出,希望对大家有用:这个是端html,你需要下载jqueryInsert title herefunction city_change(){ var province
2015-01-14 10:38:55
1675
原创 ext界面编写 Ext.form.CheckboxGroup
刚刚接触ext,纪念下自己弄的效果效果图 Ext.onReady(function() { var myCheckboxGroup = new Ext.form.CheckboxGroup({
2014-12-12 14:47:59
1046
转载 ext
其实就是EXT中的布局,常用的有border、column、fit、form、tabel这几种。Fit布局,子元素将自动填满整个父容器(对元素设置宽度无效),如果容器组件中有多个子元素,则只会显示第一个子元素,border布局把容器分成东南西北中五个区域,分别由east,south, west,north, cente来表示;。column布局把整个容器组件看成一列;form是一种专门用于管理表单
2014-12-11 21:38:35
593
转载 nginx优化
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一
2014-12-10 21:25:10
568
1
MySQL-python-1.2.5-cp27-none-win32.whl
2017-11-13
tomcat安装与配置
2013-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅