彭大坤
码龄8年
关注
提问 私信
  • 博客:53,505
    53,505
    总访问量
  • 52
    原创
  • 1,623,564
    排名
  • 26
    粉丝
  • 0
    铁粉

个人简介:java软件工程师

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2016-11-06
博客简介:

qq_36625757的博客

查看详细资料
个人成就
  • 获得30次点赞
  • 内容获得6次评论
  • 获得219次收藏
创作历程
  • 4篇
    2020年
  • 33篇
    2019年
  • 15篇
    2018年
成就勋章
TA的专栏
  • Netty
  • java
    14篇
  • Spring
    5篇
  • SpringBoot
    9篇
  • WebService
    1篇
  • Linux
    5篇
  • 多线程
    5篇
  • Git
    1篇
  • MySql
    2篇
  • Redis
    3篇
  • JVM
    1篇
  • Dubbo
    1篇
  • MQ
    3篇
  • 设计模式
    3篇
  • 搜索引擎
    1篇
  • 微服务/分布式
    3篇
  • MyBatis
    1篇
  • Docker
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Seata使用AT模式及源码解析(二)

五.源码启动seata服务1.修改registry.conf配置修改registry.conf,配置registry和config都使用nacos形式2.启动seata服务3.无法启动解决seata在1.3.0版本中,maven版本需要在3.6.0及以上 项目构建无法找到io.seata.serializer.protobuf.generated下的包:idea需要安装ProtobufSupport插件,安装时可能会搜索不到,需要通过zip包安装在seata父pom.x.
原创
发布博客 2020.11.01 ·
1119 阅读 ·
0 点赞 ·
3 评论 ·
2 收藏

Seata使用AT模式及源码解析(一)

一.分布式事务问题在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?以工单操作为例:正常情况下:页面发起一个工单相关操作,假设流程中对工单操作的同时,还需要调用客户,备件服务进行操做,那么这里对于备件及客户的操作都是在自己的服务中进行的,那么事务也就是在自己的服务中控制的,一切都没问题的时候,工单,客户,备件完成自己本地的事务操作后提交,数据没有问题。异常情况:假设:子流程客户出现事务回滚,而主流程及子流程备件均已提交事务,那么就出现事务不一致问题了。解决方案:两.
原创
发布博客 2020.11.01 ·
1581 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

RocketMQ高级

一:高级特性消息生成者发送消息MQ收到消息,将消息进行持久化,在存储中新增一条记录返回ACK给生产者MQ push 消息给对应的消费者,然后等待消费者返回ACK如果消息消费者在指定时间内成功返回ack,那么MQ认为消息消费成功,在存储中删除消息,即执行第6步;如果MQ在指定时间内没有收到ACK,则认为消息消费失败,会尝试重新push消息,重复执行4、5、6步骤MQ删除消息1.1 存储介质关系型数据库DBApache下开源的另外一款MQ—ActiveMQ(默认采用的KahaDB做消
原创
发布博客 2020.09.13 ·
802 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

知识总结:面试重要知识点

0:Java基础1.自动装箱与拆箱https://www.cnblogs.com/dolphin0520/p/3780005.html一:javaWeb部分1.Servlet何时创建:默认第一次访问servlet时创建该对象2.Servlet何时销毁:服务器关闭servlet就销毁了3.每次访问必然执行的方法:service(ServletRequest req, Ser...
原创
发布博客 2019.06.10 ·
392 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Docker使用指南

一:虚拟化1.什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。在实际的生产环境...
原创
发布博客 2019.05.26 ·
999 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

MyBatis源码解析

一:运行原理1.SqlSessionFactory的创建及配置文件的解析首先通过配置文件的文件流创建SqlSessionFactoryBuilder对象调用build方法,传入文件流之后通过解析器解析xml配置文件通过XPathParse解析configuration节点,获取根节点,之后再parseConfiguration()方法中根据根节点解析根节点中的每...
原创
发布博客 2019.05.26 ·
332 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Hystrix实现微服务高可用架构

一:什么是Hystrix在分布式系统中,每个服务都可能会调用很多其他服务,被调用的那些服务就是依赖服务,有的时候某些依赖服务出现故障也是很正常的。Hystrix 可以让我们在分布式系统中对服务间的调用进行控制,加入一些调用延迟或者依赖故障的容错机制。Hystrix 通过将依赖服务进行资源隔离,进而阻止某个依赖服务出现故障时在整个系统所有的依赖服务调用中进行蔓延;同时Hystrix 还提供故障时...
原创
发布博客 2019.05.24 ·
739 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

高频数据库分库分表面试题解析

一.为啥要分库分表?假如我们现在是一个小创业公司(或者是一个 BAT 公司刚兴起的一个新部门),现在注册用户就 20 万,每天活跃用户就 1 万,每天单表数据量就 1000,然后高峰期每秒钟并发请求最多就 10。天,就这种系统,随便找一个有几年工作经验的,然后带几个刚培训出来的,随便干干都可以。结果没想到我们运气居然这么好,碰上个 CEO 带着我们走上了康庄大道,业务发展迅猛,过了几个月,...
原创
发布博客 2019.05.23 ·
2468 阅读 ·
1 点赞 ·
0 评论 ·
31 收藏

高频分布式面试题解析

一:为啥进行系统拆分?如何进行系统拆分?为啥要使用dubbo?1.为啥进行系统拆分要是不拆分,一个大系统几十万行代码,20 个人维护一份代码,简直是悲剧啊。代码经常改着改着就冲突了,各种代码冲突和合并要处理,非常耗费时间;经常我改动了我的代码,你调用了我的,导致你的代码也得重新测试,麻烦的要死;然后每次发布都是几十万行代码的系统一起发布,大家得一起提心吊胆准备上线,几十万行代码的上线,可能...
原创
发布博客 2019.05.23 ·
1008 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

高频缓存面试题解析(二)

八:如何应对缓存雪崩及缓存穿透?1.缓存雪崩缓存雪崩现象:缓存服务器宕机导致大量请求直接到数据库,数据库无法抗住这么大的并发量,导致数据库宕机,从而导致整个程序宕机。之后可能就无法启动数据库,起一次,死一次。解决办法:事前:尽量保证整个 Redis 集群的高可用性,发现机器宕机尽快补上。选择合适的内存淘汰策略。 事中:本地 Ehcache 缓存 + Hystrix 限流&am...
原创
发布博客 2019.05.22 ·
855 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

高频缓存面试题解析(一)

一:项目中缓存如何使用?缓存使用不当会造成什么后果?1.项目中如何使用:结合自己的项目总体概括一下即可2.为啥在项目里要用缓存呢:高性能:假设这么个场景,你有个操作,一个请求过来,各种乱七八糟操作mysql,半天查出来一个结果,耗时600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户。那么此时咋办?使用缓存,折腾600ms查出来的结果,扔缓存里,一...
原创
发布博客 2019.05.21 ·
1209 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

高频分布式搜索引擎面试题解析

一:ES分布式架构的基本原理(ES如何实现分布式)?ElasticSearch 设计的理念就是分布式搜索引擎,底层其实还是基于 lucene 的。核心思想就是在多台机器上启动多个 es 进程实例,组成了一个 es 集群。es 中存储数据的基本单位是索引,比如说你现在要在 es 中存储一些订单数据,你就应该在 es 中创建一个索引order_idx,所有的订单数据就都写到这个索引里面去,一个索...
原创
发布博客 2019.05.20 ·
576 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

高频消息中间件面试题解析

一:消息队列的主要作用是什么?1.消息队列的特性:业务无关,一个具有普适性质的消息队列组件不需要考虑上层的业务模型,只做好消息的分发就可以了,上层业务的不同模块反而需要依赖消息队列所定义的规范进行通信。FIFO,先投递先到达的保证是一个消息队列和一个buffer的本质区别。容灾,对于普适的消息队列组件来说,节点的动态增删和消息的持久化,都是支持其容灾能力的重要基本特性。性能,这个不必多说了...
原创
发布博客 2019.05.20 ·
2520 阅读 ·
2 点赞 ·
0 评论 ·
18 收藏

设计模式详解(三)

十六:解释器模式(interpreter)1.介绍:用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的 编译器和解释器设计。当我们需要开发一种新的语言时,可以考虑使用解释器模式。尽量不要使用解释器模式,后期维护会有很大麻烦。在项目中,可以使用 Jruby,Groovy、java的js引擎来替代解释器的作用,弥补java语言的不足。2.使用场景:EL表达式式的处理 正...
原创
发布博客 2019.05.17 ·
197 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

设计模式详解(二)

七:桥接模式(bridge)1.问题引出:商城系统中很多商品分类,以电脑为例:台式机,笔记本,平板电脑等,我们可以通过下图描述其关系通过上面的图会发现很多问题:如果要增加一个新的电脑类型需要再增加各个品牌对应的类 如果要增加一个新的品牌,也要增加各个电脑类型的类 违反单一职责原则:一个类即表示品牌又表示是那种类型的电脑2.场景分析商城系统中常见的商品分类,以电脑为类,如何...
原创
发布博客 2019.05.17 ·
224 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

设计模式详解(一)

一:单例模式1.作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。2.常用应用场景:Windows的Task Manager(任务管理器)就是很典型的单例模式 windows的Recycle Bin(回收站)也是典型的单例应用。在整个系统运行过程中,回收站一直维护着仅有的一个实例。 项目中,读取配置文件的类,一般也只有一个对象。没有必要每次使用配置文件数据,每次n...
原创
发布博客 2019.05.16 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

消息中间件之ActiveMQ

一:JMSJMS的全称是Java Message Service,即Java消息服务。用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑。对于消息的传递有两种...
原创
发布博客 2019.05.15 ·
389 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Dubbo使用及原理简介

一:RPCRPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。 RPC两个核心模块:通讯,序列化,这两个模块决定RPC的性能好坏...
原创
发布博客 2019.05.13 ·
1229 阅读 ·
1 点赞 ·
0 评论 ·
10 收藏

JDK1.7&1.8中ConcurrentHashMap解析

一.总体概述HashMap在开发中很常用,但HashMap存在一个弊端就是线程不安全,解决办法就是使用Hashtable代替或使用Collections.synchronizedMap(m);将HashMap转换为线程安全的,但这两种方法虽说实现了线程安全,但是并发性能比较差,因为是全表加锁,那么并发界的大牛Doug Lea就为我们提供了ConcurrentHashMap解决这个问题,不仅实现...
原创
发布博客 2019.05.12 ·
956 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

JDK1.8中HashMap解析

一:概述JDK 1.8对HashMap进行了比较大的优化,底层实现由之前的“数组+链表”改为“数组+链表+红黑树”相对于JDK7中的HashMap,JDK8中HashMap的实现主要有一下几点不同:在JDK8中new HashMap()的时候,底层没有创建一个默认长度为16的Entry[]数组 在JDK8中Entry[]数组变为Node[]数组 在JDK8中首次调用put()方...
原创
发布博客 2019.05.10 ·
543 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏
加载更多