随笔分类 -  系统设计

摘要:前言 当业务中遇到树形结构时,比如菜单,省市区,部门等时如何设计数据库。一种设计可以通过每个字段带有parent id 来递归获取所有的节点 ,也可以通过另一种方法来获取某个节点的子节点 使用level记录当前节点的父节点code 添加一个辅助的varchar字段level,字段的逻辑是多个部门的i 阅读全文
posted @ 2021-04-01 16:41 胖大星- 阅读(834) 评论(0) 推荐(0)
摘要:前言 延时任务介绍: 比如你在某宝上下了一个订单,却没有支付,过了半个小时后这个订单自动取消了。 设计思路比较方法可以通过性能,能否持久化,拓展分布式等。当然要根据你的业务来。 1. 基于数据库轮训 此方案很easy,即将延时任务存进数据库的表中,然后通过一个线程定时的去扫描数据库,不断的将任务的触 阅读全文
posted @ 2021-02-05 13:53 胖大星- 阅读(247) 评论(0) 推荐(0)
摘要:前言 延时任务介绍: 比如你在某宝上下了一个订单,却没有支付,过了半个小时后这个订单自动取消了。 设计思路比较方法可以通过性能,能否持久化,拓展分布式等。当然要根据你的业务来。 1. 基于数据库轮训 此方案很easy,即将延时任务存进数据库的表中,然后通过一个线程定时的去扫描数据库,不断的将任务的触 阅读全文
posted @ 2020-09-20 21:00 胖大星- 阅读(215) 评论(0) 推荐(0)
摘要:前言 短链接的实现在生活中比较常见,比如我们接受到的广告短信,短信会包含他们的活动链接。这个链接是进行压缩过的,比较短。这样既美观也能满足字数的限制,比如短信中某个字段需要在多少字符以内。 短链跳转的基本原理 用户访问短链地址然后重定向到原来的地址。 在HTTP协议中,30X状态代表的是重定向的状态 阅读全文
posted @ 2020-08-16 23:27 胖大星- 阅读(1936) 评论(0) 推荐(4)
摘要:前言 目前软件的更新迭代意味更频繁的部署,更加频繁也意味着已经部署的代码会对站点可用性和客户体验带来负面影响。这就是制定代码部署策略如此重要的原因,因为它可以最大限度的降低产品和客户的风险。 那么如何不停机部署?常见的部署方式有那些? 1. 部署方式 1.1 大爆炸部署 顾名思义,停机更新。"大爆炸 阅读全文
posted @ 2020-07-14 23:31 胖大星- 阅读(417) 评论(0) 推荐(0)
摘要:前言 为何需要并发知识?并发不单单是指在客户端请求大,或者内部数据多流量大,都可看为并发。 并发的架构及落地需与业务相结合,业务下是读多还是写多。写多的情况下,是个人写多(锁的粒度小),还是公共写多(锁的粒度大)。淘宝的双11、春运时的抢票、微博大V的热点新闻,秒杀业务等。 那么并发大是指多大并发呢 阅读全文
posted @ 2020-07-13 08:33 胖大星- 阅读(475) 评论(0) 推荐(0)
摘要:前言 系统的业务中,网页需要弹窗"报警信息"。前端获取数据的方式通过轮询调后端接口。也考虑过WebSocket 的方式,但好像兼容性不太好。现在发现还有其他更优的方式,在此记录一下。 网页端收服务端的消息的方式 一、轮询拉取 客户端间隔的发送ajax请求服务器的数据。 + 优点:实现简单 + 缺点: 阅读全文
posted @ 2020-02-27 15:04 胖大星- 阅读(1862) 评论(0) 推荐(0)