摘要: 一、可靠传输 本篇文章主要讲 RabbitMQ 如何保证消息的可靠传输,所以在讲RabbitMQ的实现之前,我们需要先来搞懂一个问题,就是什么是消息的可靠传输。 在 RabbitMQ 中,一个消息从产生到被消费大致需要经过三个步骤,即生产者生产消息,消息投递到 RabbitMQ,RabbitMQ 再 阅读全文
posted @ 2020-12-08 12:30 周二鸭 阅读(638) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ是一个流行的开源消息队列系统,是AMQP(高级消息队列协议)标准的实现,由以高性能、健壮、可伸缩性出名的Erlang语言开发,并继承了这些优点。业界有较多项目使用RabbitMQ,包括OpenStack、Spring、Logstash等。 阅读全文
posted @ 2020-12-05 22:49 周二鸭 阅读(2012) 评论(0) 推荐(1) 编辑
摘要: 在高并发的分布式系统,如大型电商系统中,由于接口 API 无法控制上游调用方的行为,因此当瞬间请求量突增时,会导致服务器占用过多资源,发生响应速度降低、超时乃至宕机,甚至引发雪崩造成整个系统不可用...... 阅读全文
posted @ 2020-12-01 01:08 周二鸭 阅读(1705) 评论(0) 推荐(0) 编辑
摘要: BIO实现一个服务器 为了更好的演示BIO与NIO之间的区别,我们先用一个服务器示例来了解一个BIO实现网络通行的过程。 单线程下的BIO服务器 服务端 public class BioServer { public static void main(String[] args) throws IO 阅读全文
posted @ 2020-11-27 00:19 周二鸭 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 前言 Synchronized 是常被我们用来保证临界区以及临界资源安全的解决方案。它可以保证当有多个线程访问同一段代码,操作共享数据时,其他线程必须等待正在操作线程完成数据处理后再进行访问。即 Synchronized 可以达到线程互斥访问的目的。 所以,我们可以了解到,Synchronized锁 阅读全文
posted @ 2020-11-22 22:42 周二鸭 阅读(1798) 评论(0) 推荐(0) 编辑
摘要: 在数据挖掘中,聚类是一个很重要的概念。传统的聚类分析计算方法主要有如下几种:划分方法、层次方法、基于密度的方法、基于网格的方法、基于模型的方法等。其中K-Means算法是划分方法中的一个经典的算法。 阅读全文
posted @ 2020-11-22 00:57 周二鸭 阅读(1686) 评论(0) 推荐(0) 编辑
摘要: 我们可以简单将锁分为两种——内存级锁以及分布式锁,内存级锁即我们在 Java 中的 synchronized 关键字(或许加上进程级锁修饰更恰当些),而分布式锁则是应用在分布式系统中的一种锁机制。 阅读全文
posted @ 2020-11-20 00:30 周二鸭 阅读(8645) 评论(2) 推荐(12) 编辑
摘要: 所谓负载均衡就是将外部发送过来的请求均匀或者根据某种算法分配到对称结构中的某一台服务器中。负载均衡可以分为硬件负载均衡和软件负载均衡,常见的硬件负载均衡有F5、Array等,但是这些设备都比较昂贵。相比之下,利用软件来实现负载均衡就比较简单了,常见的像是 Nginx 的反向代理负载均衡。 阅读全文
posted @ 2020-11-17 22:58 周二鸭 阅读(3133) 评论(0) 推荐(2) 编辑
摘要: 锁是计算机用以协调多个进程间并发访问同一共享资源的一种机制。MySQL中为了保证数据访问的一致性与有效性等功能,实现了锁机制,MySQL中的锁是在服务器层或者存储引擎层实现的。 阅读全文
posted @ 2020-11-15 22:14 周二鸭 阅读(8991) 评论(5) 推荐(11) 编辑
摘要: 对于 final 域,编译器和处理器要遵守两个重排序规则。 1)在构造函数内对一个 final 域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序; 2)初次读一个包含 final 域的对象的引用,与随后初次读这个 final 域,这两个操作之间不能重排序。 阅读全文
posted @ 2020-11-13 19:39 周二鸭 阅读(484) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示