摘要: 所有producer的send()方法都调用了defaultMqProducer.send()方法; 这也是为什么我们需要对每个每一个producer进行配置的原因; 生产者发送时,会自动轮巡所有可以发送的broker,一条消息发送成功,下一次发送消息换另一个broker发送,使消息平均落在所有br 阅读全文
posted @ 2021-12-07 17:38 sellingpear 阅读(117) 评论(0) 推荐(0)
摘要: 1.nameserver 可以做集群,提供轻量级的服务发现与路由。每个nameserver记录完整的路由信息,提供等效的读写服务并支持快速存储扩展。 就是一个注册中心,存储当前集群所有broker的信息、Topic和broker的对应关系。 nameserver用于存储topic、broker关系信 阅读全文
posted @ 2021-12-07 17:25 sellingpear 阅读(67) 评论(0) 推荐(0)
摘要: 1.概述 NIO有三大核心部分:Channel(通道)、Buffer(缓冲区)、Sellector。传统的IO面向流操作,而NIO面向缓冲区操作。数据总是从缓冲区写到通道或者从通道读入缓冲区。Selector用于监听各个通道的事件。Selector监听注册到它的连接,基于回调函数获取通知。 阅读全文
posted @ 2021-12-06 19:28 sellingpear 阅读(56) 评论(0) 推荐(0)
摘要: 1.实现 抽象类的子类用extends来继承;接口使用implements来实现。 2.构造函数 抽象类可以有构造函数;接口不能有,它只能由实现类实现。 3.main方法 抽象类可以有main方法,并且能够运行;接口不能有main方法。 4.实现数量 类可以实现很多接口;但只能集成一个抽象类 5.访 阅读全文
posted @ 2021-12-06 17:37 sellingpear 阅读(86) 评论(0) 推荐(0)
摘要: 1.Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。 2.Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册成Spring应用上下文中的bean。通常方法体包含了最终产生bean实例的逻辑。 区别: Component通常是通过类路径扫描来自 阅读全文
posted @ 2021-12-05 22:40 sellingpear 阅读(2894) 评论(0) 推荐(0)
摘要: B树 B树,也就是多路平衡搜索树,它类似普通的平衡二叉树,不同的是B树允许每个节点有更多的子节点,如下图: B树有以下特性: 所有的键值分布在整棵树中(索引值和具体的data都在每个节点里)。 任何一个关键字出现且只出现在一个结点中。 搜索有可能在任意一个非叶子结点结束(最好的情况就是O(1))。 阅读全文
posted @ 2021-12-05 18:14 sellingpear 阅读(217) 评论(0) 推荐(0)
摘要: 1.二叉树 二叉树是树的一个重要类型,也是众多数据结构的基石。简单来说,每个节点最多只能有两个节点的树叫做二叉树。 2.二叉查找树 一种特殊的二叉树,特点就是左边的树节点比父节点要小,右边的比父节点要大。 极端条件下,平衡二叉树可能退化成链表。举个例子,二叉树的大部分节点都比父节点要小,如下: 3. 阅读全文
posted @ 2021-12-05 17:19 sellingpear 阅读(147) 评论(0) 推荐(0)
摘要: 个人笔记 jwt的组成部分 1.header 令牌的类型、签名算法 2.payload 标准声明:比如过期时间 公共声明:一般放业务相关的信息,别放敏感信息 私有声明:服务提供者和消费者共同定义的声明 3.verify signature 加密后的header 加密后的payload secret 阅读全文
posted @ 2021-12-05 00:38 sellingpear 阅读(56) 评论(0) 推荐(0)
摘要: 1.epoll多路复用模型 在epoll模型出现之前,java使用的模型有java bio模型和linux select模型。 模型如下: 当client和server传输数据时,需要client和server之间建立长连接,然后用socket.write向TCP/IP缓冲区中写入数据,client 阅读全文
posted @ 2021-12-04 19:44 sellingpear 阅读(302) 评论(0) 推荐(0)
摘要: 在保证了rocketMQ的消息顺序性之后,还应该进行消息去重。 由于消息的重复性往往是由于网络抖动造成的,所以我们一般要在自己的业务端完成消息的去重。 一个可用的方案就是使用Redis做缓存。 具体方案如下: 1.消费端收到消息的时候,使用Redis提供的incr,以msgID作为key(保证唯一性 阅读全文
posted @ 2021-12-04 16:01 sellingpear 阅读(845) 评论(0) 推荐(0)