![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
文章平均质量分 94
_吹雪_
这个作者很懒,什么都没留下…
展开
-
分布式锁的几种实现方式
一、为什么要使用分布式锁为了保证一个方法或属性在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLock或Synchronized)进行互斥控制。但是,随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效...原创 2018-06-17 12:30:22 · 538 阅读 · 0 评论 -
HSF学习总结
HSF其实是一个RPC框架,RPC是Remote Procedure Call,就是远程服务调用.这个功能为什么要写个框架而不是十几行代码呢,因为在分布式场景下并不是这种点对点通讯的模式。rpc要素:where how地址:注册中心ConfigServer, 这个中心用来管理整个分布式集群里所有的服务对应服务提供者ip的对应关系,这玩意是不能写在配置文件里的,在分布式场景下扩容、缩容机器i...原创 2018-10-12 19:56:59 · 3148 阅读 · 0 评论 -
TDDL思考总结
单机数据库分布式数据库TDDL原理与最佳实践1. 数据库的结构1.1. KV存储(id是K)1.2. B+树与红黑树B+树的特点是叶子节点是块状,一个叶子里面有多个数据,相邻数据是存在一起的,123,456起等,而磁盘也是按块的,B+树的数据是按块存储的正好和磁盘的块的概念是相符的,所以在数据库里面大多采用了B+树或者类似的一种结构来存储数据。在java中实现treemap时选择...原创 2018-10-12 19:55:55 · 596 阅读 · 0 评论 -
Java接口限流小结
1. 引子在高并发系统开发时有时候需要进行接口保护,防止高并发的情况把系统搞崩,因此需要对一个查询接口进行限流,主要的目的就是限制单位时间内请求此查询的次数,例如 1000 次,来保护接口。2. Semaphoreprivate static Semaphore apiSemaphore = new Semaphore(100);// 并发访问控制boolean conc...原创 2018-06-27 23:42:39 · 1951 阅读 · 0 评论 -
Java序列化工具对比
1. Java序列化工具技术原理比较Binary Formats & language-specific ones JavaBuiltIn(java原生)、JavaManual(根据成员变量类型,手工写)、FstSerliazation、KryoBinary formats-generic language-unspecific ones Protobuf(Google)、Th...原创 2018-07-04 08:17:15 · 4573 阅读 · 0 评论 -
RPC原理简介
1 如何调用他人的远程服务?由于各服务部署在不同机器,服务间的调用免不了网络通信过程,服务消费方每调用一个服务都要写一坨网络通信相关的代码,不仅复杂而且极易出错。 如果有一种方式能让我们像调用本地服务一样调用远程服务,而让调用者对网络通信这些细节透明,那么将大大提高生产力,比如服务消费方在执行helloWorldService.sayHello(“test”)时,实质上调用的是远端的服务...原创 2018-07-04 22:52:40 · 1242 阅读 · 1 评论 -
Java接口限流算法
0. 前言常见的限流算法有:令牌桶、漏桶。计数器也可以进行粗暴限流实现。1. 算法介绍1.1 令牌桶算法令牌桶算法是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。令牌桶算法的描述如下: * 假设限制2r/s,则按照500毫秒的固定速率往桶中添加令牌; * 桶中最多存放b个令牌,当桶满时,新添加的令牌被丢弃或拒绝; * 当一个n个字节大小的数据包到达,将从桶中删...原创 2018-07-20 08:39:55 · 2785 阅读 · 0 评论 -
服务容错模式
0.背景随着服务框架和服务治理体系的逐步成熟,服务化已成为系统设计的趋势。随着业务复杂度的增加,依赖的服务也逐步增加,出现了不少由于服务调用出现异常问题而导致的重大事故,如: 1)系统依赖的某个服务发生延迟或者故障,数秒内导致所有应用资源(线程,队列等)被耗尽,造成所谓的雪崩效应 (Cascading Failure),导致整个系统拒绝对外提供服务。 2)系统遭受恶意爬虫袭击,在放大效应下...转载 2018-08-05 17:33:25 · 692 阅读 · 0 评论 -
集群session一致性和同步问题
一. 何为session用户使用网站的服务,基本上需要浏览器和web服务器进行多次交互,web服务器如何知道哪些请求是来自哪个会话的?具体方式为:在会话开始时,分配一个唯一的会话标识(sessionId),通过cookie把这个标识告诉浏览器,以后每次请求的时候,浏览器都会带上这个会话标识来告诉web服务器请求是属于哪个会话的。如果遇到禁用cookie的情况,一般的做法就是把这个会话标识放...转载 2017-02-18 12:22:01 · 1377 阅读 · 0 评论