业务驱动技术的发展是亘古不变的道理。最开始的时候,业务量少,业务复杂度低,采取的技术也相对简单,基本满足用户对功能的需求。随着IT信息化的普及,更多的交易放到了网络上,信息量增加和访问次数频繁就是要解决的问题了。因此,逐渐加入了缓存、集群等技术手段。同时对业务的扩展性和伸缩性的要求也越来越高。高并发、高可用、可伸缩、可扩展、够安全的软件架构一直是架构设计追求的目标。今天我们来看一下架构设计经历了哪些阶段,每个阶段都解决了哪些问题,又引出了哪些新问题。主要是引起大家的思考,在不同的业务发展阶段采取合适技术手段,用变化拥抱变化是IT人追求的目标。
分类:
其他好文 时间:
2020-03-09 13:29:39
阅读次数:
46
升级过程为:最初系统——添加负载均衡——数据库分库分表+读写分离——缓存集群+消息中间件集群 1、最初系统 假设系统机器是4核8G,数据库服务器是16核32G。日活用户1W,系统层面每秒10次请求,数据库层每秒30次请求。 2、添加负载均衡 用户量增长了50倍,日活用户50万,高峰期对系统每秒请求5 ...
分类:
其他好文 时间:
2019-09-20 23:10:36
阅读次数:
131
和所有服务器都部署相同应用的应用服务器集群不同,分布式缓存服务器集群中不同的服务器中缓存的数据各不相同,缓存访问请求不可以在缓存服务器集群中的任意一台处理,必须先找到缓存有需要数据的服务器,然后才能访问。 这个特点制约了分布式缓存集群的伸缩性设计,因为新上线的缓存服务器没有缓存任何数据,而已下线的缓 ...
分类:
Web程序 时间:
2019-09-17 22:41:30
阅读次数:
137
使用缓存集群的时候,最怕的就是热key、大value这两种问题。热key问题,指的就是缓存集群中的某个key在瞬间被数万甚至十万的并发请求打爆。大value问题,指的是某个key对应的value可能有gb级别的大小,导致查询value的时候会引发网络相关的故障问题。这里说一下热key问题。 为什么要 ...
分类:
其他好文 时间:
2019-07-07 09:35:23
阅读次数:
91
一、Redis集群介绍 Redis真的是一个优秀的技术,它是一种key-value形式的NoSQL内存数据库,由ANSI C编写,遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis最大的特性是它会将所有数据都放在内存中,所以读写速度 ...
分类:
Web程序 时间:
2019-07-01 10:42:46
阅读次数:
162
产生背景 1、随着业务和数据量的增长、单机服务器已无法支撑2、数据库的主从复制、读写分离3、分库分表、水平拆分、垂直拆分、缓存、集群易扩展大数据量性能(基于内存)4、NoSql应运而生 特点 大数据量性能(基于内存) 灵活的数据模型结构 关系型数据库 VS NOSQL 5、NoSql的四大分类 键值 ...
分类:
数据库 时间:
2019-05-31 13:35:48
阅读次数:
120
在集群中,假设有五台服务器,他们之间的地位相同(主备模式不是我们要讨论的内容),都对外提供服务。当浏览器大量请求到达时,如何决定哪个请求到达哪个服务器上,这就是我们这次讨论的核心内容。 负载均衡的策略分为应用服务器和分布式缓存集群两种适应场景。 为什么这么分呢?简单的说,应用服务器只需要转发请求就可 ...
分类:
编程语言 时间:
2019-03-14 16:42:47
阅读次数:
167
缓存里放的是一些平时不怎么变动的数据,当用户查询时,可以直接从缓存里查询。缓存集群的并发能力是很强的,而且读缓存的性能是很高的,缓存其实在系统架构里是非常重要的组成部分。很多时候,对于那些很少变化但是大量高并发读的数据,通过缓存集群来抗高并发读,是非常合适的。 但是在使用过程中,会出现热点缓存问题, ...
分类:
其他好文 时间:
2019-03-13 21:43:43
阅读次数:
238
一、背景 redis慢日志分析平台上线后,随便看了一下,发现onestore使用的缓存集群,存在大量的EXISTS命令慢查询的情况: 平均每个EXISTS命令需要13ms,最大耗时近20ms。这个结果很不科学啊,EXISTS命令只是执行一次hash查找操作,应该是us级别。 和相关同学了解业务背景如 ...
分类:
其他好文 时间:
2018-07-20 16:51:44
阅读次数:
380
第1章缓存数据库Memcache1.1为什么用缓存数据库1.2Memcached介绍1.3Memcached在企业中使用场景1.3.1应用场景一1.3.2应用场景二1.4Cookies和Session1.5Memcached分布式缓存集群1.5.1普通哈希算法1.5.2一致性哈希算法第2章安装Memcached2.1服务端配置(Memcached)服务端环境[root@cache01~]#cat/
分类:
数据库 时间:
2018-03-15 21:01:19
阅读次数:
254