
分布式专栏
enlyhua
这个作者很懒,什么都没留下…
展开
-
2.OAuth 2实战 --- OAuth 之舞
1.OAuth 2.0协议概览:获取和使用令牌 OAuth是一个复杂的安全协议,它需要不同的组件互相通信.但是从根本上说,OAuth事务中的两个最重要步骤是颁发令牌和使用令牌。令牌表示授予客户端的 访问权,它在OAuth2.0的各个部分都起到核心作用。尽管每个步骤的细节都会因多种因素而异,但是一个规范的OAuth事务包含以下事件: 1.资源拥有者向客户端表示它希望客户端代表它执行一些...原创 2020-02-11 15:46:30 · 261 阅读 · 0 评论 -
1.OAuth 2实战 --- OAuth 2.0是什么,为什么要关心它
OAuth 是一个安全协议,用于保护全球范围内大量且不断在增长的web api,它用于连接不同的网站,还支持原生应用和移动应用于云服务之间的连接。 它是各个领域标准协议中的安全层。1.OAuth 2.0是什么 OAuth 2.0 是一个授权协议,它允许应用软件代表(而不是充当)资源拥有者去访问资源拥有者的资源。应用向资源拥有者请求授权,然后得到令牌(token),并用它来访问资源。...原创 2020-02-10 18:02:40 · 1426 阅读 · 0 评论 -
16.深入分布式缓存:从原理到实践 --- 新的旅程
1.更好的引入缓存技术 缓存不是系统架构的必选项,只有在遇到性能瓶颈的业务场景,才可能需要引入缓存。引入缓存时,要从'大处着眼,小处着手',即首先要从宏观考虑整体的缓存场景, 缓存层级及缓存(同步/更新)策略,然后从局部考虑选择合适的缓存组件及使用方式(数据结构,分布,部署),并制定缓存系统的SLA,最后在系统运行过程中,要对缓存 系统进行监控报警,还要根据业务发展,访问规模的变化,不...原创 2020-02-08 17:12:26 · 546 阅读 · 0 评论 -
15.深入分布式缓存:从原理到实践 --- 同程凤凰缓存系统基于Redis的设计与实践
1.同程凤凰缓存系统要解决什么问题 秒杀抢购一开始,卡顿,打不开的故障就会此起彼伏。因为秒杀抢购的流量一下而过,没有机会补救。 问题很简单:抢购那一下太耗服务器资源,在同一时间内涌入的人数大大超过了服务器的负载,服务器根本承受不了,cpu占用率很多时候都接近100%, 请求的积压也很严重,从请求接入到数据的读取都有问题,尤其是数据的读取。原来的设计中虽然也考虑了大并发量下的数据读取,但是...原创 2020-02-07 00:11:18 · 331 阅读 · 0 评论 -
14.深入分布式缓存:从原理到实践 --- 典型电商应用与缓存
分布式系统的cap理论首先把分布式系统中的三个特性进行了如下归纳: 1.一致性(C) : 在分布式系统中的所有数据备份,在同一时刻是否是同样的值(等同于所有节点访问同一份最新的数据副本) 2.可用性(A) : 在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求(对数据更新具备高可用性) 3.分区容错(P) : 以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达...原创 2020-02-05 23:56:03 · 445 阅读 · 0 评论 -
13.深入分布式缓存:从原理到实践 --- 缓存在社交网络Feed系统中的架构实践
1.Feed 系统架构 类似微博的信息条目在技术上也称为status或feed,其技术的核心主要包含3个方面: 1.feed的聚合和分发,用户打开feed首页后能看到关注的人feed信息列表,同时用户发表的feed需要分发给粉丝或者指定用户 2.feed信息的组装和展现 3.用户关系的管理,即用户及其关注/粉丝关系的管理 对于中小型的feed系统,feed数据可以通过同步push模式...转载 2019-11-16 17:14:47 · 606 阅读 · 0 评论 -
12.深入分布式缓存:从原理到实践 --- 社交场景架构进化:从数据库到缓存
社交场景架构:1.社交业务示例 1.业务模型 1.发布内容(post) 2.单向关注(follow) 3.基于时间的内容流(timeline) follower : B关注了C,则B是C的follower followee : C被B关注,则C是B的followee 根据每一个用户的followee,其timeline根据其中post的发表时间排序,组成了这个用...转载 2019-11-10 23:50:00 · 633 阅读 · 0 评论 -
11.深入分布式缓存:从原理到实践 --- Aerospike原理及广告业务应用
Aerospike 中个性化推荐广告的应用: 用户行为日志收集系统收集日志后推送到ETL做数据的清洗和转换,把ETL过后的数据发送到推荐引擎计算每个消费者的推荐结果, 其中推荐逻辑包括规则和算法两部分,具体的规则有用户最近浏览,加入购物车,加入收藏等,算法则包括商品相似性,用户相似性, 文本相似性,图片相似性等算法。把推荐的结果存入Aerospike集群中,并提供给广告投放引擎实时获取...转载 2019-11-10 15:38:42 · 556 阅读 · 1 评论 -
10.深入分布式缓存:从原理到实践 --- EVCache探秘
EVCache探秘:转载 2019-11-02 16:43:09 · 275 阅读 · 0 评论 -
9.深入分布式缓存:从原理到实践 --- Tair探秘
Tair探秘:转载 2019-11-02 15:11:47 · 256 阅读 · 0 评论 -
8.深入分布式缓存:从原理到实践 --- 分布式Redis
redis作为数据存储系统,无论数据存储在内存中还是持久化到本地,作为单实例节点,在实际应用中会面临如下挑战: 1.数据量伸缩 单实例redis存储的key-value对的数量受限于单机的内存和磁盘容量。长期运行的生产环境中,随着数据不断的加入,存储容量会达到瓶颈。虽然redis 提供了key的过期机制,在作为缓存使用时通过淘汰过期的数据可以达到控制容量的目的。但当redis...转载 2019-10-27 22:29:07 · 218 阅读 · 0 评论 -
7.深入分布式缓存:从原理到实践 --- Redis探秘
Redis(Remote Dictionary Server) 运行于独立的进程,通过网络协议和应用交互,将数据保存在内存中,并提供多种 手段持久化内存数据。redis具有跨服务器的水平拆分,复制的分布式特性。redis不同于memcached将value视作黑盒,redis 的value本身具有结构化的特点,对于value提供了丰富的操作。1.数据结构 redis 没有传统关系...转载 2019-10-26 22:30:22 · 311 阅读 · 0 评论 -
6.深入分布式缓存:从原理到实践 --- Memcached 周边技术
1.Twemcache Twemcache(发音 "two-em-cache")是Twitter Memcached的缩写,是Twitter研发团队根据Memcached v1.4.4 开发。2.Twemproxy Twemproxy 也是Twitter的一个开源项目,是一个单线程代理程序,支持memcached的ASCII协议和Redis协议。Twemproxy 使用C语言编写,T...转载 2019-10-19 20:17:48 · 263 阅读 · 0 评论 -
5.深入分布式缓存:从原理到实践 --- 从Memcached开始了解集中式缓存
1.memcached 基础知识 /usr/bin/memcached -u memcached -p 11211 -m 64 -c 1024 1.启动参数 -d : 以守护进程启动 -u root : 运行memcache的用户 -P : 保存memcache进程的pid文件 -m 1024 : 数据内存数量,不包含memcache本身,单位为MB -M...转载 2019-10-19 15:10:22 · 255 阅读 · 0 评论 -
4.深入分布式缓存:从原理到实践 --- Ehcache 与 Guava Cache
Ehcache 作为集中式缓存的二级本地缓存,这样当缓存系统宕机后,服务器应用的本地缓存还能够继续抗住大量请求。 使用了 Ehcache 作为二级本地缓存后,可能会出现本地缓存与缓存系统之间出现数据不一致的情况,因为本地缓存是在服务器应用中存在的,在实际生产环境中必定是多台服务器分别部署,如何能够在更新缓存系统的同时,也能够更新Ehcache缓存数据,以及怎样保证不同服务器间Ehca...转载 2019-10-17 23:24:06 · 449 阅读 · 0 评论 -
3.深入分布式缓存:从原理到实践 --- 动手写缓存
缓存的架构介绍: 1.客户端 使用者直接通过该层与数据进行交互 2.缓存提供层 主要对缓存管理层的生命周期进行维护,负责缓存管理层的创建,保存,获取以及销毁 3.缓存管理层 主要对缓存客户端的生命周期进行维护,负责缓存客户端的创建,保存,获取以及销毁 4.缓存存储层 : 负责数据以什么样的形式进行存储 1.基本存储层 是以普通的ConcurrentHashMap为...转载 2019-10-15 23:44:37 · 307 阅读 · 0 评论 -
2.深入分布式缓存:从原理到实践 --- 分布式系统理论
1.分布式系统概论 单就应用层次就涉及 分布式缓存,分布式存储,分布式文件系统,分布式锁,分布式事务,分布式调度任务,分布式调度计算,分布式消息,分布式采集等。2.分布式系统概念 1.进程与线程 进程是具有一定独立功能的程序关于某个数据集合的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是cpu 调度和分派的基本单位,它是比进程更小的能独立运行...转载 2019-10-14 23:38:30 · 506 阅读 · 0 评论 -
1.深入分布式缓存:从原理到实践 --- 缓存为王
缓存:凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输差异的结构,都称为cache。 缓存是一种设计模式:这种模式利用增加存储空间的方式,实现低俗部件与高速部件之间的解耦。1.什么是缓存 缓存:存储在计算机上的一个原始数据复制集,以便于访问。 缓存是系统快速响应中的一种关键技术,是一组被保存起来以备将来使用的东西,介于应用开发和系统开发之间。 CPU缓存: 是指位于...转载 2019-10-12 12:07:38 · 806 阅读 · 0 评论 -
2.从Paxos到Zookeeper分布式一致性原理与实践---一致性协议
1.2PC 与 3PC 在分布式系统中,每一个机器节点虽然能够明确的知道自己在进行事务操作过程中的结果是成功或者失败,但却无法直接获取到其他分布式节点 的操作结果。因此,当一个事务操作需要跨多个分布式节点的时候,为了保持事务处理的ACID特性,就需要引入一个称为'协调者'的组件来统一 调度所有的分布式节点的执行逻辑,这些被调度的分布式节点则被称为'参与者'。协调者负责调度参与者的...转载 2019-09-13 23:16:47 · 185 阅读 · 0 评论 -
3.从Paxos到Zookeeper分布式一致性原理与实践---Paxos 工程实践
1.Chubby Google Chubby 是一个大名鼎鼎的分布式锁服务,GFS 和 Big Table 等大型系统都用它来解决分布式协作,元数据存储和 Master 选举等一系列相关的问题。Chubby 的底层一致性实现就是以 Paxos 算法为基础的。 1.概述 Chubby 是一个面向松耦合分布式系统的锁服务,通常用于为一个由大量小型计算机构成的松耦合分布式系统提供高...转载 2019-09-15 11:49:12 · 222 阅读 · 0 评论 -
4.从Paxos到Zookeeper分布式一致性原理与实践--- Zookeeper 与 Paxos
Apache Zookeeper 是由Apache Hadoop 的子项目发展而来。Zookeeper 为分布式应用提供了高效且可靠的分布式协调服务,提供了 诸如统一命名服务,配置管理和分布式锁等分布式的基础服务。在解决分布式数据一致性方面,Zookeeper 并没有直接采用 Paxos 算法, 而是用了 ZAB(Zookeeper Atomic Broadcast)的一致性算法...转载 2019-09-20 22:49:17 · 199 阅读 · 0 评论 -
5.从Paxos到Zookeeper分布式一致性原理与实践---使用ZooKeeper
1.单机 1.准备 Java 环境 2.下载 ZooKeeper 安装包 https://www.apache.org/dyn/closer.cgi/zookeeper/ 3.解压 tar -xzvf zookeeper-3.4.14.tar.gz /usr/local 4.配置文件 zoo.cfg cp /usr/local/zookeeper-3.4.14/conf...转载 2019-09-22 12:45:22 · 136 阅读 · 0 评论 -
6.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 的典型应用场景
zookeeper 是一个典型的发布/订阅模式的分布式数据管理和协调框架,开发人员可以使用它来进行分布式数据的发布和订阅。 另外一方面,通过对 zookeeper 中丰富的数据节点类型进行交叉使用,配合 Watcher 事件通知机制,可以非常方便的构建一 系列分布式应用中会涉及的核心功能,如数据发布/订阅,负载均衡,命名服务,分布式协调/通知,集群管理,Master 选举, 分布式...转载 2019-09-26 22:25:33 · 255 阅读 · 0 评论 -
7.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 技术内幕
1.系统模型 1.数据模型 zookeeper 的视图结构和标准的Unix文件系统非常相似,但没有引入传统文件系统中目录和文件等相关概念,而是使用了其特有的 '数据节点' 概念,我们称之为 ZNode。ZNode 是 zookeeper 中数据的最小单元,每个ZNode上都可以保存数据,同时还可以挂载子节点,因此构成了一个 层次化的命名空间,我们称之为树。 树: ...转载 2019-09-30 22:24:20 · 196 阅读 · 0 评论 -
8.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 运维
1.配置详解 1.基本配置 clientPort: 用于配置当前服务器对外的服务端口,客户端会通过该端口和 zookeeper 服务器创建连接,一般设置为2181.集群中的所有服务器不需要保持 clientPort 端口一致。 dataDir: 用于配置zookeeper服务器超出快照文件的目录。默认情况下,没有配置dataLogDir,阿么事务日志也会存储在这个位...转载 2019-10-07 22:47:52 · 160 阅读 · 0 评论 -
1.从Paxos到Zookeeper分布式一致性原理与实践---分布式架构
1.有些系统,既要快速响应用户,同时还要保证系统的数据对任意客户端都是真实可靠的,比如火车票站的售票系统。 2.有些系统,需要为用户保证绝对可靠的数据安全,虽然在数据一致性存在延时,但最终务必保证严格的一致,比如银行转账系统。 3.有些系统,虽然向用户展示了一些可以说是'错误'的数据,但是在整个系统使用过程中,一定会在某个流程上对系统数据进行准确无误的检查, 从而避免用户发...转载 2019-09-09 23:23:39 · 251 阅读 · 0 评论