自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

原创 梳理一个flutter 底部评论输入框,不一定是好的方案,仅仅提供一个思路。

flutter 底部评论输入框

2023-06-07 16:43:25 527

原创 区块链Fabric-从入门到实战(二) Fabric环境搭建

Fabric ubuntu16虚拟机环境搭建

2023-01-11 13:22:31 2107

原创 快速上手Golang

%c“ 表示一个字符,如果 a:=’c’ 进行”%d“操作,则返回ascii码。B1,D1=iota,iota //1,1 同一行,数值一样。Fmt.Scan(&a)程序阻塞等待输入,且赋值给内存地址,“%-3d”三位整数,不满足三位时尾部补空格。Fmt.scan(&a,&b)截断也可接受,“%3d”三位整数,不满足三位时头部补空格。“%03d”三位整数,不满足三位时头部补0。Varflag=1 //不能是浮点数。//100-999各位数字的立方和。//100-999各位数字的立方和。

2023-01-10 13:26:56 327

原创 区块链Fabric-从入门到实战(一)

区块链Fabric-从入门到实战(一)

2023-01-10 13:13:23 637

原创 docker 安装mongodb

docker run -d --restart=always -p 27017:27017 --name my_mongo -v d:/Docker_env/mongodb/data:/data/db mongo:latest

2021-12-01 20:53:47 1328

原创 docker搭建es集群

docker-compose 搭建es集群

2021-12-01 20:52:05 2095

原创 ElasticSearch Java Api

//2.添加配置@Configuration //xmlpublic class ElasticSearchClientConfig { @Bean //bean Class //bean id public RestHighLevelClient restHighLevelClient() { RestHighLevelClient client = new RestHighLevelClient( Rest.

2021-04-09 17:46:37 224

原创 Elasticsearch基础

笔记

2021-04-01 14:27:23 94

原创 Mysql 锁 死锁

Mysql 锁表锁意向锁:当表锁事务去访问行锁资源,那么行锁会升级成意向锁自增锁:当自增列存在插入事务时,自增列会获取自增锁,其他事务都要等待。行锁Record lock: 对索引加锁(主键范围存在)Gap lock:对索引项之间的间隙加锁(主键范围不存在)Next-key lock:索引项在范围,又不在范围-- id 就到50select * from table where id >49;-- 说明 存在部分记录存在,还有不存在的范围锁的具体实现共享锁:

2021-02-22 22:25:50 146

原创 Dubbo请求流程原理

Dubbo请求流程原理1、消费者代理调用invoke2、invoker使用Cluster,Cluster负责容错3、Cluster会通过Directory获取所有远程服务4、Cluster通过LoadBalance进行负载均衡,过滤器,最终选出一个Invoker5、接下来会对数据进行序列化,使用Client做数据传输6、请求进行反序列化后被分配到线程池中进行处理7、server根据请求查找对应的exporter8、export经过过滤器链后,进行具体接口的实现调用,在原路把结果返回

2021-02-22 21:34:25 1013

原创 AQS理解和认识

详情请看大佬的说明https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.html

2021-02-22 14:40:07 137

原创 Zuul原理

Zuul原理1、Zuul提供一个ZuulServlet类,在Servlet的service方法中,执行Zuul的过滤器。2、ZuulServlet的service方法收到请求后,会执行pre阶段的过滤器3、执行routing阶段的过滤器,并进行请求转发到源服务4、在转发阶段如果发生异常,则会执行error过滤器5、执行post阶段过滤器...

2021-02-21 21:37:10 195

原创 Hystrix 原理

Hystrix 原理描述解决网络短暂无法访问、服务宕机等情况,Hystrix通过添加延迟阈值以及容错的逻辑,来帮助我们控制分布式系统间组件的交互,通过隔离服务间的访问点、停止他们之间的级联故障、提供可回退操作来实现容错。功能当所依赖的网路服务发生延迟或者失败时,对方问的客户端程序进行保护在分布式系统中,停止级联故障网络恢复正常后,可以快速恢复客户端的访问能力调用失败时执行服务回退可支持实时监控、报警等操作运作流程1、在命令开始执行时,会创建响应的线程池2、判断是否打开了缓

2021-02-21 21:27:14 153

原创 Feign 原理

Feign 原理Feign描述Feign是github上的一个开源项目,目的是简化web service客户端的开发。在使用Feign时,可以用注解修饰接口,feign还支持插件式的编码器和解码器,使用者可以通过该特性对请求和响应进行不同的封装与解析。流程1、feign使用JDK动态代理2、生成的代理类将进行请求信息封装,并且指定编码器(提供GsonEncoder)和解码器(提供GsonDecoder),如果需要自定义编码器和解码器,需要实现Encoder接口、Decoder接口3、

2021-02-21 15:23:46 261

原创 Ribbon负载均衡机制

Restclient在发送请求时,会调用ILoadBlancer接口,根据特定的逻辑来选择服务器,服务器列表可以使用listOfServer进行配置,也可以使用动态更新机制,当需要自定义时,则需要使用IRule接口的choose方法来决定策略。自带的负载规则 轮询 可用性 过滤掉无法连接的服务器、并发数过高的服务器 权重 区域 并发数最低 随机 重试,如果使用轮询规则选择的服务器无法连接,那么将会重新选择服务器 Ping

2021-02-21 15:04:13 186

原创 RestTemplate负载均衡原理

Spring容器启动时,会为被@LoadBlanace 修饰的RestTemplate添加拦截器,拦截器中使用了LoadBalanacerClient来处理请求,LoadBalancerClient是Spring封装的负载均衡客户端,通过这样的间接处理,是的RestTemplate拥有了负载均衡的功能。...

2021-02-21 15:03:10 328

原创 spring-cloud-eureka 发现服务实现原理

spring-cloud-eureka 发现服务实现原理注册原理本质是@EnableEurekaServer中导入了一个EurekaServerConfiguration的配置。其中InstanceRegistry的配置将实现对客户端的注册,将客户端存入注册队列recentRegisteredQueue中。定时更新发现原理客户端定时从发现服务器中更新其他在线的客户端列表...

2021-02-21 13:28:45 177

原创 spring-cloud-bus 配置管理实现原理

spring-cloud-bus 配置管理实现原理在线更新流程1、更新Git仓库的配置文件2、以post指令触发更新请求3、配置管理覅武器从git仓库中读取配置文件,并将配置文件分发给各个客户端,同时在Rabbitmq中发布一个更新消息4、客户端订阅Rabbitmq消息,收到消息后执行更新更新消息的分发原理rabbitmq创建队列,且采用topic模式,使得配置管理服务的客户端都订阅了Rabbitmq的消息。...

2021-02-21 01:35:09 129

原创 Springboot自动配置实现原理

自动配置实现原理@SpringBootApplication@Configuration@EnableAutoConfiguration启用自动配置EnableAutoConfiguration最终会导入一个自动配置的类列表,并处于备用状态,当项目中引入了相关的包时,相关的功能将被启动。@ComponetScan扫描和加载应用中的一些自定义类...

2021-02-21 01:27:47 118

原创 RocketMQ(一)

RocketMQ消息存储结构RocketMQ 消息的存储是由ConsumeQueue 和CommitLog 配合完成的,消息真正的物理存储文件是CommitLog, ConsumeQueue 是消息的逻辑队列,类似数据库的索引文件,存储的是指向物理存储的地址。每个Topic 下的每个Message Queue 都有一个对应的ConsumeQueue 文件。文件地址在$ {$storeRoot} \consumequeue$ {topicName} $ { queueld} $ {fileNam

2021-02-21 01:07:27 206

原创 锁升级过程

2021-02-20 20:55:24 167

原创 Springboot整合Canal解决数据缓存一致性问题

pom.xml<!--SpringBoot的父级依赖--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> &

2021-02-19 23:10:19 977 2

原创 Docker安装mysql 以及canal 解决数据缓存一致性问题(二)

docker pull canal/canal-server:v1.1.4docker run --name canal \-e canal.instance.master.address=192.168.1.11:3306 \-e canal.instance.dbUsername=canal \-e canal.instance.dbPassword=canal \-p 11111:11111 \-d canal/canal-server:v1.1.4

2021-02-19 23:03:56 125

原创 Docker安装mysql 以及canal 解决数据缓存一致性问题(一)

docker pull mysql:8.0.16mkdir -p /root/docker/mysql/conf.dvi /root/docker/mysql/conf.d/config-file.cnf[mysqld]log_timestamps=SYSTEMlog-bin=mysql-binbinlog-format=ROWserver_id=1binlog_format=rowlower_case_table_names=1 datadir=/var/lib/mysql#soc

2021-02-19 23:02:21 170

原创 Docker安装Redis

Docker 安装Redisdocker pull redis:5.0.7cd /root/docker/redis/wget http://download.redis.io/redis-stable/redis.confchmod 777 redis.confvi /root/docker/redis/redis.confbind 127.0.0.1 通过#注释掉,解除本地连接限制protected-mode yes 默认no,保护模式,限制为本地访问,修改后解除保护模式da

2021-02-19 21:07:25 493

原创 Zookeeper的数据一致性原理

zookeeper命令create [-s] [-s] path data aclget path [watch]set path data [version]delete path [version]ls patch [watch]rmr pathstat path [watch]数据一致性leader选举时机:​ 集群启动;​ leader宕机;​ follower挂掉后leader发现已经没有过半的follower跟随自己,不能对外提供服务;leader选举机制

2021-02-19 12:58:49 220 2

原创 折半排序

import java.util.Arrays;public class T { public static void binaryInsertSort(int[] data) { int arrayLength = data.length; for (int i = 1; i < arrayLength; i++) { int tmp = data[i],low = 0,high = i - 1; while

2021-02-18 22:25:35 114

原创 分布式事务之TCC处理

只要try成功,认为confirm成功,如果confirm出错,需要重试或人工处理cancal阶段在业务执行错误需要回滚的状态下,会执行分支事务的业务取消,预留资源释放。认为cancel也是成功的,失败要重试或人工处理空回滚 原因: 没有调用try 方法,直接调用cancel方法 解决方案:解决思路是关键就是要识别出这个空回滚。思路很简单就是需要知道一阶段是否执行,如果执行了,那就是正常回滚;如果没执行,那就是空回滚。前面已经说过TM在发起全局事务时生成全局事务记录,全局事务...

2021-02-18 22:23:47 499

原创 分布式事务Seata原理

角色 TC 协调器 TM 全局事务控制器 RM 分支事务控制器1、TM向TC申请全局事务,并返回全局事务XID2、RM向TC注册分支事务,该分支事务属于XID相关的全局事务3、TM向TC提交全局事务的结果,提交或是回滚4、TC调度XID下的分支事务提交或是回滚...

2021-02-18 21:02:35 130

原创 分布式事务LCN原理

角色 协调者 发起方 参与方1、发起方创建事务分组,获取分组id2、发起方通过http协议请求头,将事务分组id传递给参与方3、参与方获取到事务分组id后,采用假关闭的机制,不去提交事务4、发起方发送通知给协调者,告知发起方的事务结果5、协调者接收到通知,接下来去通知参与方是提交还是回滚...

2021-02-18 20:54:49 229

原创 冒泡排序

public class T { public static void swap(int[] li,int l,int r){ int temp= li[l]; li[l]=li[r]; li[r]=temp; } public static void sort(int[] li){ for(int i=0;i<li.length-1;i++){ for(int m=0;m<li.length-i-1

2021-02-18 16:03:07 63

原创 快速排序

public class T { public static void main(String[] args) { int[] arr = {56, -6, 0, 34, 789}; quickSort(arr, 0, arr.length - 1); for (int i : arr) { System.out.print(i + "\t"); } } public static void q

2021-02-18 15:57:50 69

原创 Springboot整合rabbitmq

springboot整合rabbitmq基础依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent&g

2021-02-16 14:23:35 121 2

原创 Seata 分布式事务入门

Seata入门环境准备docker 安装 mysql请移步https://blog.csdn.net/Zaric_001/article/details/113809164建立数据库seata导入表SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `global_table`-- ----------------------------DROP TABLE IF

2021-02-14 21:11:15 327

原创 Docker 安装mysql

Docker 安装mysql下载镜像docker pull mysql:5.7如果不挂载docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7如果挂载docker run -p 3306:3306 --name mysql \-v /usr/local/docker/mysql/conf:/etc/mysql \-v /usr/local/docker/mysql/log

2021-02-14 16:57:43 99

原创 Rabbitmq入门

工具类package com.test.util;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;public class ConnectionMQ { public static Connection getConnection() throws Exception { ConnectionFactory factory = new Connect.

2021-02-13 18:25:13 171 4

原创 数据库隔离级别简述

数据库事务隔离级别√ 表示可能出现 x表示不会出现隔离级别 脏读 不可重复读 幻读 读未提交 √ √ √ 读已提交 × √ √ 可重复读 × × √ 串行化 × × × 脏读:即A事务读取到B事务未提交的数据,一旦B事务进行回滚,A事务所读取的数据就是脏数据。不可重复读:即A事务执行查询时,B事务在对数据执行修改操作,B事务提交之后,会造成A事务再次查询不一致。幻读:即A事务执

2021-02-09 14:24:44 99

原创 Jenkins 部署的简单思路

echo "building"rm -rf /usr/local/package/apache-tomcat-8.5.38/webapps/jenkins.warrm -rf /usr/local/package/apache-tomcat-8.5.38/webapps/jenkins/usr/local/package/apache-maven-3.6.3/bin/mvn clean package -Dmaven.test.skip=truecp /var/lib/jenkins/workspa

2021-02-06 22:01:56 99

原创 docker 安装rabbitmq

docker pull rabbitmq:management docker run -d --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management

2021-02-06 13:18:05 61

原创 Centos7 安装docker

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine yum install -y yum-utils yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/do...

2021-02-06 13:06:33 63

phantomjs工具

配合生成echarts base64

2020-12-28

dejavusansmono.zip

适合开发人员的字体dejavusansmono.zip,有粗体斜体等等,有需要的可以下载,安装到系统

2018-03-13

空空如也

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

TA关注的人

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