2016 - 2024

感恩一路有你

微服务和分布式的区别 如何解决网站大规模高并发访问?

浏览量:2845 时间:2021-03-15 03:11:21 作者:admin

如何解决网站大规模高并发访问?

为您提供几个想法:

1。静态网站页面。静态页面是。HTML(。HTM等),不需要由web服务器解析。它只需要生成一次,然后每次直接下载到客户端,效率更高。

2. 网站的web服务器、数据库服务器、图片服务器和文件服务器是分开的。通过服务器的专业化分工,以提高网站的访问速度。因为下载图片和文件时,会给IIS、Apache等服务器带来很大压力。

3. 设置一个特殊的数据缓存服务器。将大量的数据放入缓存数据区,在访问量较小时保存数据,降低连接数据库的直接操作成本。

4. 数据库集群,数据库表哈希。面对大量的访问量,大型网站会出现数据库瓶颈。此时,一个数据库很快就无法满足应用的需要,因此需要使用数据库集群或数据库表哈希来分散压力。

5. 镜像。映像是提高大型网站性能和数据安全性的一种方法。图像技术可以解决不同的网络接入提供商和接入区域所带来的用户接入速度的差异。例如,中国网和教育网的差异促使许多网站在教育网中建立形象网站,数据可以定期或实时更新。

6. 负载平衡。负载均衡将是大型网站解决高负载访问和大量并发请求的高端解决方案。

7. 最新:CDN加速技术。什么是CDN?CDN的全称是content distribution network。其目的是在现有的互联网上增加一层新的网络架构,将网站的内容发布到离用户最近的网络“边缘”,让用户就近获得所需内容,提高用户访问网站的响应速度。CDN不同于image,因为它比image更智能,或者可以用它来比喻:CDN=更智能的image cache流量分流。

支撑日活百万用户的高并发系统,应该如何设计其数据库架构? ?

以MySQL为列:

1:要支持高并发系统,必须涉及事务,所以数据库引擎必须选择InnoDB。InnoDB支持事务,事务级别取决于业务。如果业务数据一致性要求非常高,事务将开启序列化级别,这将完全隔离事务,但会导致对锁资源的竞争加剧。MySQL的性能在一定程度上降低了。

2:数据库分为主数据库和从数据库。主数据库负责写入数据,集群数据库负责读取数据。注意主从数据库的数据一致性。

3:冷热数据分离,美团、饥饿部分设计采用冷热数据分离。以订单为例,出库单的主要业务场景是查询。数据查询越向前,概率越低。这是冷数据。正在交易的订单是热点数据,需要随时查询和更新。冷数据可以放入redis缓存。这将提高查询效率。

4:数据表设计,充分利用索引查询。businesssql避免返回无用的行和列,禁止使用select*query,在查询时增加限制,并尽可能返回满足要求的行。对于复杂的SQL,请考虑拆分SQL。拆分SQL有一个优点。对于重复查询SQL,将第二次查询放入MySQL缓冲区,避免重复磁盘操作,提高访问性能。

5:子数据库和子表。例如,业务数据按月份分类。在一定程度上,增加、删除、修改和检查的压力将得到缓解。

希望对您有所帮助。谢谢您。

微服务和分布式的区别 java解决高并发的几种方法 分布式架构与微服务有啥区别

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。