摘要: 上一期分享了“一分钟了解mongoDB”【回复“mongo”阅读】,本期将分享分布式事务的一种实现方式2PC。 一、概念 二阶段提交2PC(Two phase Commit)是指,在分布式系统里,为了保证所有节点在进行事务提交时保持一致性的一种算法。 二、背景在分布式系统里,每个节点都可以知晓自己操作的成功或者失败,却无法知道其他节点操作的成功或失败。当一个事务跨多个节点时,为了保持事务的原子性与... 阅读全文
posted @ 2017-11-16 10:58 迷雾千寻 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 单机部署(stand-alone):只有一个饮水机提供服务,服务只部署一份 集群部署(cluster):有多个饮水机同时提供服务,服务冗余部署,每个冗余的服务都对外提供服务,一个服务挂掉时依然可用 热备部署(hot-swap):只有一个桶提供服务,另一个桶stand-by,在水用完时自动热替换,服务冗余部署,只有一个主服务对外提供服务,影子服务在主服务挂掉时顶上 磁盘阵列RAID(R... 阅读全文
posted @ 2017-11-16 10:01 迷雾千寻 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 一、什么是高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。 高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。 响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请... 阅读全文
posted @ 2017-11-15 08:45 迷雾千寻 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 一、什么是高可用 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。 假设系统一直能够提供服务,我们说系统的可用性是100%。 如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。 很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.... 阅读全文
posted @ 2017-11-15 08:43 迷雾千寻 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 引言 软件架构设计就是软件系统的‘布局谋篇’,是软件抽象发展到一定阶段的产物。软件设计人员学习软件架构知识,旨在站在较高的层面上,整体的解决好软件的设计,复用,质量和维护等方面的实际问题。本文以图形的方式进行总结归纳,从软件架构的描述,设计,风格,评价,形成方法进行阐述。 软件架构设计总述: 软件架构的概念 软件架构的意义 软件架构的风格 分层架构 面向服务的架构(SOA) 特定领域的... 阅读全文
posted @ 2017-11-14 16:52 迷雾千寻 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 本文用图形化的形式描述OOP的相关知识。对OOP进行系统化的梳理,以便掌握。 涉及知识点: OOP的相关知识 OOP知识【Object-Orientation Programming 面向对象编程】总图如下: 下面分别介绍: 基本概念: 主要特征: 详细图 OOAD【面向对象分许与设计:OOAD是根据OO的方法学,对软件系统进行分析和设计的过程】 域模型【域模型是面向对象的。在面向对象... 阅读全文
posted @ 2017-11-14 16:51 迷雾千寻 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 很久以前,老王去饭店吃饭,需要先到饭店,七荤八素点好菜,坐等饭菜上桌,然后大快朵颐,不亦乐乎。 有了第三方订餐外卖平台(代理),老王懒得动身前往饭店,老王打个电话或用APP,先选好某个饭店,再点好菜,外卖小哥会送上门来。 由于某个品牌的饭店口碑特别好,食客络绎不绝涌入,第三方订餐电话也不绝于耳,但是限于饭店接待能力有限,无法提供及时服务,很多食客等得不耐烦了,纷纷铩羽而归,饭店老总看着煮熟的鸭子飞... 阅读全文
posted @ 2017-11-14 14:07 迷雾千寻 阅读(863) 评论(0) 推荐(0) 编辑
摘要: 零、需求缘起 第一篇文章“一分钟了解负载均衡”和大家share了互联网架构中反向代理层、站点层、服务层、数据层的常用负载均衡方法。 第二篇文章“lvs为何不能完全代替DNS轮询”和大家share了互联网接入层负载均衡需要解决的问题及架构演进。 在这两篇文章中,都强调了“负载均衡是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】”。 然而,后端的service有可能部署在... 阅读全文
posted @ 2017-11-14 10:27 迷雾千寻 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 一、需求缘起 Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的配置不同的业务架构师有不同的经验值,有些业务设置为CPU核数的2倍,有些业务设置为CPU核数的8倍,有些业务设置为CPU核数的32倍。 “工作线程数”的设置依据是什么,到底设置为 阅读全文
posted @ 2017-11-14 09:27 迷雾千寻 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章“一分钟了解负载均衡的一切”引起了不少同学的关注,评论中大家争论的比较多的一个技术点是接入层负载均衡技术,部分同学持这样的观点: 1)nginx前端加入lvs和keepalived可以替代“DNS轮询” 2)F5能搞定接入层高可用、扩展性、负载均衡,可以替代“DNS轮询” “DNS轮询”究竟是不是过时的技术,是不是可以被其他方案替代,接入层架构技术演进,是本文将要细致讨论的内容。 一... 阅读全文
posted @ 2017-11-13 18:45 迷雾千寻 阅读(196) 评论(0) 推荐(0) 编辑