分布式
迎风追日
8 年软件开发经验,其中 2 年的项目开发负责人经验,擅长 java web 平台的开发,多年云计 算、大数据领域面向教育、公安类 SaaS 应用开发背景;具有较强的业务分析能力,能够快速理解 和分析复杂的业务逻辑;有较强的沟通协作能力,有异地开发经历;有较强的学习能力,且愿意 尝试新技术。
展开
-
Dubbo学习笔记
注册中心宕机情况下,dubbo高可用:1、dubbo客户端可以缓存服务提供者的信息,进行调用2、dubbo配置url进行直连调用原创 2020-04-10 12:12:51 · 195 阅读 · 2 评论 -
简单秒杀功能实现思路
秒杀步骤* 1、发送获取验证码请求,后台生成验证码并写入redis* 2、用户填写验证码,发送检验验证码请求,后台校验成功后创建并返回秒杀专属路径* 3、发送秒杀请求,发送商品id和path,后台验证path,验证是否已经秒杀成功(防止重复下单),并预减库存(内存操作)* 4、发送mq消息* 5、监听mq秒杀消息,校验库存,判断是否已经秒杀成功* 6、减库存,创建订单,将秒杀成功信息...原创 2020-02-23 10:26:40 · 2365 阅读 · 0 评论 -
漫谈Redis 实现分布式锁 以及 Redisson 源码解析
# 产生背景Distributed locks are a very useful primitive in many environments where different processes must operate with shared resources in a mutually exclusive way.在某些场景中,多个进程必须以互斥的方式独占共享资源,这时用分布式...转载 2019-12-07 19:21:29 · 542 阅读 · 0 评论 -
分库分表之后,id主键怎么处理
问:分库分表之后,id 主键如何处理?面试官心理分析其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持。所以这都是你实际生产环境中必须考虑的问题。面试题剖析基于数据库的实现方案数据库自增 id这个就是说你的系统里每次得到一个 id,都是往一个库的一个表里插入一条没...转载 2019-12-07 18:22:21 · 134 阅读 · 0 评论 -
RPC原理介绍和Thrift初探
首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。比如说,一个方法可能是这样定义的: Employee getEmployeeByName(String fullName)那么:首先,要解决通讯的问题,主要是通过在...原创 2018-07-06 11:22:54 · 3461 阅读 · 0 评论 -
《大型分布式网站架构设计与实践》读书笔记
1 面向服务的体系架构(SOA)1.1基于TCP协议的RPC序列化的方式:Protocal Buffers、java自带、Hessian、JSON、XML1.2基于HTTP协议的RPC基于Http协议屏蔽了很多底层繁琐的细节,比较便捷和简单。但是发送请求占用的字节数比TCP协议多,效率低,可以通过gzip压缩缩小差距。总体来说使用HTTP实现RPC更好。1.3服务的路由和负载均...原创 2019-02-23 20:07:33 · 366 阅读 · 0 评论 -
Zookeeper笔记
1、zookeeper 都有哪些功能?集群管理:监控节点存活状态、运行请求等。 主节点选举:主节点挂掉了之后可以从备用的节点开始新一轮选主,主节点选举说的就是这个选举的过程,使用 zookeeper 可以协助完成这个过程。 分布式锁:zookeeper 提供两种锁:独占锁、共享锁。独占锁即一次只能有一个线程使用资源,共享锁是读锁共享,读写互斥,即可以有多线线程同时读同一个资源,如果要使用写...原创 2019-03-06 11:13:35 · 203 阅读 · 0 评论 -
秒杀系统设计要点
1、概述秒杀其实主要解决的是两个问题,一个是并发读,一个是并发写。秒杀系统本质上是一个满足大并发、高性能和高可用的分布式系统。在整个用户请求路径上从浏览器到服务端我们要遵循几个原则:用户请求的数据尽量少,从而减少cpu消耗 请求数尽量少:合并CSS和JavaScript文件 路径尽量短,减少节点消耗:多个强依赖的应用合并部署,简化调用方式 依赖尽量少:高优先级的系统减少对低优先级...原创 2019-03-17 11:34:06 · 446 阅读 · 0 评论 -
分布式笔记
1、实现分布式锁的四种方法:(1)数据库的唯一索引获得锁时向表中插入一条记录,释放锁时删除这条记录。(2)Redis的SETNX指令与数据库唯一索引类似,但是redis可以设置过期时间,用于超时释放。缺点如果redis发生单点故障,则分布式锁无法使用。(3)Redis的RedLock算法使用多个Redis实例来实现分布式锁(4)Zookeeper的有序节点 ...原创 2019-03-30 18:00:58 · 175 阅读 · 0 评论