Fork me on GitHub
摘要:0 "相关源码" 1 你将学到 如何保证消息百分百投递成功 幂等性 如何避免海量订单生成时消息的重复消费 Confirm确认消息、Return返回消息 自定义消费者 消息的ACK与重回队列 限流 TTL 死信队列 2 保证消息的百分百投递成功 2.1 Producer 的可靠性投递 2.1.1 要求 阅读全文
posted @ 2019-07-01 05:48 路人111122233 阅读 (98) 评论 (0) 编辑
摘要:CAS全称 Compare And Swap(比较与交换),在不使用锁的情况下实现多线程之间的变量同步。属于硬件同步原语,处理器提供了基本内存操作的原子性保证。juc包中的原子类就是通过CAS来实现了乐观锁。 CAS算法涉及到三个操作数: 需要读写的内存值 V。 进行比较的旧值A (期望操作前的值) 阅读全文
posted @ 2020-01-06 23:13 路人111122233 阅读 (12) 评论 (0) 编辑
摘要:[相关源码] (http://github.com/Wasabi1234/Java Concurrency Progamming Tutorial) 1 Unsafe类的park和unpark park方法用来阻塞一个线程,第一个参数用来指示后面的参数是绝对时间还是相对时间,true表示绝对时间, 阅读全文
posted @ 2020-01-05 01:21 路人111122233 阅读 (13) 评论 (0) 编辑
摘要:1 描述 给定一个 ,返回其最大路径和。 路径 : 一条从树中 出发,达到 的序列。该路径 ,且不一定经过根节点。 用例 解析 二叉树 abc,a 是根结点(递归中的 root),bc 是左右子结点(代表其递归后的最优解)。 最大的路径,可能的只有三种路径情况: 1. b + a + c。 2. b 阅读全文
posted @ 2020-01-03 19:32 路人111122233 阅读 (5) 评论 (0) 编辑
摘要:既然是集群,必然有多个Kafka节点,只有单节点构成的Kafka伪集群只能用于日常测试,不可能满足线上生产需求。 真正的线上环境需要考量各种因素,结合自身的业务需求而制定。看一些考虑因素(以下顺序,可是分了顺序的哦) 1 操作系统 OS 可能你会问Kafka不是JVM上的大数据框架吗?Java又是跨 阅读全文
posted @ 2019-12-20 03:23 路人111122233 阅读 (42) 评论 (0) 编辑
摘要:本文概要:大白话剖析调用链监控原理,然后学习Sleuth,Zipkin,然后将Sleuth整合Zipkin,最后学习Zipkin数据持久化(Elasticsearch)以及Zipkin依赖关系图 实战至此,基本功能已经全部实现 1 剖析调用链监控原理 如果我们的项目出现异常了,怎么办呢? 1.1 问 阅读全文
posted @ 2019-12-17 00:24 路人111122233 阅读 (142) 评论 (0) 编辑
摘要:本章主要内容是:使用Nacos管理配置以及实现配置管理的原因,配置如何管理以及动态刷新和最佳实现总结,最后是Nacos配置刷新原理解读 该技术类似于Spring Cloud Config 1 配置管理的意义 项目痛点 不同环境 ,不同配置 配置属性动态刷新 为了解决痛点,常用方案是引入配置服务器,架 阅读全文
posted @ 2019-12-16 00:18 路人111122233 阅读 (48) 评论 (0) 编辑
摘要:欢迎关注全是干货的技术公众号:JavaEdge 本文主要内容: 如何实现用户认证与授权? 实现的三种方案,全部是通过画图的方式讲解.以及三种方案的对比 最后根据方案改造Gateway和扩展Feign 0 "相关源码" 1 有状态 vs 无状态 1.1 有状态 也可使用粘性会话,即:对相同IP的请求, 阅读全文
posted @ 2019-12-16 00:13 路人111122233 阅读 (69) 评论 (0) 编辑
摘要:先献上几个梗 1.1.1.1 不是测试用的,原来一直没分配,现在被用来做一个DNS了,宣传是比谷歌等公司的dns服务 更保护用户隐私。 IP地址255.255.255.255,代表有限广播,它的目标是网络中的所有主机。 IP地址0.0.0.0,通常代表未知的源主机。当主机采用DHCP动态获取IP地址 阅读全文
posted @ 2019-08-20 23:09 路人111122233 阅读 (341) 评论 (0) 编辑
摘要:人用纸和笔来做运算,都是用十进制,直接用十进制和我们最熟悉的符号不是最简单么? 为什么计算机里我们最终要选择二进制呢? 来看看,计算机在硬件层面究竟是怎么表示二进制的,你就会明白,为什么计算机会选择二进制。 1 怎么做到“千里传书” 马拉松的故事相信你听说过。公元前490年,在雅典附近的马拉松海边, 阅读全文
posted @ 2019-08-18 22:34 路人111122233 阅读 (219) 评论 (1) 编辑
摘要:程序 = 算法 + 数据结构 对应到计算机的组成原理(硬件层面) 算法 各种计算机指令 数据结构 二进制数据 计算机用0/1组成的二进制,来表示所有信息 程序指令用到的机器码,是使用二进制表示的 存储在内存里面的字符串、整数、浮点数也都是用二进制表示的 万物在计算机里都是0和1,搞清楚各种数据在二进 阅读全文
posted @ 2019-08-18 18:04 路人111122233 阅读 (323) 评论 (0) 编辑