• 关于

    时间数据库常见故障

    的搜索结果

问题

阿里云数据库迁移方案-不间断业务

oracledbawyq 2019-12-01 21:13:55 19795 浏览量 回答数 1

回答

Redis常见的几种主要使用方式: Redis 单副本 Redis 多副本(主从) Redis Sentinel(哨兵) Redis Cluster(集群) Redis 自研 Redis各种使用方式的优缺点: 1 Redis单副本 Redis各种使用方式的优缺点: Redis 多副本,采用主从(replication)部署结构,相较于单副本而言最大的特点就是主从实例间数据实时同步,并且提供数据持久化和备份策略。主从实例部署在不同的物理服务器上,根据公司的基础环境配置,可以实现同时对外提供服务和读写分离策略。 优点: 1、高可靠性,一方面,采用双机主备架构,能够在主库出现故障时自动进行主备切换,从库提升为主库提供服务,保证服务平稳运行。另一方面,开启数据持久化功能和配置合理的备份策略,能有效的解决数据误操作和数据异常丢失的问题。 2、读写分离策略,从节点可以扩展主库节点的读能力,有效应对大并发量的读操作。 缺点: 1、故障恢复复杂,如果没有RedisHA系统(需要开发),当主库节点出现故障时,需要手动将一个从节点晋升为主节点,同时需要通知业务方变更配置,并且需要让其他从库节点去复制新主库节点,整个过程需要人为干预,比较繁琐。 2、主库的写能力受到单机的限制,可以考虑分片 3、主库的存储能力受到单机的限制,可以考虑Pika 4、原生复制的弊端在早期的版本也会比较突出,如:Redis复制中断后,Slave会发起psync,此时如果同步不成功,则会进行全量同步,主库执行全量备份的同时可能会造成毫秒或秒级的卡顿;又由于COW机制,导致极端情况下的主库内存溢出,程序异常退出或宕机;主库节点生成备份文件导致服务器磁盘IO和CPU(压缩)资源消耗;发送数GB大小的备份文件导致服务器出口带宽暴增,阻塞请求。建议升级到最新版本。 使用场景 对 Redis 协议兼容性要求较高的业务 标准版完全兼容 Redis 协议,业务可以平滑迁移。 Redis 作为持久化数据存储使用的业务 标准版提供持久化机制及备份恢复机制,极大地保证数据可靠性。 单个 Redis 性能压力可控 由于 Redis 原生采用单线程机制,性能在10万 QPS 以下的业务建议使用。如果需要更高的性能要求,请选用集群版本。 Redis 命令相对简单,排序、计算类命令较少 由于 Redis 的单线程机制,CPU 会成为主要瓶颈。如排序、计算类较多的业务建议选用集群版配置。 2 Redis多副本(主从) Redis 多副本,采用主从(replication)部署结构,相较于单副本而言最大的特点就是主从实例间数据实时同步,并且提供数据持久化和备份策略。主从实例部署在不同的物理服务器上,根据公司的基础环境配置,可以实现同时对外提供服务和读写分离策略。 优点: 1、高可靠性,一方面,采用双机主备架构,能够在主库出现故障时自动进行主备切换,从库提升为主库提供服务,保证服务平稳运行。另一方面,开启数据持久化功能和配置合理的备份策略,能有效的解决数据误操作和数据异常丢失的问题。 2、读写分离策略,从节点可以扩展主库节点的读能力,有效应对大并发量的读操作。 缺点: 1、故障恢复复杂,如果没有RedisHA系统(需要开发),当主库节点出现故障时,需要手动将一个从节点晋升为主节点,同时需要通知业务方变更配置,并且需要让其他从库节点去复制新主库节点,整个过程需要人为干预,比较繁琐。 2、主库的写能力受到单机的限制,可以考虑分片 3、主库的存储能力受到单机的限制,可以考虑Pika 4、原生复制的弊端在早期的版本也会比较突出,如:Redis复制中断后,Slave会发起psync,此时如果同步不成功,则会进行全量同步,主库执行全量备份的同时可能会造成毫秒或秒级的卡顿;又由于COW机制,导致极端情况下的主库内存溢出,程序异常退出或宕机;主库节点生成备份文件导致服务器磁盘IO和CPU(压缩)资源消耗;发送数GB大小的备份文件导致服务器出口带宽暴增,阻塞请求。建议升级到最新版本。 使用场景 对 Redis 协议兼容性要求较高的业务 标准版完全兼容 Redis 协议,业务可以平滑迁移。 Redis 作为持久化数据存储使用的业务 标准版提供持久化机制及备份恢复机制,极大地保证数据可靠性。 单个 Redis 性能压力可控 由于 Redis 原生采用单线程机制,性能在10万 QPS 以下的业务建议使用。如果需要更高的性能要求,请选用集群版本。 Redis 命令相对简单,排序、计算类命令较少 由于 Redis 的单线程机制,CPU 会成为主要瓶颈。如排序、计算类较多的业务建议选用集群版配置。 3 Redis Sentinel(哨兵) Redis Sentinel是社区版本推出的原生高可用解决方案,Redis Sentinel部署架构主要包括两部分:Redis Sentinel集群和Redis数据集群,其中Redis Sentinel集群是由若干Sentinel节点组成的分布式集群。可以实现故障发现、故障自动转移、配置中心和客户端通知。Redis Sentinel的节点数量要满足2n+1(n>=1)的奇数个。 优点: 1、Redis Sentinel集群部署简单 2、能够解决Redis主从模式下的高可用切换问题 3、很方便实现Redis数据节点的线形扩展,轻松突破Redis自身单线程瓶颈,可极大满足对Redis大容量或高性能的业务需求。 4、可以实现一套Sentinel监控一组Redis数据节点或多组数据节点 缺点: 1、部署相对Redis 主从模式要复杂一些,原理理解更繁琐 2、资源浪费,Redis数据节点中slave节点作为备份节点不提供服务 3、Redis Sentinel主要是针对Redis数据节点中的主节点的高可用切换,对Redis的数据节点做失败判定分为主观下线和客观下线两种,对于Redis的从节点有对节点做主观下线操作,并不执行故障转移。 4、不能解决读写分离问题,实现起来相对复杂 建议: 1、如果监控同一业务,可以选择一套Sentinel集群监控多组Redis数据节点的方案,反之选择一套Sentinel监控一组Redis数据节点的方案 2、sentinel monitor 配置中的 建议设置成Sentinel节点的一半加1,当Sentinel部署在多个IDC的时候,单个IDC部署的Sentinel数量不建议超过(Sentinel数量 – quorum)。 3、合理设置参数,防止误切,控制切换灵敏度控制 quorum down-after-milliseconds 30000 failover-timeout 180000 maxclient timeout 4、部署的各个节点服务器时间尽量要同步,否则日志的时序性会混乱 5、Redis建议使用pipeline和multi-keys操作,减少RTT次数,提高请求效率 6、自行搞定配置中心(zookeeper),方便客户端对实例的链接访问 4 Redis Cluster(集群) Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如,当遇到单机内存,并发和流量等瓶颈的时候,Redis Cluster能起到很好的负载均衡的目的。Redis Cluster集群节点最小配置6个节点以上(3主3从),其中主节点提供读写操作,从节点作为备用节点,不提供请求,只作为故障转移使用。Redis Cluster采用虚拟槽分区,所有的键根据哈希函数映射到0~16383个整数槽内,每个节点负责维护一部分槽以及槽所印映射的键值数据。 优点: 1、无中心架构 2、数据按照slot存储分布在多个节点,节点间数据共享,可动态调整数据分布。 3、可扩展性,可线性扩展到1000多个节点,节点可动态添加或删除。 4、高可用性,部分节点不可用时,集群仍可用。通过增加Slave做standby数据副本,能够实现故障自动failover,节点之间通过gossip协议交换状态信息,用投票机制完成Slave到Master的角色提升。 5、降低运维成本,提高系统的扩展性和可用性。 缺点: 1、Client实现复杂,驱动要求实现Smart Client,缓存slots mapping信息并及时更新,提高了开发难度,客户端的不成熟影响业务的稳定性。目前仅JedisCluster相对成熟,异常处理部分还不完善,比如常见的“max redirect exception”。 2、节点会因为某些原因发生阻塞(阻塞时间大于clutser-node-timeout),被判断下线,这种failover是没有必要的。 3、数据通过异步复制,不保证数据的强一致性。 4、多个业务使用同一套集群时,无法根据统计区分冷热数据,资源隔离性较差,容易出现相互影响的情况。 5、Slave在集群中充当“冷备”,不能缓解读压力,当然可以通过SDK的合理设计来提高Slave资源的利用率。 6、key批量操作限制,如使用mset、mget目前只支持具有相同slot值的key执行批量操作。对于映射为不同slot值的key由于keys 不支持跨slot查询,所以执行mset、mget、sunion等操作支持不友好。 7、key事务操作支持有限,只支持多key在同一节点上的事务操作,当多个key分布于不同的节点上时无法使用事务功能。 8、key作为数据分区的最小粒度,因此不能将一个很大的键值对象如hash、list等映射到不同的节点。 9、不支持多数据库空间,单机下的redis可以支持到16个数据库,集群模式下只能使用1个数据库空间,即db 0。 10、复制结构只支持一层,从节点只能复制主节点,不支持嵌套树状复制结构。 11、避免产生hot-key,导致主库节点成为系统的短板。 12、避免产生big-key,导致网卡撑爆、慢查询等。 13、重试时间应该大于cluster-node-time时间 14、Redis Cluster不建议使用pipeline和multi-keys操作,减少max redirect产生的场景。 使用场景 数据量较大 Redis 集群版可以有效的扩展数据规模,相比标准版支持存储量更大的64、128、256 GB 集群版,可以有效的满足数据扩展需求。 QPS 压力较大 标准版 Redis 无法支撑较大的 QPS,需要采用多节点的部署方式来冲破 Redis 单线程的性能瓶颈。 吞吐密集型应用 相比标准版,Redis 集群版的内网吞吐限制相对较低,针对热点数据读取、大吞吐类型的业务可以友好的支持。 对 Redis 协议不敏感的应用 由于集群版的架构引入了多个组件,在 Redis 协议支持上相比标准版有一定限制。

剑曼红尘 2020-04-27 14:41:57 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

Quick BI 数据可视化分析平台

2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

问题

【精品问答】云数据库十大经典案例总结和反思

问问小秘 2020-01-02 13:09:08 8 浏览量 回答数 1

问题

阿里云 out of memory 解决方法

oracledbawyq 2019-12-01 21:13:28 9597 浏览量 回答数 6

问题

软件开发中常见的十大系统瓶颈

小柒2012 2019-12-01 20:59:48 9755 浏览量 回答数 2

问题

阿里云上放ORACLE

oracledbawyq 2019-12-01 21:13:13 6672 浏览量 回答数 6

问题

阿里云oracle学习心得

oracledbawyq 2019-12-01 21:13:22 6389 浏览量 回答数 0

问题

阿里云支持oracle如何

oracledbawyq 2019-12-01 21:13:22 6329 浏览量 回答数 0

回答

在工程实践上,为了保障系统的可用性,互联网系统大多将强一致性需求转换成最终一致性的需求,并通过系统执行幂等性的保证,保证数据的最终一致性。但在电商等场景中,对于数据一致性的解决方法和常见的互联网系统(如 MySQL 主从同步)又有一定区别,分成以下 6 种解决方案。(一)规避分布式事务——业务整合业务整合方案主要采用将接口整合到本地执行的方法。拿问题场景来说,则可以将服务 A、B、C 整合为一个服务 D 给业务,这个服务 D 再通过转换为本地事务的方式,比如服务 D 包含本地服务和服务 E,而服务 E 是本地服务 A ~ C 的整合。优点:解决(规避)了分布式事务。缺点:显而易见,把本来规划拆分好的业务,又耦合到了一起,业务职责不清晰,不利于维护。由于这个方法存在明显缺点,通常不建议使用。(二)经典方案 - eBay 模式此方案的核心是将需要分布式处理的任务通过消息日志的方式来异步执行。消息日志可以存储到本地文本、数据库或消息队列,再通过业务规则自动或人工发起重试。人工重试更多的是应用于支付场景,通过对账系统对事后问题的处理。消息日志方案的核心是保证服务接口的幂等性。考虑到网络通讯失败、数据丢包等原因,如果接口不能保证幂等性,数据的唯一性将很难保证。eBay 方式的主要思路如下。Base:一种 Acid 的替代方案此方案是 eBay 的架构师 Dan Pritchett 在 2008 年发表给 ACM 的文章,是一篇解释 BASE 原则,或者说最终一致性的经典文章。文中讨论了 BASE 与 ACID 原则在保证数据一致性的基本差异。如果 ACID 为分区的数据库提供一致性的选择,那么如何实现可用性呢?答案是BASE (basically available, soft state, eventually consistent)BASE 的可用性是通过支持局部故障而不是系统全局故障来实现的。下面是一个简单的例子:如果将用户分区在 5 个数据库服务器上,BASE 设计鼓励类似的处理方式,一个用户数据库的故障只影响这台特定主机那 20% 的用户。这里不涉及任何魔法,不过它确实可以带来更高的可感知的系统可用性。文章中描述了一个最常见的场景,如果产生了一笔交易,需要在交易表增加记录,同时还要修改用户表的金额。这两个表属于不同的远程服务,所以就涉及到分布式事务一致性的问题。文中提出了一个经典的解决方法,将主要修改操作以及更新用户表的消息放在一个本地事务来完成。同时为了避免重复消费用户表消息带来的问题,达到多次重试的幂等性,增加一个更新记录表 updates_applied 来记录已经处理过的消息。基于以上方法,在第一阶段,通过本地的数据库的事务保障,增加了 transaction 表及消息队列 。在第二阶段,分别读出消息队列(但不删除),通过判断更新记录表 updates_applied 来检测相关记录是否被执行,未被执行的记录会修改 user 表,然后增加一条操作记录到 updates_applied,事务执行成功之后再删除队列。通过以上方法,达到了分布式系统的最终一致性。进一步了解 eBay 的方案可以参考文末链接。(三)去哪儿网分布式事务方案随着业务规模不断地扩大,电商网站一般都要面临拆分之路。就是将原来一个单体应用拆分成多个不同职责的子系统。比如以前可能将面向用户、客户和运营的功能都放在一个系统里,现在拆分为订单中心、代理商管理、运营系统、报价中心、库存管理等多个子系统。拆分首先要面临的是什么呢?最开始的单体应用所有功能都在一起,存储也在一起。比如运营要取消某个订单,那直接去更新订单表状态,然后更新库存表就 ok 了。因为是单体应用,库在一起,这些都可以在一个事务里,由关系数据库来保证一致性。但拆分之后就不同了,不同的子系统都有自己的存储。比如订单中心就只管理自己的订单库,而库存管理也有自己的库。那么运营系统取消订单的时候就是通过接口调用等方式来调用订单中心和库存管理的服务了,而不是直接去操作库。这就涉及一个『分布式事务』的问题。分布式事务有两种解决方式优先使用异步消息。上文已经说过,使用异步消息 Consumer 端需要实现幂等。幂等有两种方式,一种方式是业务逻辑保证幂等。比如接到支付成功的消息订单状态变成支付完成,如果当前状态是支付完成,则再收到一个支付成功的消息则说明消息重复了,直接作为消息成功处理。另外一种方式如果业务逻辑无法保证幂等,则要增加一个去重表或者类似的实现。对于 producer 端在业务数据库的同实例上放一个消息库,发消息和业务操作在同一个本地事务里。发消息的时候消息并不立即发出,而是向消息库插入一条消息记录,然后在事务提交的时候再异步将消息发出,发送消息如果成功则将消息库里的消息删除,如果遇到消息队列服务异常或网络问题,消息没有成功发出那么消息就留在这里了,会有另外一个服务不断地将这些消息扫出重新发送。有的业务不适合异步消息的方式,事务的各个参与方都需要同步的得到结果。这种情况的实现方式其实和上面类似,每个参与方的本地业务库的同实例上面放一个事务记录库。比如 A 同步调用 B,C。A 本地事务成功的时候更新本地事务记录状态,B 和 C 同样。如果有一次 A 调用 B 失败了,这个失败可能是 B 真的失败了,也可能是调用超时,实际 B 成功。则由一个中心服务对比三方的事务记录表,做一个最终决定。假设现在三方的事务记录是 A 成功,B 失败,C 成功。那么最终决定有两种方式,根据具体场景:重试 B,直到 B 成功,事务记录表里记录了各项调用参数等信息;执行 A 和 B 的补偿操作(一种可行的补偿方式是回滚)。对 b 场景做一个特殊说明:比如 B 是扣库存服务,在第一次调用的时候因为某种原因失败了,但是重试的时候库存已经变为 0,无法重试成功,这个时候只有回滚 A 和 C 了。那么可能有人觉得在业务库的同实例里放消息库或事务记录库,会对业务侵入,业务还要关心这个库,是否一个合理的设计?实际上可以依靠运维的手段来简化开发的侵入,我们的方法是让 DBA 在公司所有 MySQL 实例上预初始化这个库,通过框架层(消息的客户端或事务 RPC 框架)透明的在背后操作这个库,业务开发人员只需要关心自己的业务逻辑,不需要直接访问这个库。总结起来,其实两种方式的根本原理是类似的,也就是将分布式事务转换为多个本地事务,然后依靠重试等方式达到最终一致性。(四)蘑菇街交易创建过程中的分布式一致性方案交易创建的一般性流程我们把交易创建流程抽象出一系列可扩展的功能点,每个功能点都可以有多个实现(具体的实现之间有组合/互斥关系)。把各个功能点按照一定流程串起来,就完成了交易创建的过程。面临的问题每个功能点的实现都可能会依赖外部服务。那么如何保证各个服务之间的数据是一致的呢?比如锁定优惠券服务调用超时了,不能确定到底有没有锁券成功,该如何处理?再比如锁券成功了,但是扣减库存失败了,该如何处理?方案选型服务依赖过多,会带来管理复杂性增加和稳定性风险增大的问题。试想如果我们强依赖 10 个服务,9 个都执行成功了,最后一个执行失败了,那么是不是前面 9 个都要回滚掉?这个成本还是非常高的。所以在拆分大的流程为多个小的本地事务的前提下,对于非实时、非强一致性的关联业务写入,在本地事务执行成功后,我们选择发消息通知、关联事务异步化执行的方案。消息通知往往不能保证 100% 成功;且消息通知后,接收方业务是否能执行成功还是未知数。前者问题可以通过重试解决;后者可以选用事务消息来保证。但是事务消息框架本身会给业务代码带来侵入性和复杂性,所以我们选择基于 DB 事件变化通知到 MQ 的方式做系统间解耦,通过订阅方消费 MQ 消息时的 ACK 机制,保证消息一定消费成功,达到最终一致性。由于消息可能会被重发,消息订阅方业务逻辑处理要做好幂等保证。所以目前只剩下需要实时同步做、有强一致性要求的业务场景了。在交易创建过程中,锁券和扣减库存是这样的两个典型场景。要保证多个系统间数据一致,乍一看,必须要引入分布式事务框架才能解决。但引入非常重的类似二阶段提交分布式事务框架会带来复杂性的急剧上升;在电商领域,绝对的强一致是过于理想化的,我们可以选择准实时的最终一致性。我们在交易创建流程中,首先创建一个不可见订单,然后在同步调用锁券和扣减库存时,针对调用异常(失败或者超时),发出废单消息到MQ。如果消息发送失败,本地会做时间阶梯式的异步重试;优惠券系统和库存系统收到消息后,会进行判断是否需要做业务回滚,这样就准实时地保证了多个本地事务的最终一致性。(五)支付宝及蚂蚁金融云的分布式服务 DTS 方案业界常用的还有支付宝的一种 xts 方案,由支付宝在 2PC 的基础上改进而来。主要思路如下,大部分信息引用自官方网站。分布式事务服务简介分布式事务服务 (Distributed Transaction Service, DTS) 是一个分布式事务框架,用来保障在大规模分布式环境下事务的最终一致性。DTS 从架构上分为 xts-client 和 xts-server 两部分,前者是一个嵌入客户端应用的 JAR 包,主要负责事务数据的写入和处理;后者是一个独立的系统,主要负责异常事务的恢复。核心特性传统关系型数据库的事务模型必须遵守 ACID 原则。在单数据库模式下,ACID 模型能有效保障数据的完整性,但是在大规模分布式环境下,一个业务往往会跨越多个数据库,如何保证这多个数据库之间的数据一致性,需要其他行之有效的策略。在 JavaEE 规范中使用 2PC (2 Phase Commit, 两阶段提交) 来处理跨 DB 环境下的事务问题,但是 2PC 是反可伸缩模式,也就是说,在事务处理过程中,参与者需要一直持有资源直到整个分布式事务结束。这样,当业务规模达到千万级以上时,2PC 的局限性就越来越明显,系统可伸缩性会变得很差。基于此,我们采用 BASE 的思想实现了一套类似 2PC 的分布式事务方案,这就是 DTS。DTS在充分保障分布式环境下高可用性、高可靠性的同时兼顾数据一致性的要求,其最大的特点是保证数据最终一致 (Eventually consistent)。简单的说,DTS 框架有如下特性:最终一致:事务处理过程中,会有短暂不一致的情况,但通过恢复系统,可以让事务的数据达到最终一致的目标。协议简单:DTS 定义了类似 2PC 的标准两阶段接口,业务系统只需要实现对应的接口就可以使用 DTS 的事务功能。与 RPC 服务协议无关:在 SOA 架构下,一个或多个 DB 操作往往被包装成一个一个的 Service,Service 与 Service 之间通过 RPC 协议通信。DTS 框架构建在 SOA 架构上,与底层协议无关。与底层事务实现无关: DTS 是一个抽象的基于 Service 层的概念,与底层事务实现无关,也就是说在 DTS 的范围内,无论是关系型数据库 MySQL,Oracle,还是 KV 存储 MemCache,或者列存数据库 HBase,只要将对其的操作包装成 DTS 的参与者,就可以接入到 DTS 事务范围内。一个完整的业务活动由一个主业务服务与若干从业务服务组成。主业务服务负责发起并完成整个业务活动。从业务服务提供 TCC 型业务操作。业务活动管理器控制业务活动的一致性,它登记业务活动中的操作,并在活动提交时确认所有的两阶段事务的 confirm 操作,在业务活动取消时调用所有两阶段事务的 cancel 操作。”与 2PC 协议比较,没有单独的 Prepare 阶段,降低协议成本。系统故障容忍度高,恢复简单(六)农信网数据一致性方案电商业务公司的支付部门,通过接入其它第三方支付系统来提供支付服务给业务部门,支付服务是一个基于 Dubbo 的 RPC 服务。对于业务部门来说,电商部门的订单支付,需要调用支付平台的支付接口来处理订单;同时需要调用积分中心的接口,按照业务规则,给用户增加积分。从业务规则上需要同时保证业务数据的实时性和一致性,也就是支付成功必须加积分。我们采用的方式是同步调用,首先处理本地事务业务。考虑到积分业务比较单一且业务影响低于支付,由积分平台提供增加与回撤接口。具体的流程是先调用积分平台增加用户积分,再调用支付平台进行支付处理,如果处理失败,catch 方法调用积分平台的回撤方法,将本次处理的积分订单回撤。用户信息变更公司的用户信息,统一由用户中心维护,而用户信息的变更需要同步给各业务子系统,业务子系统再根据变更内容,处理各自业务。用户中心作为 MQ 的 producer,添加通知给 MQ。APP Server 订阅该消息,同步本地数据信息,再处理相关业务比如 APP 退出下线等。我们采用异步消息通知机制,目前主要使用 ActiveMQ,基于 Virtual Topic 的订阅方式,保证单个业务集群订阅的单次消费。总结分布式服务对衍生的配套系统要求比较多,特别是我们基于消息、日志的最终一致性方案,需要考虑消息的积压、消费情况、监控、报警等。

小川游鱼 2019-12-02 01:46:40 0 浏览量 回答数 0

问题

阿里云oracle测试

oracledbawyq 2019-12-01 21:13:23 7602 浏览量 回答数 0

问题

立足GitHub学编程:13个不容错过的Java项目

技术小菜鸟 2019-12-01 21:48:13 2674 浏览量 回答数 1

问题

阿里云上跑ORACLE总结

oracledbawyq 2019-12-01 21:13:15 5810 浏览量 回答数 1

问题

用户指南-读写分离-读写分离简介

李沃晟 2019-12-01 21:38:38 697 浏览量 回答数 0

问题

DRDS 错误代码如何解决?

猫饭先生 2019-12-01 21:21:21 7993 浏览量 回答数 0

问题

阿里云服务器 如何处理网站高并发流量问题?(含教程)

元芳啊 2019-12-01 21:54:35 1511 浏览量 回答数 1

回答

Maxserver AI运维大屏 基于AIOps理念研发的新一代运维监大屏 全盘展示IT运行状态,减轻运维人员的重复性工作量,提高IT系统排错速度,加速运维知识学习积累。 体验地址:http://maxserver.xybcbc.com 接口地址:http://maxserver.xybcbc.com:8091/ops 体验账户:maxserver 体验密码:maxserver AI运维大屏三种方案获取数据: (1) 集成现有监系统、动环系统(需提供API接口) (2) 采用Zabbix5.0采集监控数据 (3) 采用Maxserver采集数据。 AI运维大屏解决的核心问题及价值: 价值一:全盘展示IT运行状态,包括:自动化运维大屏、应用大屏、网络拓扑图、服务器大屏、流量大屏、安全大屏、数据库大屏、运维数据分析大屏、监控项“脑图”大屏、动环大屏。 价值二:集成运维自动化管理模块,通过运维剧本编排,并且关联监控项,实现自动化运维。比如网络设备配置定时自动备份与比对、常见故障自动化排错、数据定时备份与校验、批量化软件安装部署、配置等。 价值三:提升运维管理水平 3.1用Maxserver导出精美的主机运行可视化报表。 3.2自动生成监控项运行“脑图”,让运维人员第一时间感知IT系统的整体运行状态,在“脑图”上,我们可以查看每一个监控项的运行数据及信息记录。 3.3资产标签化管理,满足各类用户对资产管理的需求。 3.4配置项标签化管理,为运维人员提供强大的配置项管理功能。 3.5 提供配置项关系管理功能,让运维人员自由创建配置项关联关系。 3.6 支持机房动环的集成,支持机房设备物联网。 3.7 Maxserver集成运维人员高效沟通平台,提高运维人员的协同能力。

米盒子 2020-09-11 10:14:31 0 浏览量 回答数 0

问题

答题闯关一下扣了20云币

oracledbawyq 2019-12-01 21:12:08 4185 浏览量 回答数 0

问题

[惊喜]阿里云斥资千万扶持新用户进入“云时代”

alimikezhong 2019-12-01 20:55:27 19378 浏览量 回答数 28

问题

阿里云服务器重启连不上解决方法

oracledbawyq 2019-12-01 21:13:30 7241 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站