高并发与分布式
文章平均质量分 68
ldh_lyf
这个作者很懒,什么都没留下…
展开
-
Quartz-Cluster配置属性配置
1、主要配置属性名称 是否必选 类型 默认值 说明 org.quartz.scheduler.instanceName 否 String QuartzScheduler Schedule调度器的实体名字 org.quartz.scheduler.instanceId 否 String NON_CLUSTERED S...原创 2020-03-20 19:24:35 · 983 阅读 · 0 评论 -
Dubbo常用配置内容
多版本支持版本号会在解析配置文件的时候,把版本拼接到url后面<dubbo:service interface="com.lyf.dubbo.IHello" ref="demoService" protocol="dubbo" version="1.0.1" timeout="100"/>主机绑定1.NetUtils.i...原创 2020-03-03 15:22:24 · 173 阅读 · 0 评论 -
zookeeper之watcher分析
Zookeeper的Watcher机制,总的来说可以分为三个过程:客户端注册Watcher、服务器处理Watcher、和客户端回调Watcher。客户端注册watcher有三种方式,getData、exists、getChildren;如何触发事件? 凡是事务类型的操作,都会触发监听事件。create /delete /setDatawatcher事件类型:None (-1) ...原创 2020-03-03 14:54:21 · 178 阅读 · 0 评论 -
GRPC入门和基础知识
GRPC是google开源的一个高性能、跨语言的RPC框架,基于HTTP2协议,基于protobuf 3.x,基于Netty 4.x +。GRPC使用protobuf序列化协议,基于protobuf来声明数据模型和RPC接口服务。RPC流程图1、服务调用方(Client)将远程方法的信息(如类名、方法方法名、方法传入的参数)封装为统一的请求体;2、序列化请求对象,转化为二进制...原创 2019-10-24 11:27:51 · 1403 阅读 · 0 评论 -
全局唯一id生成器----Vesta
引入依赖: <dependency> <groupId>com.robert.vesta</groupId> <artifactId>vesta-service</artifactId> <version>0.0.1</version> </dependency> &l...原创 2019-07-09 16:05:25 · 2684 阅读 · 0 评论 -
全局唯一id生成器----UidGenerator
UidGenerator :UidGenerator 由百度开发,是Java实现的, 基于 Snowflake算法的唯一ID生成器。UidGenerator以组件形式工作在应用项目中, 支持自定义workerId位数和初始化策略, 从而适用于 docker等虚拟化环境下实例自动重启、漂移等场景。需要自己根源源码达成jar包,源码地址:https://github.com/baidu/uid...原创 2019-07-09 15:53:54 · 2659 阅读 · 0 评论 -
dubbo
Dubbo:分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,有服务提供方,服务消费方,注册中心(zookeeper 3;2181),还有个检测对象优化:超时,直接连接,启动不检查Dubbo和spring整合服务提供方: <!-- :此服务起个名称 --> <dubbo:application name="ser...原创 2017-08-29 20:13:16 · 219 阅读 · 0 评论 -
单点登录
一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必...原创 2017-09-05 20:12:22 · 254 阅读 · 0 评论 -
java并发限流策略
令牌桶算法:令牌桶算法的原理是系统会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务。 当桶满时,新添加的令牌被丢弃或拒绝。利用谷歌开源的GuavaRateLimiter 提供了令牌桶算法可用于平滑突发限流策略。public class RateLimiterDemo { public static v...原创 2019-09-04 16:05:40 · 201 阅读 · 0 评论 -
id生成器Twitter_Snowflake
UniqueGenerate类:** * Twitter_Snowflake<br> * SnowFlake的结构如下(每部分用-分开):<br> * 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 <br> * 1位标识,由于lon...原创 2019-07-31 17:35:30 · 1942 阅读 · 0 评论 -
Redis和请求队列解决高并发
准备工作,查询商品信息,将剩余数量同步到redis中Jedis jedis = jedisPool.getResource();BuyGood good=buyGoodService.getById(good_id);jedis.set("residue"+good_id, good.getResidue()+"");jedisPool.returnResource(jedis);...原创 2019-06-04 16:34:49 · 5428 阅读 · 0 评论 -
数据库锁
select * from user where username='zhangsna' for update 行锁select * from user where username in ('zhangsna','lisi') for update 页锁select * from user for update 表锁select * from user where usernam...原创 2020-03-02 17:12:21 · 190 阅读 · 1 评论 -
BloomFilter——大规模数据处理利器
Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。 一. 实例 为了说明Bloom Filter存在的重要意义,举一个实例: 假设要你写一个网络蜘蛛(web crawler)。由于网络间的链接错综复杂,蜘蛛在网络间爬行很可能会形成“环”。为了避免形成“环...原创 2018-09-15 16:07:01 · 193 阅读 · 0 评论 -
Java的Executor框架和线程池实现原理
一,Java的Executor框架1,Executor接口public interface Executor { void execute(Runnable command);}Executor接口是Executor框架中最基础的部分,定义了一个用于执行Runnable的execute方法,它没有实现类只有另一个重要的子接口ExecutorService2,Execu...原创 2018-11-07 16:54:55 · 129 阅读 · 0 评论 -
http://ifeve.com/disruptor-getting-started/
http://ifeve.com/disruptor-getting-started/原创 2018-12-09 19:35:51 · 1057 阅读 · 1 评论