
架构设计
文章平均质量分 77
Tao的博客
程序猿
展开
-
集中式缓存
这篇文章我们继续聊聊《深入分布式缓存:从原理到实践》中关于集中式缓存的部分。集中式缓存的基本概念,我在前面的文章 本地缓存 中已经有过介绍,相对于本地缓存,集中式缓存主要有以下几个优点:保证缓存数据的一致性。集中式缓存的数据是集中管理的,这样就能保证所有应用服务器取到的数据时一致的。更方便的数据扩容。当缓存数据过多需要扩容时,可以对缓存服务器进行水平扩展。应对单点故障。如果采用分布式...原创 2018-07-07 21:34:17 · 2399 阅读 · 0 评论 -
微服务架构核心(四)- 微服务组织架构
前一篇介绍了微服务的技术架构,这一篇再来介绍微服务的组织架构, 之所以要聊组织架构,是由于著名的康威法则。 设计系统的组织,其产生的架构设计等价于组织间的沟通结构。康威法则讲的是系统架构需要与开发系统的组织架构相匹配,如果不匹配就会造成沟通成本过高的问题。例如开发一个单体应用,当参与开发的人员很少时,大家都隶属于一个团队,没有太大的问题。但是一旦应用的规模很大,需要多个团队...原创 2018-08-07 13:48:14 · 6036 阅读 · 0 评论 -
微服务架构核心(二)- 微服务的利与弊
不知道你有没有这样的感受,新系统在前期调研架构的时候,大家都希望优先选择微服务架构,好像一个系统不是微服务架构就OUT了一样。但是真正的架构设计,并不是哪个架构流行就选哪个,那是要遵循简单、合适、扩展的原则。所以在选择微服务架构之前,我们应该仔细衡量它的利与弊,分析微服务架构究竟能为系统带来什么优势,同时又会新增哪些挑战。利强模块化边界模块化一直是软件设计中的一个重要原...原创 2018-07-21 09:33:18 · 816 阅读 · 0 评论 -
微服务架构核心(三)- 微服务技术架构体系
微服务架构的名字里虽然有个”微”,但它涉及的整体架构体系可一点也不”微”,微服务架构除了业务代码的开发以外,还需要很多的支撑服务。每个公司都有自己的微服务架构体系,虽然在细节上有很多不同,但是整体的思路是类似的,下图展示了一个比较成熟的微服务架构体系。这个体系按照请求接入,由外到内的顺序,将整体架构分为接入层、网关层、业务服务层、支撑服务层、平台服务层和基础设施层六层。接入层...原创 2018-07-28 18:25:38 · 4693 阅读 · 1 评论 -
微服务架构核心(一)- 什么是微服务
微服务是目前互联网公司最常用的架构,与传统单体架构相比,微服务架构更加适应互联网快速、灵活的特点,接下来的系列文章我会逐一介绍微服务架构的核心知识点。第一篇我们先来了解什么是微服务。微服务的特点微服务最经典的定义是Martinfowler老爷子在2014年的一篇文章中介绍的,原文如下: the microservice architectural style is an a...原创 2018-07-14 15:51:37 · 1709 阅读 · 0 评论 -
缓存为王
计算机技术经过几十年的发展,无论是规模、性能还是容量都已经与往日大不相同,尤其是近年来互联网的不断普及,对以互联网为基础的系统架构提出了更多挑战。而互联网架构系统与传统IT系统最大的区别就是对于缓存的使用。合理使用缓存可以提高系统的响应速度,扩大容量,减少成本,可以毫不夸张的讲,缓存是互联网架构中最关键的环节,是每一个互联网公司必须面对和攻克的一个难题。今天,我来为大家介绍一本17年1...原创 2018-07-07 21:29:12 · 512 阅读 · 0 评论 -
分布式系统
这篇文章我们继续聊聊《深入分布式缓存:从原理到实践》这本书。本书的核心是介绍在分布式系统中如何使用缓存,在深入了解缓存的使用之前,我们先来了解缓存的使用方:分布式系统。遗憾的是,书里虽然介绍了一些分布式系统的概念、理论和实践,却没有解释究竟什么样的系统是分布式系统,以及使用分布式系统的原因,所以这篇文章,我会结合自己的工作经验,谈一谈自己对于这两个问题的理解。最通俗的解释一听到“分...原创 2018-07-07 21:30:45 · 292 阅读 · 0 评论 -
本地缓存
经过前面两篇文章的介绍,我们知道了缓存的重要性以及分布式系统的基础概念,接下来我们就要开始正式学习一些主流的缓存系统。首先来简单了解缓存系统的分类,缓存系统按照缓存数据的存储方式可以分为本地缓存和集中式缓存两种。 本地缓存:缓存数据保存在单个应用服务器中,各个应用服务器之间的缓存数据是独立的。 集中式缓存:缓存数据保存在专门的缓存服务器中,应用服务器通过网络请求从缓存服务器获...原创 2018-07-07 21:32:21 · 4867 阅读 · 0 评论 -
微服务架构核心(五)- 服务发现
每一个服务都存在服务的提供方与消费方,服务发现就是消费方发现并且调用服务方提供的服务。在微服务架构下,存在众多的消费方与服务方,而且服务运行在不同的进程之中,消费方如果想要调用某一个服务,必须通过远程调用的方式,此时就会遇到下面几个问题:消费方如何知道服务方的调用地址?以集群方式部署的服务方,如何保证负载均衡?当服务方发生变动,例如IP变更、服务下线等,如何通知到消费方?服务发...原创 2018-09-04 23:08:19 · 1262 阅读 · 0 评论