自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Dubbo的SPI机制对比传统的SPI做了哪些改进?Dubbo的IOC和AOP

文章目录1. JAVA的SPI机制1. JAVA的SPI机制        SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来框架扩展和组件替换。在面向的对象的设计里,一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。但如果需要替换另一种实现,就需要修改代码,生成新的jar包,违反了可拔插的原则。为了实现在模块装配的时候能不在程序里指明

2021-02-23 12:57:40 804 3

原创 RocketMQ如何保证消息不丢失? 如何快速处理积压消息?

文章目录1. 哪些环节会有丢消息的可能?1. 哪些环节会有丢消息的可能?        关于MQ,有一个问题是无法避免的,就是怎么保证消息不丢失,这个问题是所有MQ都需要面对的一个共性问题。大致的解决思路都是一致的,首先要找到哪些环节会有丢消息的可能,来看一个MQ的通用架构        其中,1,2,4三个场景分别是:发消息、消息主从同步

2021-02-17 00:47:15 8730 5

原创 RocketMQ的组织架构和基本概念,Dledger高可用集群架构原理

文章目录1. MQ产品介绍2. rocketMQ组织架构①:NameServer②:Broker③:Producer**④:Consumer1. MQ产品介绍        1.1 什么是MQ?为什么要用MQ?        MQ:MessageQueue,消息队列。 队列,是一种FIFO 先进先出的数据结构。消息由生产者发送到MQ进行排

2021-02-09 20:50:28 2024 1

原创 Dubbo服务导出原理

文章目录1. 服务导出的入口方法2. 服务导出原理2.1 刷新配置参数2.1 服务导出1. 服务导出的入口方法        通过在服务实现类上面加上@Service注解,Dubbo可以扫描并生成两个bean对象:Spring中的bean 和 ServiceBean,然后把服务导出到zookeeper、redis等注册中心!@Service(version = "async")public class AsyncDem

2021-02-27 20:30:59 796 1

原创 Dubbo是如何解析@Service、@Reference的?

文章目录1. Dubbo启动时的架构和流程1. Dubbo启动时的架构和流程启动原理图Dubbo在Spring中的启动类:public class Application { // 启动 public static void main(String[] args) throws Exception { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContex

2021-02-26 10:51:19 2575 1

原创 Dubbo的负载均衡、集群容错、服务降级等机制详解

文章目录1. Dubbo与RPC的关系1. Dubbo与RPC的关系        1.1 什么是RPC?维基百科这样解释:        远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程

2021-02-22 10:26:40 1027 1

原创 RocketMQ消费失败如何处理?如何保证消费消息的幂等性?

文章目录1. 消息消费失败如何处理?2. 如何保证消费消息的幂等性?1. 消息消费失败如何处理?当消费者从Broker获取到消息后会进行消费,并返回消费状态。如下代码所示 //broker推消息到Consumer consumer.registerMessageListener(new MessageListenerConcurrently() { //调用consumeMessage方法进行消费 @Overrid

2021-02-20 17:05:43 9550 4

原创 RocketMQ是怎么存储消息的?

文章目录1. rocketMQ存储消息的时机2. rocketMQ的消息读写速度如何保证?3. 消息存储结构1. rocketMQ存储消息的时机        RocketMQ对消息的操作是在内存中,保证了消息的处理效率,但是为了防止rocketMQ宕机导致消息丢失,所以需要对消息进行持久化保存。MQ收到一条消息后,需要向生产者返回一个ACK响应,并将消息存储起来。MQ推一条消息给消费者后,等待消费者的ACK响应,需

2021-02-14 13:44:06 2409

原创 数据库连接池性能优化,连接数到底应该设置多大?

文章目录1. 数据库连接数测试2. 透过现象看原理3. 如何合理设置数据库连接数1. 数据库连接数测试        假如你有一个网站,压力有个1万上下的并发访问——也就是说差不多2万左右的TPS。那么这个网站的数据库连接池应该设置成多大呢?可能更正确的问法是:这个网站的数据库连接池应该设置成多小呢?下面请看一下这个测试视频http://www.dailymotion.com/video/x2s8uec,(视频是英文解说且

2021-02-07 11:09:04 11767 3

原创 RocketMQ有哪些消息类型?springboot如何整合rocketMQ

文章目录1. rocketMQ的消息类型1.1 基本消息1. rocketMQ的消息类型        RocketMQ的消息发送和接收都是有个比较固定的步骤的,大致如下:下面来看一下RocketMQ都支持哪些类型的消息:1.1 基本消息生产者消息发送时有三种形式单向发送:关键点就是使用producer.sendOneWay方式来发送消息,这个方法没有返回值,也没有回调。就是只管把消息发出去就行了。吞吐量非常

2021-02-05 18:06:03 2571

原创 RocketMq单机和集群搭建教程

文章目录1. MQ产品介绍2. RocketMQ的安装1. MQ产品介绍        1.1 什么是MQ?为什么要用MQ?        MQ:MessageQueue,消息队列。 队列,是一种FIFO 先进先出的数据结构。消息由生产者发送到MQ进行排队,然后按原来的顺序交由消息的消费者进行处理。MQ的作用主要有以下三个方面:异步

2021-02-05 15:06:46 1698

空空如也

空空如也

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

TA关注的人

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