2016 - 2024

感恩一路有你

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

浏览量:2885 时间:2021-04-05 16:52:19 作者:admin

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

以MySQL为列:

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

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

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

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

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

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

有多少互联网系统确实需要使用分布式架构?

更不用说互联网的实际发展了,现在即使是面试新生,分布式的问题基本上都是不可避免的。

目前,分布式体系结构具有高并发性和高稳定性的特点。

高并发意味着当单节点服务器的性能达到瓶颈时,可以通过引入nginx和部署多个服务器节点来扩展,以增加系统的吞吐量。这就是1*n=n的意思。

高稳定性意味着,如果单个或部分节点由于不可预知的原因发生故障,则不会影响系统的整体功能服务,即M-N>0(M>N)。对于用户来说,系统可用性始终是最重要的。

综上所述,根据我个人的经验,目前无论是市场级产品还是公司级产品,只要项目团队有对服务质量的追求,他们都会以不同的方式向分布式架构发展。

另外,对于一个功能不是很复杂和庞大的项目组来说,只要在开发设计阶段一开始就及时引入Memcache或redis作为数据缓存,而不是使用服务器的内存,后期切换到分布式系统的过程就会非常快。

以上是我个人的观点。欢迎在下面的评论区与我交流。

我是苏思亮,来自bat的java开发工程师。我每天分享科技知识。欢迎您关注我,与我共同进步。

普通公司员工的编程水平与阿里巴巴有多大差距?

作为一名从事编程工作十多年的老程序员,虽然从未在阿里巴巴工作过,但他在跳槽时拒绝了百度和腾讯的邀请,选择了一家更适合自己的互联网公司。他的编程水平的主要决定因素是他有一个良好的环境来培养他的基本技能。日前,他回答了一个问题,即哪个公司的编码水平高还是低,对于大公司还是小公司来说都有外部因素,但主要还是自己的。他们没有决心提高自己的编码水平。不管外部环境有多好,都没有多大意义。

由于阿里巴巴等大公司的全方位安排,提交代码通常需要得到领导的批准,这样可以在一定程度上大大提高代码的质量。审计机制将更加严格,测试控制也将更加严格。普通的小公司在人员配备上可能会少一点,控制也会在一定程度上差一点,严格规范的制度可以促进程序员更深层次的提高,但实质上是他们是否想做得更好,是否想提高得更快。

事实上,说到阿里巴巴这样的大公司,主要是人们的心态问题。他们认为大公司必须比小公司更标准化。那些经历过大公司的人仍然认为他们只是其中的一个螺丝钉。他们还想去小公司,让他们玩得更彻底。小公司的人渴望大公司的待遇和标准化。就像未婚的人一样,他们总是想进入被围困的城市,他们羡慕未婚者的自由。其实,来回是一回事。

有一次,为了进入一家大公司,我放弃了一家中型公司的技术经理职位。现在,这不值得想象。当我进入一家成熟的大公司时,我的贡献只是沧海一粟。很难上去,真正的机会还在初创公司或中小企业。当然,这些东西需要亲身经历,当你年轻充满活力的时候,你会觉得很难欣赏。你只是觉得自己做出了正确的选择和实践,把真理和知识区别开来。

我希望我能帮助你。

200并发算高的了吗 多少并发算高并发 高并发解决方案

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