首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏后台技术底层理解

    redis并发可用

    redis 实现并发主要依靠主从架构,一主多从. 对于性能来说,单主用来写入数据,单机几万QPS,多从用来查询数据,多个从实例可以提供每秒 10w 的 QPS。 如果想要在实现并发的同时,容纳大量的数据,那么就需要 redis 集群, 使用 redis cluster 模式,可以提供每秒几十万的读写并发。 哨兵用于实现 redis 集群的可用,本身也是分布式的,作为一个哨兵集群去运行,互相协同工作。 哨兵 + redis 主从的部署架构,是不保证数据零丢失的,只能保证 redis 集群的可用性。 ==怎么保证redis是并发以及可用的==? sdown 和 odown 转换机制 sdown 是主观宕机,就一个哨兵如果自己觉得一个 master 宕机了,那么就是主观宕机。

    3.2K10发布于 2020-08-04
  • 来自专栏深入理解Android

    并发可用实战

    大型网站系统应有的特点 并发,大流量 并发,大流量:需要面对并发用户,大流量访问。 可用 可用:相对于并发来说,可用并不是一个比较有规律的参数,7*24 是每个网站的梦想,但是你并不知道,在某一刻,他就没理由的宕机了。 并发设计原则 系统设计不仅需要考虑实现业务功能,还要保证系统并发可用可靠等。 并发化 改串行为并行。 可用设计原则 通过负载均衡和反向代理实现分流。 通过限流保护服务免受雪崩之灾。 通过降级实现部分可用、有损服务。 通过隔离实现故障隔离。 4.业务降级:当并发流量来袭,在电商系统大促设计时保障用户能下单、能支付是核心要求,并保障数据最终一致性即可。

    1.9K20编辑于 2022-06-22
  • 来自专栏后台技术底层理解

    redis 的并发可用

    redis 实现并发主要依靠主从架构,一主多从. 对于性能来说,单主用来写入数据,单机几万QPS,多从用来查询数据,多个从实例可以提供每秒 10w 的 QPS。 如果想要在实现并发的同时,容纳大量的数据,那么就需要 redis 集群, 使用 redis cluster 模式,可以提供每秒几十万的读写并发。 哨兵用于实现 redis 集群的可用,本身也是分布式的,作为一个哨兵集群去运行,互相协同工作。 哨兵 + redis 主从的部署架构,是不保证数据零丢失的,只能保证 redis 集群的可用性。 怎么保证redis是并发以及可用的? sdown 和 odown 转换机制 sdown 是主观宕机,就一个哨兵如果自己觉得一个 master 宕机了,那么就是主观宕机。

    1.8K00发布于 2020-08-04
  • 来自专栏Clive的技术分享

    并发可用系统设计原则

    并发原则 无状态:应用无状态,配置文件有状态 拆分:系统维度、功能维度、读写维度、AOP维度、模块维度 服务化:进程内服务->单机远程服务->集群手动注册服务->自动注册和发现服务->服务分组/隔离/ 在应用所在机器上部署一组Redis,直接本机读取数据,多机之间主从同步数据)6、分布式缓存(数据量太多,单机存储不了,用分片机制分散流量到多台要,或用分布式缓存实现,常见的分片规则:一致性哈希算法) 并发可用原则 降级:开关集中化管理,推送机制把开关推送到各个应用;可降级的多级读服务;开关前置化;业务降级,并发流量来袭,保障核心业务,保证数据最终一致性即可,可同步改异步,优先处理优先级数据 限流 :恶意请求指导Cache层;对于穿透到后端的流量考虑Nginx的limit模块;对恶意IP可用Nginx deny屏蔽 切流量:可用Nginx切换故障的应用层 可回滚:版本化(事务回滚、代码库回滚、部署版本回滚 静态资源版本回滚) 业务设计原则 防重设计:防重key、防重表、记录重复日志后续处理 幂等设计:业务系统重复消息消费幂等处理;第三方支付异步回调幂等处理 流程可定义 状态与状态机:状态设计有状态轨迹·,方便追溯;并发状态修改问题

    1.2K21发布于 2019-03-06
  • 来自专栏look Java

    Redis-可用并发集群配置

    可用并发集群配置 Redis集群的搭建 搭建链接:搭建 文档链接: redis文档 概述 可用 24小时对外提供服务 并发 同一时间段能处理的请求数 中心化和去中心化 中心化 意思是所有的节点都要有一个主节点

    38710编辑于 2023-12-07
  • 来自专栏惨绿少年

    并发场景 LVS 安装及可用实现

    ü 简单一句话,当并发超过了Nginx上限,就可以使用LVS了。 ü 日1000-2000W PV或并发请求1万以下都可以考虑用Nginx。 ü 大型门户网站,电商网站需要用到LVS。 b)请求的报文经过调度器,而RS响应处理后的报文无需经过调度器LB,因此,并发访问量大时使用效率很高,比Nginx代理模式强于此处。 这个是自己开发服务器可用脚本及所有可用软件必须考虑到的问题。 可用(VIP漂移) 4. web服务器健康检查 1.8.2 在负载器安装Keepalived软件 yum -y install keepalived # 检查软件是否安装 [root@lb03 ~]# 使用curl命令进行测试 [root@lb04 ~]# curl 10.0.0.13 web03 至此keepalived+lvs配置完毕 1.9 常见LVS负载均衡可用解决方案 Ø 开发类似keepalived

    3.4K00发布于 2017-12-27
  • 来自专栏Java技术栈

    可用并发的 9 种技术架构!

    所以虽然分层架构模式最初的目的是规划软件清晰的逻辑结构以便于开发维护,但在网站的发展过程中,分层结构对网站支持并发向分布式方向的发展至关重要。 ? 2、冗余 网站需要7×24小时连续运行,那么就得有相应的冗余机制,以防某台机器宕掉时无法访问,而冗余则可以通过部署至少两台服务器构成一个集群实现服务可用。数据库除了定期备份还需要实现冷热备份。 网站越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分隔开来,包装成内聚低耦合的模块单元,不仅有助于软件的开发维护也便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。 8、集群 对于用户访问集中的模块需要将独立部署的服务器集群化,即多台服务器部署相同的应用构成一个集群,通过负载均衡设备共同对外提供服务。 ,因此可以提高系统的可用性。

    66250发布于 2018-07-31
  • 来自专栏平凡文摘

    可用并发的 9 种技术架构!

    所以虽然分层架构模式最初的目的是规划软件清晰的逻辑结构以便于开发维护,但在网站的发展过程中,分层结构对网站支持并发向分布式方向的发展至关重要。 ? 2、冗余 网站需要7×24小时连续运行,那么就得有相应的冗余机制,以防某台机器宕掉时无法访问,而冗余则可以通过部署至少两台服务器构成一个集群实现服务可用。数据库除了定期备份还需要实现冷热备份。 网站越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分隔开来,包装成内聚低耦合的模块单元,不仅有助于软件的开发维护也便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。 8、集群 对于用户访问集中的模块需要将独立部署的服务器集群化,即多台服务器部署相同的应用构成一个集群,通过负载均衡设备共同对外提供服务。 ,因此可以提高系统的可用性。

    77250发布于 2018-07-03
  • 来自专栏架构随笔录

    电商交易并发可用技术(一)

    分析这个场景如下:并发量是10000,交易都是同时到达后端,交易服务是集群部署,会根据服务端负载均衡(Nginx)到不同的server。 解决这个场景的并发技术和可用技术如下: 1.可用架构技术 隔离技术: 线程隔离,交易请求网关肯定不止交易这一个业务接口,还有一些非核心业务接口,那么整个系统区分核心线程池和非核心线程池,在内存和系统核心数足够大的情况下 热点隔离,热点就意味着并发,在并发的场景下,要保证可用性,就必须隔离热点请求,快速的削峰。 目的是用来隔离分布式服务故障,提供线程和信号量隔离,以减少不同服务之间的资源竞争带来的相互影响,提供优雅降级机制,提供熔断机制让服务交易接口快速的失败,而不是一直阻塞,Hystrix可以阻止级联失败并保证系统弹性、和可用性 2.并发架构技术 缓存为王,队列也为王,10000个并发请求入分布式缓存队列(redis)或者mq(核心系统mq集群,做到核心业务和非核心业务集群隔离),商品库存1000预存入redis,库存扣减都走

    1.3K30发布于 2020-02-24
  • 来自专栏博文视点Broadview

    架构学习之路——可用并发系统设计原则

    所有的事都会比预计的时间长 - 可能出错的事情总会出错 - 担心某种事情发生,那么它就更有可能发生 康威定律 - 系统架构师公司组织架构的反映 - 按照业务闭环进行系统拆分/组织架构划分,实现闭环、内聚 yq.aliyun.com/articles/8611 - 每个架构师都应该研究下康威定律 http://36kr.com/p/5042735.html 二八定律 - 80%的结果取决于20%的原因 架构设计三大定律 1.并发原则 Size等 系统层:  · CPU : L1/L2/L3 Cache/NUMA  · 内存  · 磁盘:磁盘本身缓存、dirtyratio/dirtybackground_ratio、阵列卡本身缓存 并发化 2.可用原则 降级 降级开关集中化管理:将开关配置信息推送到各个应用 可降级的多级读服务:如服务调用降级为只读本地缓存 开关前置化:如Nginx+lua(OpenResty)配置降级策略,引流流量 ;可基于此做灰度策略 业务降级:并发下,保证核心功能,次要功能可由同步改为异步策略或屏蔽功能 限流 目的: 防止恶意请求攻击或超出系统峰值 实践:  · 恶意请求流量只访问到Cache  · 穿透后端应用的流量使用

    1.1K11发布于 2020-06-11
  • 来自专栏大数据成神之路

    关于Redis的几件小事 | 并发可用

    1.redis并发跟整个系统并发的关系 Rredis要搞并发,那就要把底层的缓存搞好,让更少的请求直接到数据库,因为数据库的并发实现起来是比较麻烦的,而且有些操作还有事务的要求等等,所以很难做到非常并发 要实现系统的并发,首先缓存中间件、缓存系统必须要能够支撑起并发,然后在经过良好的整体缓存架构设计(多级缓存、热点缓存),才能真正支撑起并发。 2.redis不能支撑并发的瓶颈 Redis不能支撑并发的瓶颈主要是单机问题,也就是说只有一个单一的redis,就算机器性能再怎么好,也是有上限的。 可用性系统与构成该系统的各个组件相比可以更长时间运行。 可用性通常通过提高系统的容错能力来实现。定义一个系统怎样才算具有可用性往往需要根据每一个案例的具体情况来具体分析。 可用性 年故障时间 99.9999% 32秒 99.999% 5分15秒 99.99% 52分34秒 99.9% 8小时46分 99% 3天15小时36分 2.redis不可用 redis不可以包含了单实例的不可用

    2.1K21发布于 2019-07-23
  • 来自专栏个人路线

    并发、高性能、可用)问题如何解?

    互联网三高架构:并发、高性能、可用,简称三(3H) 很多时候,面试官一句:在工作中如何处理并发可能就结束了整场面试! 那么,构建一个三的系统,到底可以从哪些方面下手呢。

    3.1K10发布于 2021-08-03
  • 来自专栏李浩东的博客

    如何设计一个并发可用系统?

    如何设计一个支持并发可用服务?在前期设计时应该从哪些方面入手?明确的一点:没有哪一个系统是从一开始设计时就是可用的,支持并发的。 所以这个时候你必须得做一把个人秀了,秀出你所有关于并发的知识! 二. 面试题剖析 其实所谓的并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有并发?为啥并发就很牛逼? 你数据库如果瞬间承载每秒 5000/8000,甚至上万的并发,一定会宕机,因为比如 mysql 就压根儿扛不住这么并发量。 所以为啥并发牛逼? 真正厉害的,一定是在复杂业务系统里玩儿过高并发架构的人,但是你没有,那么我给你说一下你该怎么回答这个问题: 可以分为以下 8 点: 系统拆分 Cache(缓存) MQ 数据库拆分(分库分表) 读写分离 总结 上面的 8 点,基本就是并发系统肯定要干的一些事儿,大家可以仔细结合之前讲过的知识考虑一下,到时候你可以系统的把这块阐述一下,然后每个部分要注意哪些问题,之前都讲过了,你都可以阐述阐述,表明你对这块是有点积累的

    2.5K22发布于 2019-11-14
  • 来自专栏腾讯技术工程官方号的专栏

    如何设计一个可用并发秒杀系统

    秒杀系统的难点 友好的用户体验 用户不能接受破窗的体验,例如:系统超时、系统错误的提示,或者直接 404 页面 瞬时并发流量的挑战 木桶短板理论,整个系统的瓶颈往往都在 DB,如何设计出并发可用系统 如何设计 上图是一个典型的互联网业务,用户完成一个写操作,一般会通过接入层和逻辑层,这里的服务都是无状态,可以通过平行拓展去解决并发的问题;到了 db 层,必须要落到介质中,可以是磁盘/ssd/内存, 如下图所示 这个模型,是并发的基础,翻译一下就是下面这些: 及早发现,及早拒绝 Fast Fail 前端保护后端 如何实现漏斗型系统 漏斗型系统需要从产品策略/客户端/接入层/逻辑层/DB 层全方位立体的设计 接入层 所有请求需要鉴权,校验合法身份 如果是长链接的服务,鉴权粒度可以在 session 级别;如果是短链接业务,需要应对这种并发流量,例如 cache 等 根据后端系统容量,需要一个全局的限流功能 瓜分降级预案 为了做好瓜分时刻的并发,对整个系统需要保证两个重要的事情: 全链路梳理,包括调用链的合理性和时延设置 降级服务预案分析,提升系统的鲁棒性 如下图所示,是针对瓜分全链路调用分析如下图,需要特别说明的几点

    1.4K44发布于 2020-03-02
  • 来自专栏PHP实战技术

    mysql可用架构设计,处理并发,大流量!

    主要介绍:复制功能介绍、mysql二进制日志、mysql复制拓扑、可用框架、单点故障、读写分离和负载均衡介绍等 mysql复制功能介绍 mysql复制功能提供分担读负载 复制解决的问题 实现在不同服务器上的数据分布 轮询的方式把程序的读连接到不同的备份数据库, 使用LVS,haproxy这样的代理方式 非共享架构,同样的数据分布在多台服务器上 增强了数据安全性 利用备库的备份来减少主库负载 复制并不能代替备份 实现数据库可用和故障切换 优点 可以很方便的进行故障专业 从库不会丢失主库上的任何修改 缺点 故障处理比较复杂 对执行的sql有一定得限制 选择复制模式要考虑的问题 所使用的mysql版本 复制架构及主从切换的方式 所使用的可用管理组件 什么是可用 可用H.A(High Avalilability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性 表示可用常用的因子 正常可用时间 全年时间百分比 引起系统不可用的原因 严重的主从延迟 主从复制中断 锁引起的大量阻塞 软硬件故障造成的服务器宕机等 如何实现可用 避免导致系统不可用的因素,减少系统不可用的时间 建立完善的监控及报警系统

    2.8K70发布于 2018-03-09
  • 来自专栏大鹅专栏:大数据到机器学习

    分布式系统 概念 可用 并发 学习笔记

    分布式系统 概念 可用 并发 学习笔记 0. 分布式系统基本概念 0.1 背景 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。 不同的系统对性能的衡量指标是不同的,最常见的:并发,单位时间内处理的任务越多越好;低延迟:每个任务的平均时间越少越好。 可用 基本概念 可用描述的是一个系统在大部分时间都是可用的,可以为我们提供服务的。可用代表系统即使在发生硬件故障或者系统升级的时候,服务仍然是可用的。 使用集群,减少单点故障 限流 流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的可用性 高性能 / 并发 提高硬件能力、增加系统服务器。

    1K31发布于 2020-06-28
  • 来自专栏活动盒子

    9种高性能可用并发的技术架构

    所谓网站架构模式即为了解决大型网站面临的并发访问、海量数据、可靠运行等一系列问题与挑战。 但在网站的发展过程中,分层结构对网站支持并发,向分布式方向的发展至关重要。 2、冗余 网站需要7×24小时连续运行,那么就得有相应的冗余机制,以防某台机器宕掉时无法访问,而冗余则可以通过部署至少两台服务器构成一个集群实现服务可用。数据库除了定期备份还需要实现冷热备份。 网站越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分隔开来,包装成内聚低耦合的模块单元,不仅有助于软件的开发维护也便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。 ,因此可以提高系统的可用性。

    2K30发布于 2019-04-18
  • 来自专栏好好学java的技术栈

    并发限流:8个步骤快速解决并发问题!

    现在很多公司的招聘信息,都会有这这么一条要求:有分布式、并发负载、可用系统设计、开发和调优经验者优先。 一提到并发、分布式、可用这些词,很多人都会不自然的想到新闻里阿里双11每秒创建几十万笔的交易订单(2019双11订单创建峰值创纪录每秒54.4万笔) 其实,并发并不神秘,说白了就是想办法搞定两个指标 并且同时保证数据的正确性、系统的可用性就OK了。 1、网站并发量上来了?啥都不要管,先扩容,堆机器。机器多了自然需要集群技术、负载均衡了。(提升QPS) 2、机器多了也扛不住了? (保证系统可用性) 4、数据库扛不住了?上分布式缓存。(降低RT) 5、缓存上了之后,数据还是扛不住?那就考虑读写分离、分库分表、数据库容灾。 6、系统间同步交互有延迟? (降低RT) 7、并发导致了脏数据?上分布式锁。(保证数据正确性) 8并发导致了数据不一致?上分布式事务。(保证数据正确性) 架构从来都不是设计出来的,是演进出来的。

    1.4K20发布于 2020-05-08
  • 来自专栏JavaEdge

    大厂都是如何对并发系统做到可用的?

    一般会使用几个9描述系统可用性: 三个9后,系统的年故障时间从3d锐减到8h。到了四个九之后,年故障时间缩减到1小时之内。 2 可用系统设计 2.1 系统设计 “Design for failure”,可用系统设计时秉持的第一原则。 在承担百万QPS的并发系统中,集群中机器的数量成百上千台,单机的故障是常态,几乎每一天都有发生故障的可能。 系统设计时,要把发生故障作为重要考虑点,预先考虑如何自动化发现故障,故障后如何解决。 2.3 系统间调用超时 并发系统通常有很多系统模块组成,依赖很多组件服务,如缓存组件,队列服务。调用最怕延迟,因为失败通常瞬时,可重试解决。 所以灰度发布给了开发和运维同学转运机会,能在线上流量观察变更的影响,这是保证系统可用的关键流程。 灰度发布是在系统正常运行条件下,保证系统可用的运维手段,那如何知道发生故障时的系统表现?

    49030编辑于 2022-12-13
  • 来自专栏RocketMQ原理与应用

    RocketMQ原理—5.可用+并发+高性能架构

    8.RocketMQ读写分离主从漂移设计9.RocketMQ为什么采取惰性读写分离模式10.Broker数据与服务是否都实现可用了11.Broker数据与服务的数据一致性设计12.Broker基于Raft 10.Broker数据与服务是否都实现可用了(1)RocketMQ4.5.0之前(2)RocketMQ4.5.0之后(1)RocketMQ4.5.0之前Broker主节点崩溃后,是没有可用主从切换机制的 此外主节点崩溃后,从节点可能存在有些最新的数据没来得及同步过来,出现数据丢失的问题,所以数据和服务没有实现可用。 (2)RocketMQ4.5.0之后实现了主从同步 + 主从切换的可用机制,保证数据和服务都是可用的。 这样一个Broker主节点 + 一个Broker从节点,依然可以满足Raft协议,继续提供写服务和保证数据及服务的可用

    75700编辑于 2025-04-06
领券