自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql定时任务(Event)

正好这两天的公司的几个流量大户发版了,发版时会把agent打包进镜像,大量的埋点被拦截上报,APM系统差点被打爆,公司内网SLB飚到80%。但是agent上报的大量数据是无用的,为了防止端午期间数据库磁盘占用过高。设置一个mysql定时任务event为clear_project_config_event,清理无用数据。考虑到所有服务重新发版影响范围太大,且不重新发版的影响也能接受,因此决定等后续用户自行择期发版。在第一时间把agent版本回滚之后,联系几个流量大户重新打包发版,SLB及时下降。

2023-06-20 17:23:33 279

原创 【Spring】优雅上下线

粗鲁下线应该绝对禁止在停止的那一霎那,应用中正在处理的业务逻辑会被中断,导致产生业务异常情形。在 Spring Boot 2.3 中增加了新特性优雅停止。下面都支持优雅停止(1)Spring Boot 内置的四钟嵌入式 Web 服务器(Jetty、Reactor Netty、Tomcat 和 Undertow)(2)反应式况下(3)基于 Servlet 的 Web 应用程序application.yml 中添加一些配置来启用优雅停止实现原理自定义EndPoint - gitee.com原理:执行

2022-08-30 15:09:50 3653

原创 【分布式】一致性算法 Multi Paxos

Paxos 算法包含 2 个部分:1、Basic Paxos : 描述多节点之间如何就 单个值(Value)达成共识2、Multi-Paxos : 描述执行多个Basic Paxos实例,对一系列值达成共识Multi-Paxos 的目标就是实现 Replicated log.

2022-08-11 16:05:31 305

转载 【区块链共识算法】-PoW算法

计算出符合条件的哈希值后,矿工就会把这个信息广播给集群中所有其他节点,其他节点验证通过后,会将这个区块加入到自己的区块链中,最终形成一串区块链。比如小李来 BAT 面试,说自己的编程能力很强,那么他需要做一定难度的工作(比如做个编程题)。根据做题结果,面试官可以判断他是否适合这个岗位。攻击者掌握了较多的算力,能挖掘一条比原链更长的攻击链,并将攻击链向全网广播,这时呢,按照约定,节点将接受更长的链,也就是攻击链,丢弃原链。工作对于请求方是有难度的,对于验证方则是比较简单的,易于验证的。......

2022-08-11 16:04:54 894

原创 【分布式】一致性算法 Basic Paxos

Client:民众Propser:议员/人大代表(接受Client的请求,向集群propose )Accpetor(Voter):国务院主席团(分布式存储的独立储存点)Learner:提议接受者,记录员(backup,备份)Proposer是业务机器,acceptor是数据集群。..................

2022-08-03 16:08:46 173

原创 【分布式】-理论篇 续

中心化协议: 效率高,但是对中心节点的压力大,可用性低去中心化协议:可用性高,但协议复杂,效率低。

2022-08-03 14:43:17 216

原创 【JDK】-泛型

为什么要用泛型?在上面的集合源码中,如果将E换成Object。我们向里面放元素完全没问题,但是取元素,却需要类型转换!因为元素放入集合后,他的原有类型都被抹除,向上转型为Object。

2022-07-30 18:19:03 312

原创 【J2EE规范】-入门篇

定义了,各方自行进行实现。

2022-07-28 20:57:57 276

原创 【监控系统】-acturator和micrometer

(1)编写配置类(2)定义EndPoint。

2022-07-26 11:06:04 908 1

原创 【Spring】拦截器

①拦截器是基于java的反射机制的,而过滤器是基于函数回调。②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。.........

2022-07-25 22:03:33 359

原创 【Spring】@Autowired和@Resource

如果我们想在listener和filter里面@Autowired某个bean,肯定是不行的,因为filter初始化的时候,此时bean还没有初始化,无法自动装配。①指定name+type,则从Spring上下文找到唯一匹配的bean进行装配,找不到则抛异常。③指定type,则从上下文中找到类似匹配的唯一bean进行装配,【找不到/找到多个】抛出异常。②指定name,则从上下文中查找名称匹配的bean进行装配,找不到则抛出异常。类和依赖容器强耦合,不能在容器外使用。(2)出现两个相同的类型bean。...

2022-07-25 21:51:41 285

原创 【JVM】-垃圾回收算法

如果某个地方引用了这个对象就+1,如果失效了就-1,当为0就会回收。【JVM不可用】无法判定循环引用,造成内存泄漏。

2022-07-25 20:11:37 219

原创 【基础技能】-bat脚本

Bat脚本入门

2022-07-17 02:16:54 663

原创 【内存队列】-锁&内存队列

CAS(比较与交换,Compare and swap) 是一种有名的无锁算法。Unsafe是CAS的核心类,Java无法直接访问底层操作系统,而是通过本地(native)方法来访问从 数据结构 来看,来保证线程安全的方式但是对 volatile类型的变量进行 CAS 操作,存在伪共享问题。 花开两朵,各表一枝(逃当生产者线程put一个元素到ArrayBlockingQueue时, putIndex会修改, 从而导致消费者线程的缓存中的缓存行无效, 需要从主存中重新读取。这种无法充分使用缓存行特性的现象,

2022-07-12 11:04:53 672

原创 【Dledger】-源码解读

Dledger是RocketMQ4.5以后推出来的功能,用于实现副本的集群选举使用Raft算法EntryHeatBeatVoteRequestMetadataAppendEntry异步基本都使用异步操作来实现对操作系统的操作,提供了4种命令使用com.beust.jcommander.JCommander接收启动的环境变量传入,实现命令行交互。默认存储在当前磁盘下的(1)属性注入(没属性,则默认)(2)根据属性创建 DLedgerServer(3)启动DLedgerServer启动一系列服务

2022-07-08 17:32:19 535

原创 【JUC】动态线程池

需求:动态调整参数、细粒度监控、秒级监控线程池参数调优,需要不断的进行测试,判断内存占用等因素,调优没法热部署。

2022-07-07 14:54:17 630

原创 【网络编程】-应用篇

Netty

2022-07-07 14:02:52 703

原创 【操作系统】IO模型

Unix五种IO模型(前四种都属于同步)同步和异步:阻塞与非阻塞:非阻塞 I/O 轮询,可能引起 CPU 占用率高。所以一般将和 I/O 多路复用技术(事件通知) 等搭配使用select这个线程本身是阻塞的(不断轮询),但是其他真正处理数据的handler线程(read/write)是非阻塞的。Java 的 NIO 和 AIO 底层都是 epoll 实现的,这又怎么理解同步和异步的区别?IO多路复用有很多种模型,select是最为常见的一种。不管是netty还是JAVA的NIO使用的都是select模型。

2022-07-07 13:41:24 453

原创 【kafka】-入门篇

kafka3移出ZK理想情况下,Consumer实例的数==该 Group 订阅Topic的分区总数。位移消费者在消费的过程中需要记录自己消费了多少数据(位移)组成员数发生变更。比如有新的 Consumer 实例加入组或者离开组,抑或是有 Consumer 实例崩溃被“踢出”组。订阅主题数发生变更。Consumer Group 可以使用正则表达式的方式订阅主题,比如 consumer.subscribe(Pattern.compile(“t.*c”)) 就表明该 Group 订阅所有以字母 t 开

2022-07-04 14:02:29 770

原创 搜索引擎-应用篇(suggest search)

前缀搜索 联想提示功能ES实现suggest的时候,性能非常高在定义index时,为其mapping指定开启suggest插入三条测试数据suggest 搜索存在问题归属模糊搜索的【前缀匹配】以关键字开头的文本, 并没有关键字在中间的!...

2022-07-01 14:25:34 711

原创 搜索引擎-应用篇(地理位置查询)

查询附近的洗车店像Redis和ES都支持GEO来存储地理位置。Elasticsearch的默认等级是9,也就是精准到4.8米左右。Elasticsearch官方并不建议我们修改精度,这可能会导致系统大幅度的变慢,在实际开发过程中,测试将精度等级调整至11级,查询多边形交叠数据返回时长高达4-8秒,难以应用生产环境。(2)插入数据数据范围要求:查询分为filter和query(4)查询某个点附近 X 千米 - 附近搜索pin就是指定当前的经纬度distance是距离geo_distance是圆

2022-07-01 14:04:10 1486

原创 【分布式系统】-挑战

故障处理(部分失败)、异步网络、时钟同步和共识协调

2022-06-30 19:44:18 151

原创 【分布式系统】-时钟问题

分布式数据库系统中,为了解决不同集群、节点事件发生的先后顺序问题,时钟同步至关重要。物理时钟即机器本地的时钟,而由于设备硬件不同,本身存在偏差,一天的误差可能有毫秒甚至秒级。NTP 是目前比较常用的同步时间的方式。NTP 协议(Network Time Protocol)是用来使计算机时间同步化的一种网络协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS 等等)做同步化,可以提供较高精准度的时间校正。然而,在分布式数据库中采用 NTP 协议对时,仍会存在 100-500ms 的误差。逻辑时钟是于 1

2022-06-30 19:30:03 2013

空空如也

空空如也

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

TA关注的人

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