随笔分类 - 架构设计
摘要:前言 日常不同应用的配置管理及更新很频繁,如果做成集中式的分布式配置中心,还支持实时更新客户端配置的话会轻松很多。 常用的分布式配置中心框架: Disconf(依赖于zookpeer) Zookpeer(保证配置文件信息实时更新 -事件通知) diamond(阿里巴巴研发) Apollo阿波罗(携程
阅读全文
摘要:原文链接:https://mp.weixin.qq.com/s/yP9kiCwKcg_VYkI4Qjk2Yw 互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。 持续集成 持续集成指的是,频繁地(一天多次)将代码集
阅读全文
摘要:一、QPS(Query Per Second)每秒查询率 每秒查询数,每秒系统能够处理的查询请求次数。 二、TPS(Transactions Per Second):每秒事务 每秒事务数,每秒系统能够处理的事务次数。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开
阅读全文
摘要:转载:https://blog.51cto.com/14156658/2461907 Ansible官方文档:http://www.ansible.com.cn/index.html 一、Ansible概述 Ansible是今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化
阅读全文
摘要:前言 基于session/cookie的web网站认证方式转变为了基于OAuth2等开放授权协议的单点登录模式(SSO),相应的基于服务器session+浏览器cookie的Auth手段也发生了转变,Json Web Token出现成为了当前的热门的Token Auth机制。 Json Web To
阅读全文
摘要:限流 限流顾名思义,提前对各个类型的请求设置最高的QPS阈值,若高于设置的阈值则对该请求直接返回,不再调用后续资源。 限流需要结合压测等,了解系统的最高水位,也是在实际开发中应用最多的一种稳定性保障手段。 应用场景:如秒杀、抢购、发帖、评论、恶意爬虫等。 限流算法的三种实现 实际应用时,我们不大可能
阅读全文
摘要:原文链接:系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式 PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越
阅读全文
摘要:原文链接:漫谈单点登录(SSO) 作者:EzrealLiu 1. 摘要 ( 注意:请仔细看下摘要,留心此文是否是您的菜,若浪费宝贵时间,深感歉意!!!) SSO这一概念由来已久,网络上对应不同场景的成熟SSO解决方案比比皆是,从简单到复杂,各式各样应有尽有!开源的有OpenSSO、CAS ,微软的A
阅读全文
摘要:原文链接:http://caibaojian.com/browser-cache.html 来源:前端开发博客 什么是浏览器缓存 浏览器缓存(Brower Caching)是浏览器在本地磁盘对用户最近请求过的文档进行存储,当访问者再次访问同一页面时,浏览器就可以直接从本地磁盘加载文档。· 浏览器缓存
阅读全文
摘要:原文链接:一致性哈希算法原理 作者: lpfuture 一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的
阅读全文
摘要:原文出处:缓存与数据库一致性系列 作者:陶笛日记 目录 缓存与数据库一致性系列-01 缓存与数据库一致性系列-02 缓存与数据库一致性系列-03 缓存与数据库一致性系列-04 缓存与数据库一致性系列-01 今天,我们来分析一下,缓存与数据库被使用次数最多的一种使用方法 写流程: 第一步先删除缓存,删
阅读全文
摘要:原文出处:缓存架构设计细节二三事 本文主要讨论这么几个问题: (1)“缓存与数据库”需求缘起 (2)“淘汰缓存”还是“更新缓存” (3)缓存和数据库的操作时序 (4)缓存和数据库架构简析 一、需求缘起 场景介绍 缓存是一种提高系统读性能的常见技术,对于读多写少的应用场景,我们经常使用缓存来进行优化。
阅读全文
摘要:作者:尜尜人物 原文:www.cnblogs.com/littlecharacter 一、数据库架构原则 高可用 高性能 一致性 扩展性 高可用 高性能 一致性 扩展性 二、常见的架构方案 方案一:主备架构,只有主库提供读写服务,备库冗余作故障转移用 jdbc:mysql://vip:3306/xx
阅读全文
摘要:原文出处:设计数据密集型应用(中英双语) 原文出处:设计数据密集型应用(中英双语) 中文名:《设计数据密集型应用》 英文名:《Designing Data-Intensive Applications》 作者: Martin Kleppmann 英文电子书:Designing Data-Intens
阅读全文
摘要:阅读目录 缓存穿透 缓存雪崩 缓存击穿 缓存热点 缓存穿透 缓存穿透是指缓存没有起到作用,应用程序的请求大量到达了后端数据库的情况。因为查询时如果所需数据在缓存中不存在,便会到数据库中进行再次查询,当这样的数据量太大时,说明我们的缓存系统根本没有其他应有的作用。造成这样情况的有两个原因: 数据本身就
阅读全文
摘要:转载:https://www.cnblogs.com/guan-520/p/9575848.html 何谓高并发 高并发指的是:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈。 从服务端视角看高并发服务端处理请求需要耗费服务端的资源,比如能同时开启
阅读全文
摘要:理解微服务架构 原文地址 什么是微服务 首先微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统WEB应用,来理解什么是微服务。传统的WEB应用核心分为业务逻辑、适配器以及API或通过UI访问的WEB界面。业务逻辑定义业务流程、业务规则以及领域实体。适配器包括数据库访问组件、
阅读全文
摘要:大型网站架构的发展演变过程 原文地址 什么是大型网站 如何定义一个网站是不是大型网站,一般我们会从两个纬度去考衡,访问量以及数据量,二者缺一不可。 我们以javaweb为例,来搭建一个简单的电商系统,从这个系统中来看系统的演变历史;要注意的是,接下来的演示模型,关注的是数据量、访问量提升,网站结构发
阅读全文