自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 Kafka

4.CooperativeStickyAssignor(协作粘性分配器):这是一种改进版的粘性分配器,它在粘性的基础上增加了协作机制,通过消费者之间的协调来更好地处理重平衡,降低重平衡带来的消费者停滞时间。1.RoundRobinAssignor(轮询分配器):这是一种基本的分配策略,按照消费者实例的顺序依次分配分区,确保每个消费者实例获得近乎相等数量的分区。3.调整消费者的消费能力和参数设置,增加每次拉取的消息数量(fetch size),调整消费者的批量处理配置(batch size)

2023-12-16 11:47:03 517

原创 聊天注意事项

2·冷读对方,猜测对方的年龄(尊重对方为前提你看起来皮肤这么好,今年绝对20吧)星座和工作之类的。当别人看到你的缺点和弱点时他们会感到你是真实可靠的,不虚伪,从而产生亲密感。如果觉得这样太被动可以带点猜测的方式和对方进行聊天,但要以尊重对方为前提,讲明白是要有目标有态度有情绪,让对方感觉你是有血有肉的而不是麻木的机器人。想要把话说清楚讲明白最快的方法是观察和模仿,模仿你身边特别会说话的人。要循序渐进,逐渐建立起对方的信任和开放度,不要过早的触及敏感禁区。3.讲话有节奏,有幽默和节奏和比喻,有态度和情绪。

2023-12-05 21:59:31 164

原创 英语语法笔记

过去分词 动词原形+ed,(被动),可当形容词来用作定语,过去分词短语修饰名词要做‘后置定语’谓语动词受到了主语的时间状态等限制(影响),所以也叫限定动词,反之非谓语动词也叫非限定动词。动词不定式 to+动词原形或者动词原形(裸不定式,在使役动词后面),表示目的意图。定语(修饰主语或宾语,形容词是前置定语,介词短语和定语从句是后置定语)7.非谓语动词,可以替代主语、宾语、补足语、表语、除谓语以外的所有语。‘格’,反映词在句中的语法功能,例如:主格,宾格。介词短语可以充当句子中的主语、宾语、补语、定语。

2023-09-06 03:19:33 866

原创 2023/2/8 面试复盘

答:MVCC是多版本并发访问控制,事务在并发环境下会出现脏读脏写不可重复读幻读等诸多问题,为了解决这些问题保证事务的ACID特性,mysql有诸多隔离级别去解决这些问题,在可重复读的隔离级别下mysql是通过MVCC机制去保证事务的隔离性的。MVCC是通过undo日志版本链与read view机制来实现的。undo日志版本链是指,每个事务在修改完数据以后,记录一下之前的数据及它的事务id,新记录的数据指向之前的数据,形成一条版本链,这样在执行事务时,如果我们读到的不是之前的数据就可以进行回滚。

2023-02-09 14:13:23 225 1

原创 JAVA锁

未抢占到锁的线程将会有序排队等锁持有者释放后依次获取锁。未抢占到锁的线程不会排队,一起争抢锁。同一个线程不可重复获取锁。同一个线程可重复获取锁。

2022-11-29 15:11:42 166

原创 IO模型学习笔记

缺点,每查询一个socket的状态都要系统调用,一万个socket轮询一次就要一万次系统调用。每个socket连接都要一个线程去处理,当有一万个客户端连接时也安排一万个线程去处理。固定几个线程去轮询内核的所有socket,找到有数据的socket来处理。当一万个socket只有一个有数据时也这样轮询,会有9999个空轮询。2.系统调用 调用操作系统内核的函数,要切换内核态,相对更慢。使用内核的select函数一次性返回所有socket的状态集。优点,只需要一次系统调用就能找到有数据的socket。

2022-11-12 22:17:12 554

原创 Linux Docker环境常用命令

【代码】Linux Docker环境常用命令。

2022-11-09 09:54:52 326

原创 kubeSpher+k8s集群安装命令

【代码】kubeSpher+k8s集群安装命令。

2022-09-19 21:02:24 202

原创 设计模式一之单例模式

一个类只有被获取属性或者要被使用时才会加载,而且类初始化时会有jvm层面的锁所以不会出现线程安全问题。枚举单例是一种饿汉模式的单例,它不会被反射和序列化破坏单例,是一种很安全的单例模式。静态内部类单例也是一种懒汉模式的单例(饱汉模式)

2022-09-17 15:17:28 154

原创 面试踩坑总结二

当某个线程查询数据的时候,会将该数据的版本号一起读取出来,之后在该线程需要更新该数据的时候,就将之前读取的版本号与当前版本号进行比较,如果一致,则执行操作,如果不一致,则放弃操作。另外,许多CAS操作都是自旋的,意思就是,如果操作不成功,就会一直重试,直到操作成功为止。所谓的ABA问题,指的就是一个线程在操作数据的时候,有别的线程对数据进行了一系列操作,但是在该线程重新读取该数据的时候,被修改过的数据却和该线程一开始读取的数据一致,该线程不会知道该数据已经被修改过了,然后CAS操作就被判断是成功了。

2022-09-16 20:24:01 143

原创 SpringBoot如何实现多数据源,扩展点

具体实现,使用自定义注解标注在service方法上来指定数据源,定义一个AOP切面,读取注解的属性,将其保存到线程变量,当mybatis或spring事务要获取连接Connection对象时就会调用我们自定义的动态数据源的getConnection()方法,我们就可以在其中读取线程变量的属性然后来选择具体使用哪个数据源的getConnection()获取连接对象。想要实现多数据源我们可以写一个配置类创建多个DataSouce bean,具体代码实现想必不用多说了。

2022-09-11 18:23:04 271

原创 Spring事务执行逻辑

事务创建 doBegin第一条数据库操作执行前第二条数据库操作执行前第三条第四条以此类推发生异常rollback未发生异常commit

2022-09-09 10:48:05 252

原创 IDEA远程调试

配置完毕后点击保存即可,因为我配置的 suspend=n,因此服务端程序无需阻塞等待我们的连接。我们点击 IDEA 调试按钮,当我访问某一接口时,能够正常调试。然后在 IDEA 中,点击 Edit Configurations,在弹框中点击 + 号,然后选择Remote。填写服务器的地址及端口,点击 OK 即可。配置完毕后,DEBUG 调试运行即可。IDEA 远程调试示例。

2022-09-07 16:02:18 4782 1

原创 spring-kafka开启事务导致数据库事务失效问题解决

让SpringBoot同时支持数据库事务和kafka事务。

2022-09-06 11:58:05 1482 1

原创 Kafka3.0.0安装使用教程

先启动zookeeper,加-daemon是后台启动,不加就只是命令界面启动,kafka同理。zookeeper.properties配置不用动,如果端口占用可以修改一下端口。tar -zxvf kafka_2.12-3.0.0.tgz解压。编辑kafka的server.properties。去kafka官网下载3.0.0版本。将压缩包上传到服务器。......

2022-08-17 16:56:28 2240

原创 云原生DevOps环境搭建

1.移除以前docker相关包。3.安装docker。

2022-07-30 15:08:10 470

原创 ELK日志采集

创建日志索引使文档按照时间字段datetime倒序排序。

2022-07-29 22:22:26 652

原创 仿照微信Oauth2.0接入方案

https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html

2022-06-29 17:06:22 164 1

原创 面试踩坑总结一

JVM中两个对象互相引用会被回收吗?不会,强引用的对象不会回收hashMap为什么要重写hashcode和.equals方法?应该是静态内部类Node重写了,为了比较key,value决定是替换还是以链表形式追加rabbitmq消息监听发生异常重新回到队列一直这样一直阻塞怎么办?重新归队被其他消费者消费@Controller注解返回什么?返回模板引擎视图名称@Component注解标在接口或抽象类上能创建注入bean吗?不能,接口不能实例化spring如何注入mybatis的mapper接口?m

2022-06-16 13:41:58 140

原创 JVM笔记

怎么判断哪些对象需要被回收?根可达算法,根不可达的对象没有被任何方法引用那么就说无用的对象可被回收垃圾回收算法有哪些?垃圾回收器有哪些?Serial串行垃圾回收器,单线程进行垃圾回收,GC时会STW,业务线程全部停止等GC完了才继续,小内存还可以,大内存垃圾回收耗时会很长CMS concurrent mark sweep并发标记扫描,为了解决STW而诞生,可以一边回收一边执行业务线程G1三色标记算法自己和自己引用的对象都找到的对象被标记为黑色自己找到但是自己引用的对象没找到的对象被标记为灰色

2022-06-10 23:43:19 110

原创 mysql sql语句加锁

加共享锁(读写锁)select * from user_innodb where id=2 lock in share mode;加排他锁DML语句自动加排他锁,DQL语句需要手动加 for updateselect * from user_innodb where id=2 for update;

2022-05-23 11:38:57 100

原创 Mybatis拦截器插入和修改时自动填充注入审计字段(无侵入性)

@Datapublic class BaseEntity { @JsonSerialize(using = ToStringSerializer.class) private Long id; private Long createBy; @JsonFormat( pattern = "yyyy年MM月dd日 HH时mm分ss秒") private LocalDateTime createTime; private Long updateBy;

2022-05-11 14:04:11 1569

原创 Java序列化

想要序列化一个对象则这个对象必须要实现序列化接口Serializable,Java序列化一个对象成字节流保存到一个文件中,字节流会包含序列化时的对象的完全限定类名和序列化版本号。在另一个JVM中想反序列化文件得到对象则必须要保证接收类的完全限定类名和序列化版本号要和序列化时一致,否则会报异常序列化版本号可以手动指定保持一致,如果不手动指定,JVM会自己根据类信息计算得到一个版本号,由于项目版本迭代类会改字段变化之类的,序列化和反序列化前后的序列化版本号可能会不一致,所以实际一般都要手动指定priva

2022-05-06 11:08:30 179

原创 VisualVM监控远程服务器上JVM教程

Dockerfile配置FROM openjdk:11ADD ./target/tide-service-system.jar ./ENV JAVA_OPTS="\-server \-Xmx500m \ 最大堆内存-Xms128m \ 初始堆内存-Dcom.sun.management.jmxremote=true \ 允许远程jmx连接-Dcom.sun.management.jmxremote.rmi.port=8890 \ 宿主机jmx端口-Dcom.sun.management.j

2022-04-15 14:05:57 2227 21

原创 Spring七种事务传播类型

REQUIRED 支持当前事务,如果不存在则创建一个新事务。SUPPORTS 支持当前事务,如果不存在则以非事务方式执行。MANDATORY 支持当前事务,如果不存在则抛出异常。REQUIRES_NEW 创建一个新事务,如果存在则暂停当前事务。NOT_SUPPORTED 以非事务方式执行,如果存在则暂停当前事务。NEVER 以非事务方式执行,如果存在事务则抛出异常。NESTED 如果当前事务存在,则在嵌套事务中执行,否则行为类似于REQUIRED 。...

2022-03-14 15:40:08 158

原创 mvcc+间隙锁解防止幻读

所有的select查询操作都是属于快照读,快照读通过mvcc+undolog(乐观锁)实现,在innodb的可重复读隔离级别下一个事务中只有第一次快照读会生成readview,所以不会发生幻读。所有的select … for update加锁读以及所有的update,insert,delete写操作都是属于当前读,当前读通过mvcc+悲观锁(行锁,间隙锁都是属于悲观锁)实现。间隙锁会阻塞其他事务对范围内的插入操作,所以不会发生幻读。...

2022-03-03 16:24:09 471

原创 redis集群搭建

1.主从复制创建3个配置文件每个配置文件增加这些配置#引用公共的配置include /root/redis/redis-6.2.6/redis.conf#pid,每个节点必须唯一pidfile /var/run/redis_6379.pid#端口,每个节点必须唯一port 6379#rdb持久化文件名,每个节点必须唯一dbfilename dump.rdb连接每个redis节点redis-cli -p 6379redis-cli -p 6380redis-cli -p 6381

2022-03-02 16:11:08 449

原创 centos7安装redis6.x

#关闭远程保护protected-mode no#端口号port 6379#设置密码requirepass 123456

2022-03-02 11:06:42 813

原创 docker portainer

docker pull portainer/portainerdocker run -d --name portainerUI -p 宿主机端口:容器端口 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

2022-03-01 21:54:46 307

原创 分布式对象存储Minio安装教程

centos7 安装Minio启动yum -y install wgetwget http://dl.minio.org.cn/server/minio/release/linux-amd64/miniochmod +x minionohup ./minio server /mnt/data --address 192.168.96.130:9000 --consle-address 192.168.96.130:9001 &启动成功后浏览器访问192.168.96.130:9001

2022-03-01 10:35:51 287

原创 Spring Bean生命周期

doCreateBean() createBeanInstance()采用反射生成实例对象,进行到这里表示对象还并未进行属性的填充,也就是@Autowired注解的属性还未得到注入 addSingletonFactory()将对象提前暴露 populateBean()对使用到了注入属性的注解就会进行注入,如果在注入的过程发现注入的对象还没生成,则会跑去生产要注入的对象 initializeBean() invokeAwareMethods()调用实现Aware接口的方法 (Bean

2022-02-24 16:59:52 208

原创 Elasticsearch7.8集群搭建

我的是CentOS7系统首先下载elasticsearch压缩包上传到/home/es目录下 tar -zxvf elasticsearch压缩包解压缩由于Elasticsearch在linux系统不允许root用户启动 所以先创建一个用户#新增es用户 useradd es#设置密码为es passwd es#给es用户操作es文件夹的权限 chown -R es /home/es/elasticsearch文件夹然后还有其他系统配置,以root用户操作修改/etc/securi

2022-02-23 16:52:26 977

原创 Elasticsearch 7.8学习笔记

Elasticsearch里存储文档数据和关系型数据库MySQL存储数据的概念进行一个类比注意:Elasticsearch 7.x版本中Type的概念已经被删除了。1.REST请求操作Elasticsearch创建索引 PUT http://localhost:9200/索引名查看指定索引 GET http://localhost:9200/索引名查看所有索引详细信息 GET http://localhost:9200/_cat/indices?v删除指定索引 DELETE http://lo

2022-02-23 14:59:31 1193

原创 Alibaba Sentinel使用教程

给需要流控的微服务引入依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>去sentinel github官网下载对应版本的控制台jar https://github.com/alibaba/Sentinel/relea

2022-02-18 11:24:47 454

原创 kafka集群搭建

修改配置文件broker.id=1#内网iplisteners=PLAINTEXT://192.168.124.130:9091#外网ipadvertised.listeners=PLAINTEXT://192.168.124.130:9091log.dirs=/root/kafka/kafka-logs1zookeeper.connect=47.94.147.204:2181,47.94.147.204:2182,47.94.147.204:2183,47.94.147.204:2184

2022-02-16 11:43:29 826

原创 zookeepr集群搭建

修改配置文件每个zk节点都要修改这些配置,指定自己的dataDir和端口号,端口号不能冲突,防火墙和安全组要开放端口dataDir=/root/zk/dataDir1clientPort=2181quorumListenOnAllIPs=trueserver.1=47.94.147.204:2001:3001server.2=47.94.147.204:2002:3002server.3=47.94.147.204:2003:3003server.4=47.94.147.204:2004:3

2022-02-16 10:32:21 746

原创 win10自带远程ssh连接

win10自带远程连接linux服务器命令ssh 用户名@ip

2022-02-11 11:18:44 1375

原创 数据结构图解

2022-01-20 20:40:47 295

原创 spring security前后端分离

前后端分离,配置所有接口以及权限放行以及跨域和csrf拦截等@Override protected void configure(HttpSecurity http) throws Exception { //使用自定义表单登录 http.formLogin() //未登录返回json .loginPage("/unLogin") //登录url

2022-01-20 14:32:42 783

原创 kafka学习笔记

zk里没有kafka节点还有可能zk服务器与kafka服务器之间网络不通,还可以使用ps -aux|grep server.properties命令查看kafka的进程,如果有启动信息打印说明启动成功了。

2022-01-17 16:10:06 1039

空空如也

空空如也

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

TA关注的人

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