![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构设计
豆腐花发
哦呜
展开
-
分布式id-数据库实现
mysql数据库,建立一个独立的数据库,对应一个独立的微服务。通过id表和分布式锁实现分布式id。建立一个id表CREATE TABLE `rys_distribute_id` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(64) NOT NULL DEFAULT '' COMMENT 'id名称', `init_value` int(11) NOT NULL DEFAULT '0'原创 2020-07-25 15:46:52 · 350 阅读 · 0 评论 -
入参为字符串用日期对象接收
@PostMapping("/seataTest") public Result seataTest(@RequestBody CreateOrderRequest request) { return openOrderService.seataTest(request); }@Datapublic class CreateOrderRequest...原创 2020-04-02 11:15:05 · 481 阅读 · 0 评论 -
es生成分布式id
雪花算法使用机器id和时间推移,生成19位long型id。在分布式环境下,一台机器部署多个项目,或者docker部署项目,会产生id重复 int count = 100000; CountDownLatch latch = new CountDownLatch(count); Set<Long> set = new HashSet&l...原创 2019-11-12 11:58:26 · 996 阅读 · 0 评论 -
LVS
LVS负载的原理,和Nginx负载有啥区别?笔者回答:这个问题我觉得面试官司没问好,正常都会这么问“LVS有哪些负载均衡技术和调度算法?"。我回答就是按我说的这种问法回答的,反正他也频繁点头,当然,笔者回答的可能没有下面我整理出来的那么详细,大概意思我都说明白了。LVS是Liunx虚拟服务器的简称,利用LVS提供的负载均衡技术和linux操作系统可实现高性能、高可用的服务器集群,一般LVS都是...转载 2019-07-12 14:08:36 · 143 阅读 · 0 评论 -
接口幂等性
接口调用存在的问题 现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能在服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现很久没有反应,那么就会多次点击按钮,这样请求有多次,那么处理数据的结果是否要统一呢?那是肯定的!尤其在支付场景。...原创 2019-06-11 15:53:18 · 40442 阅读 · 4 评论 -
抢红包
要求:对于指定总金额以及红包个数,可以生成不同金额的红包,每个红包金额随机生成。分析这个题目:1.判断账户余额,满足发红包的钱。钱不足,提示充值。2.发红包.输入的参数是红包金额money=10,红包个数count=10.2.1金额乘以100变成整数运算=1000,先减去1分钱=999作为运算红包,防止最后一个分不到钱。2.2随机count=10个运算红包999内...原创 2019-06-10 16:46:53 · 148 阅读 · 0 评论 -
长链接转短链接
早期短链接广泛应用于图片上传网站,通过缩短网址URL链接字数,达到减少代码字符串的目的。常见于网店图片分类的使用,因有字符个数限制,采用短链接可以达到外链图片的目的。自微博盛行以来,在微博字数有限的特色下,短链接也盛行于微博网站,以节省字数给博主发布更多文字的空间。问题描述:设计一个短链生成和查询系统,需要提供以下两个功能:1、提供长链转换短链的接口2、点击短链能跳转到对应的长链题目要求:...原创 2019-05-29 14:32:01 · 2446 阅读 · 0 评论 -
单点登录
以Cookie作为凭证媒介最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。用户登录父应用之后,应用返回一个加密的cookie,当用户访问子应用的时候,携带上这个cookie,授权应用解密cookie并进行校验,校验通过则登录当前用户。不难发现以上方式把信任存储在客户端的Cookie中,这种方式很容易令人质疑:Cookie不安全不能跨域实现免登对于第一个问题,通过加...转载 2019-02-25 16:28:12 · 133 阅读 · 0 评论 -
架构
RESTful是一种架构的规范与约束、原则,符合这种规范的架构就是RESTful架构。先看REST是什么意思,英文Representational state transfer 表述性状态转移 其实就是对 资源 的表述性状态转移。1.通过URL来表示资源资源分为主资源与子资源因为主资源是一类独立的资源 所以主资源应直接放在相对路径下:例如若要表示主资源的实例:如果实例的ID=1,则这样表...原创 2019-05-05 10:45:57 · 125 阅读 · 0 评论 -
分布式锁
分布式锁setnx和get,getset三个方法setnx成功,加锁成功setnx失败,get锁的过期时间与当前时间比较,如果锁过期了,getset设置锁的新的过期时间,返回旧的过期时间。如果两个过期时间相等,加锁成功如果失败,150毫秒后重试,最多10秒还失败,就加锁失败del释放锁while (timeout >= 0) { String expir...原创 2019-02-24 20:38:04 · 75 阅读 · 0 评论 -
秒杀系统
场景特点秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增。秒杀一般是访问请求数量远远大于库存数量,只有少部分用户能够秒杀成功。秒杀业务流程比较简单,一般就是下订单减库存。设计理念限流: 鉴于只有少部分用户能够秒杀成功,所以要限制大部分流量,只允许少部分流量进入服务后端。削峰:对于秒杀系统瞬时会有大量用户涌入,所以在抢购一开始会有很高的瞬间峰值。高峰值流量是压垮系统很重要的原...原创 2019-05-04 17:06:19 · 114 阅读 · 0 评论