自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RocketMQ - 高可用设计

计算机系统的可用性用平均无故障时间来度量,系统的可用性越高,则平均无故障时间越长。

2020-05-31 15:08:18 1136 1

原创 RocketMQ - 如何实现事务消息

事务消息的使用场景很多,比如在电商系统中用户下单后新增了订单记录,对应的商品库存需要减少。又例如红包业务,张三给李四发红包,张三的账户余额需要扣减,李四的账户余额需要增加,怎么保证张三账户扣减李四账户加钱呢?这些问题都是事务问题,可以简单理解为:一个表的数据更新后,如何保证另外一个表的数据也更新成功。如果使用同一个数据库实例,那么问题很简单,可以使用本地事务来解决,Spring的@Transactional注解就支持。消费事务消息与消费普通消息的代码是一样的,无需做任何修改。

2020-05-31 08:32:33 5246 2

原创 itextpdf在PDF指定位置添加文本

最近项目中需要给固定格式的PDF文件动态添加内容,记录下实现方式:使用Adobe打开PDF,点击右下角的准备表单双击名称字段,给字段添加标签productName代码 public static void main(String[] args) throws Exception{ Map<String, Object> data = new HashMap<String, Object>();//要插入的数据 data.put("pro

2020-05-30 07:09:12 12229 3

原创 Java 替换word文档文字

最近项目中需要在word文档中指定位置动态添加文字,记录下项目中的实现方式添加依赖的lib<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-excelant</artifactId> <version>3.12</version> </depende

2020-05-30 07:05:32 9168 10

原创 RocketMQ - 如何实现顺序消息

消息消费成功后,会向Broker提交消费进度,更新消费位点信息,避免下次拉取到已消费的消息,顺序消费中如果消费线程在监听器中进行业务处理时抛出异常,则不会提交消费进度,消费进度会阻塞在当前这条消息,并不会继续消费该队列中的后续消息,从而保证顺序消费。轮询算法简单好用,但是有个弊端,如果轮询选择的队列是在宕机的Broker上,会导致消息发送失败,即使消息发送重试的时候重新选择队列,也可能还是在宕机的Broker上,无法规避发送失败的情况,因此就有了故障规避机制。Consumer能够不重复接收消息?

2020-05-27 21:29:25 2475 1

原创 RocketMQ - 集群管理

在分布式服务架构中,任何中间件或者应用都不允许单点存在,服务发现机制是必备的。服务实例有多个,且数量是动态变化的。注册中心会提供服务管理能力,服务调用方在注册中心获取服务提供者的信息,从而进行远程调用。接下来介绍一下RocketMQ的整体架构设计、集群管理。

2020-05-25 22:39:14 889

原创 RocketMQ - 什么是RocketMQ

RocketMQ是一个低延时、高可靠、可伸缩、易于使用的分布式消息中间件,是由阿里巴巴开源捐献给Apache的顶级项目。RocketMQ具有高吞吐、低延迟、海量消息堆积等优点,同时提供顺序消息、事务消息、定时消息、消息重试于追踪等功能,非常适合在电商、金融等领域使用。

2020-05-23 09:47:09 646 1

原创 Dubbo集成Sentinel实现限流

Dubbo服务接入Sentinel DashboardDubbo服务限流规则配置Sentinel热点限流热点参数限流的使用@SentinelResource热点参数限流

2020-05-13 22:03:17 3554 3

原创 Sentinel集成Nacos实现动态流控规则

Sentinel的理念是只需要开发者关注资源的定义,它默认会对资源进行流控。当然,我们还是需要对定义的资源设置流控规则,主要有两种方式:通过FlowRuleManager.loadRules()手动加载流控规则。在Sentinel Dashboard上针对资源动态创建流控规则。针对第一种方式,如果接入Sentinel Dashboard,那么同样支持动态修改流控规则,但是基于Sentinel Dashboard所配置的流控规则,都是保存在内存中的,一旦应用重启,这些规则都会被清除。为了解决这个问题

2020-05-10 16:56:09 2329 2

原创 Spring Cloud集成Sentinel

Sentinel接入Spring Cloud基于Sentinel Dashboard来实现流控配置自定义URL限流异常URL资源清晰

2020-05-09 20:29:29 2829 1

原创 分布式限流框架 - Sentinel

Sentinel是面向分布式服务架构的轻量级流量控制组件,主要以流量为切入点,从限流、流量整形、服务降级、系统负载保护等多个维度来帮助我们保障微服务的稳定性。稳定是系统的基础能力,稳定性差的系统会出现服务超时或服务不可用,给用户带来不好的体验,也会对业务造成不良影响。Sentinel的特性Sentinel有如下特性:应用场景丰富:几乎涵盖所有的应用场景,例如秒杀、消息削峰填谷、集群流量控...

2020-05-07 22:28:36 4529 1

原创 Dubbo和Spring集成的原理

使用Dubbo最方便的地方在于它可以和Spring非常方便的集成,实际上,Dubbo对于配置的优化,也是随着Spring一同发展的,从最早的XML形式到后来的注解方式以及自动装配,都是在不断地简化开发过程来提高开发效率。在Spring Boot集成Dubbo时,服务发布主要有以下几个步骤:添加dubbo-spring-boot-starter依赖定义@org.apache.dubbo.co...

2020-05-04 11:39:20 1785 1

原创 Spring Boot自动装配的原理

Spring Boot不得不说的一个特点就是自动装配,它是starter的基础,也是spring boot的核心,那到底什么是自动装配呢?简单的说,就是自动将Bean装配到IoC容器中。接下来,我们通过一个例子来了解下自动装配。添加starter<dependency> <groupId>org.springframework.boot</groupId&...

2020-05-03 10:01:18 3515 2

原创 消息队列Kafka - Java中如何是用Kafka进行通信

首先在项目中添加kafka的依赖: <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.0.0</version> </de...

2020-05-02 17:44:49 686

MySQL高频面试题及答案

MySQL高频面试题,适用于将要参加软件开发相关岗位面试的同学,在掌握MySQL相关知识的同时,能够更好的应对面试,获取更好的机会

2024-02-23

Mybatis常见面试题

Mybatis常见面试题,适用于将要参加Java开发工程师相关岗位的同学,在巩固Mybatis相关基础知识的同时,能够更好的应对面试,获取更好的机会

2024-02-23

Java集合、JVM面试题

Java集合、JVM面试题,包括Java集合、JVM内存模型、垃圾回收机制、JVM调优、异常处理等相关面试题 适用于Java编程的初学者,加强自身对于Java集合、JVM、异常处理等方面的知识储备,更好的应对面试机会

2024-02-22

Java基础常见面试题

Java基础常见面试题,包含Java概述、基本语法、面向对象、IO流、反射、常见API等方面的常见面试题。 适用于Java编程的初学者,能够更好的掌握Java编程的基础知识,在提高自身技术水平的同时,也能更好的准备面试,获得更好的机会

2024-02-22

Java并发编程最全面试题

Java并发编程最全面试题,包括并发编程基础知识、并发理论、线程池、并发容器、并发队列、并发工具类等方面的常见面试题。例如线程池的概念、优缺点、创建方式、线程池原理等等。 本文档适用于将要参加Java开发相关岗位面试、或者想要提高Java并发编程相关技能的同学,更好的理解和掌握Java并发编程的相关知识,更好的应对面试机会和挑战

2024-02-22

Java 工程师成神之路

Java 工程师成神之路,包括Java相关的基础知识及思维导图 适用于想要学习Java编程语言或者想要提升自身技术水平的同学,更好的掌握Java相关基础知识,不断的提升自己,应对未来更好的挑战

2024-02-22

Git基础知识及面试题

包括Git相关的基础知识、代码托管、Git相关命令、如何在IDEA中使用Git、以及相关面试题 适用于将要参加Java开发工程师相关岗位的同学,熟悉相关知识点、更好的应对相关面试、获得更好的机会

2024-02-22

ElasticSearch面试题

ElasticSearch面试题,包括ElasticSearch基础知识、调优、倒排索引、集群选举、 索引文档的过程、lucence 内部结构、更新和删除文档的过程、电商搜索的整体技术架构等相关知识点。 适用于将要参加Java开发工程师相关岗位的同学,提前熟悉ElasticSearch相关知识点,更好的应对面试,获得更好的机会

2024-02-22

Dubbo知识及面试题

包含Dubbo相关的基础知识、架构设计、分布式框架、通信协议、SPI以及相关面试题 适用于将要参加Java开发工程师相关岗位的同学,熟悉相关知识点、更好的应对面试

2024-02-22

BIO,NIO,AIO,Netty面试题

包含BIO、NIO、AIO及Netty等知识点的面试题及答案 适合将要参加Java开发工程师岗位面试的同学,熟悉相关知识点,更好的应对面试

2024-02-22

300页的Java核心面试知识整理(带答案,超全)

包含Java面试核心知识点,包括Java基础、JVM、spring、数据库、微服务、中间件等相关知识。 适用于要参加Java软件开发岗位面试的同学,在面试之前熟悉相关知识点,更好的应对面试

2024-02-22

Java并发编程学些手册

Java并发编程学些手册,包括并发编程基础、volatile关键字、synchronized关键字、final关键字、对象的共享、同步工具类、线程池、锁、多线程实战等部分的详细介绍和解读。 无论你是面试,还是进阶,这些文章的内容绝对不会让你失望!

2024-01-31

Java集合框架面试必备八股文

Java集合框架面试必备八股文,包括List、Map、Set等集合框架必备知识点及面试题。 适用于初级开发工程师,更好的掌握集合相关的知识点,顺利通过面试

2024-01-30

Java JVM面试必备八股文

Java JVM面试必备八股文,包括JVM相关基础知识、垃圾回收、类加载机制等相关知识点以及面试题。 适用于接下来要参加Java开发工程师岗位面试的同学,更好的掌握JVM相关知识点,顺利通过面试

2024-01-30

MySQL面试题必备八股文

MySQL面试题必备八股文,包括MySQL基础知识,存储引擎、日志、索引、事务、高可用等相关知识点的基本介绍和高级用法。 适用于接下来要参加软件开发岗位面试的同学,更好的掌握MySQL相关的知识点以及常见的面试题,从而更好的应对面试。

2024-01-30

Java并发编程面试题八股文

Java并发编程面试题八股文,包括并发编程基本概念、锁、并发工具类、线程池等基本概念和高级用法。同时也介绍了上述知识点在面试过程中常见的问题及答案。 本材料适用于接下来要参加Java开发工程师岗位的面试同学,可以帮助更好的掌握并发编程相关的知识点,从而更加顺利的通过面试

2024-01-30

Spring面试必备八股文

Spring面试必备八股文,包含Spring相关基础知识以及高级用法,适用于要面试Java开发岗位的同学,可以在面试前复习一下Spring相关的知识点

2024-01-30

RocketMQ面试必须会的八股文

RocketMQ面试必须会的八股文,包括为什么要用MQ、如何选型、RocketMQ使用过程中遇到的问题,例如顺序消息、延迟消息、消息可靠性、消息堆积等问题

2024-01-30

Java最新面试题详解

本资源包含Java面试题及详解,包含Java基础、JVM、多线程&并发、Spring、MyBatis、SpringBoot、MySQL、Spring Cloud、Dubbo、Nginx、MQ、Linux、ZooKeeper、Redis、分布式、网络、设计模式、ES等相关技术的常见面试题和答案

2024-01-30

Redis必备基础知识

本资源包含redis的学习笔记,详细记录了学习和使用Redis必须要了解的各种知识点,包括redis的安装、数据类型、持久化、主从复制、集群搭建、如何整合redis,以及redis应用的各种问题的解决方案等等

2024-01-30

空空如也

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

TA关注的人

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