欢迎光临带式输送机网站,我们是进行标准化生产出售

带式输送机生产厂家_煤矿带式传动装置_标准矿用倾角输送带
带式输送机

提供各行各业全方位的生产设备服务

[dsj80皮带机是可伸缩的马]后端结构高可伸缩

作者:jcmp      发布时间:2021-04-22      浏览量:4
去年参加了技术共享活动,七牛的技术简要介

去年参加了技术共享活动,七牛的技术简要介绍了高可伸缩的经验,听了之后受益匪浅,整理了以下几个部分。

入口层高可以使用

业务层高可以使用

缓存层高可以使用

数据库高可以使用

入口层可以伸缩/p>业务层可以伸缩/p>

业务层高可以使用

缓存层高可以使用

数据库高可以使用

数据库高可以使用

下一层可以使用。

入口层高可以使用

nigix两个keeplive保持活跃。

使用心跳技术:keeplive提供该技术

例如,机械APIP为1.2.3.4,机械BIP为1.2.3.5,再申请一个IP(1.2.3.6)我们称之为心跳IP

DNS层与心跳IP结合即可

两台机器必须在同一网络段

服务监听必须监听所有IP。只监听心跳IP,从机器服务(没有心跳IP的机器)就会失败。

服务器利用率下降(混合配置可以改善)

考虑一个问题,两台机器,两台公共网络IP,DNS同时将域名定位为两个IP,这是否高?

客户端(如浏览器)分析结束后,不是随机选择IP访问,而是失败后再去别的地方。因此,如果一台机器成为机器的话,一半左右的用户不能访问。

业务层高可用

业务层不得有状态,状态分散到缓存层和数据库层。如果没有状态,业务层的服务死亡后,前面的nginx会自动将流量转移到剩下的服务上。因此,业务层没有状态是关键。

友谊注意:不要因为服务没有状态而直接使用cookiesession,最好考察后使用。例如,再次攻击。

缓存层高可以用

缓存层细分,保证单台缓存停机后数据库能够支撑。

中小型下缓存层和业务层可以混合配置,这样可以节省机器

大型网站,业务层和缓存层可以分别配置。

缓存层高可用,缓存可启用主从两台,主缓存活着时,主缓存读,主从缓存写,主缓存停机后,由变主,主恢复后,变成新的从。这样可以保证数据的完整性,实现高可用性。

数据库的高度可以使用

MySQL有主模式,有主模式可以满足你的需求

MongoDB也有ReplicaSet的概念,基本上可以满足大家的需求。

高可用小结

入口层可伸缩

入口层如何提供伸缩性?直接铺设机器吗?DNS和IP可以吗?

虽然可以,但也有需要注意的地方

尽管域名分析了数十个IP没有问题,但浏览器的客户端只使用前几个IP,一些域名供应商优化(例如每次返回的IP顺序随机返回),但这个优化效果不稳定推荐的方法是使用少量的nginx机器进入,业务服务器隐藏在内部网络(HTTP类型的业务)。

业务层可伸缩

和应对高一样,保证没有状态是个好手段。加入机器继续水平配置即可。

缓存层可伸缩

直接使用codis或redis3.0即可

如果在高峰期间数据库能够抵抗的住宅,直接离线存储,进行新的缓存是最简单有效的方法。

缓存类型

强一致性缓存:不能从缓存中读取错误的数据(例如用户馀额)。

弱一致性缓存:在一段时间内可以接受错误的数据。例如,微博转发数

不变形缓存:缓存key对应的value不变更

弱一致性和不变形缓存扩展方便,使用一致性HASH即可

一致性HASH

一致性HASH有效有效地解决这个问题,一致性哈希算法保持单调性的同时,数据的转移最小。这种算法非常适合分布式集团,避免了大量的数据转移,减少了服务器的压力。

举个例子

缓存从9台扩展到10台的话,简单的Hash中90%的缓存很快就会失效,一致的Hash只有10%的缓存会失效。

强一致缓存问题

1.缓存客户端的配置更新时间有微小的差异,这个时间窗内可能会得到逾期数据。

2.扩展节点后,切断节点,就会得到脏数据。例如,a这个key以前是机器1,扩容后是机器2,数据更新了,但是切断节点后key回到机器1的话,会有污垢的数据问题。

问题2的解决方法:不减少节点,或者节点调整间隔大于数据的有效时间。

问题的解决方法:

-两套hash配置已更新为客户端,但仍使用旧配置

-如果两个客户端只有两套hash结果一致,则使用缓存,其馀情况由数据库阅读,但写入缓存

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------户---------------------------------------------------------------------------------------------------------------

数据库可伸缩

水平分割

垂直分割

定期滚动