- 博客(6)
- 收藏
- 关注
转载 如何设计业务系统的可扩展性
对于业务系统本身在架构设计的时候考虑扩展,原来更多的都是谈的 IT 基础技术架构本身的高可用性和高扩展性。而对于业务系统扩展性,简单来说就是如何灵活的应对需求的变化和扩展,如何减少在处理变更或扩展中代码不断产生的坏味道。 说到扩展性,一般会谈到数据库扩展性和应用扩展性两个方面的内容,当然很多应用的扩展性最终会反馈到数据库本身的扩展性上面来。而对于应用本身的扩展性本身又包括了数据模型的扩展,接口的扩展,业务规则的扩展,流程的扩展几个方面的内容,下面分别对上面内容进行描述。 1.数据库设计的扩展性 对于.
2021-01-29 21:44:10 1553
转载 秒杀系统设计思路
秒杀系统相信很多人见过,比如京东或者淘宝的秒杀,小米手机的秒杀。 那么秒杀系统的后台是如何实现的呢?我们如何设计一个秒杀系统呢?对于秒杀系统应该考虑哪些问题?如何设计出健壮的秒杀系统?本期我们就来探讨一下这个问题: 目录 一:秒杀系统应该考虑的问题 二:秒杀系统的设计和技术方案 三:系统架构图 四:总结 一:秒杀应该考虑哪些问题 1.1:超卖问题 分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低,如果..
2021-01-29 21:13:45 4547
转载 为什么要分库分表
在文章开头先抛几个问题: (1)什么时候才需要分库分表呢?我们的评判标准是什么? (2)一张表存储了多少数据的时候,才需要考虑分库分表? (3)数据增长速度很快,每天产生多少数据,才需要考虑做分库分表? 这些问题你都搞清楚了吗?相信看完这篇文章会有答案。 为什么要分库分表? 首先回答一下为什么要分库分表,答案很简单:数据库出现性能瓶颈。用大白话来说就是数据库快扛不住了。 数据库出现性能瓶颈,对外表现有几个方面: 大量请求阻塞 在高并发场景下,大量请求都需要操作数据库,导致连接数不够了
2021-01-29 20:39:35 99
转载 缓存与数据库一致性如何解决?先操作数据库,还是缓存?
当我们在做数据库与缓存数据同步时,究竟更新缓存,还是删除缓存,究竟是先操作数据库,还是先操作缓存?本文带大家深度分析数据库与缓存的双写问题,以供大家参考。 本篇文章主要内容 数据缓存 为何要使用缓存 哪类数据适合缓存 缓存的利与弊 如何保证缓存和数据库一致性 不更新缓存,而是删除缓存 先操作缓存,还是先操作数据库 非要保证数据库和缓存数据强一致该怎么办 缓存和数据库一致性实战
2021-01-27 23:02:39 498
转载 一次搞懂 Runnable、Callable、Future、FutureTask
一般创建线程只有两种方式,一种是继承Thread,一种是实现Runnable接口。但是这两种创建方式有一个致命的缺点就是没有返回值,没返回值就让人很苦恼了啊。得用共享变量或者其他通信方式才能得到线程处理完的结果,就有点麻烦。 还有一般不提倡使用继承Thread来创建线程方式,因为Java只有单继承,不能继承多个。但是Runnable是接口,所以可以让你的实现类同时实现多个接口。而且之后要上线程池,如果之前你是用Runnable来实现的,那就可以直接传入Runnable给线程池进行管理了! 在Java1.
2021-01-26 21:42:40 586
转载 CountDownLatch 用法和源码
一文搞懂 CountDownLatch 用法和源码! CountDownLatch是多线程控制的一种工具,它被称为门阀、计数器或者闭锁。这个工具经常用来用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。下面我们就来一起认识一下 CountDownLatch 认识 CountDownLatch CountDownLatch 能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。它相当于是一个计数器,这个计数器的初始值就是线程的数量,每当一个任务完成后,计...
2021-01-25 22:35:46 102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人