
架构杂谈
AjuPrince
本人喜欢学习新的技术!
展开
-
架构杂谈《一》
从传统单体架构到服务化架构的发展历程 典型的单体架构分为三个层级,Web层、业务逻辑层和数据存储层,每个层的指责分别如下: Web 层:负责与用户交互或者对外提供接口业务逻辑层:为了实现业务逻辑而设计的流程处理模块数据存储层:将业务逻辑层处理的结果持久化 将不同的模块化组件聚合后运行在通用的应用服务器上。 单体架构已经对企业级应用的整体架构进行了逻辑分层,包括了上面提到的Web层、...原创 2019-07-13 11:09:06 · 878 阅读 · 0 评论 -
架构杂谈《九》
微服务与轻量级通信机制 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间胡亮协调、互相配合,为用户提供最终价值。在微服务架构中,服务与服务之间通信时,通常是通过轻量级的通信机制,实现彼此间的互通互联、互相协作。所谓轻量级通信机制,通常是指与语言无关、与平台无关的这类协议。通过轻量级通信机制,使服务与服务之间的协作变得简单、标准化。 1、同步通信与异步通信 1...原创 2019-08-05 19:54:33 · 160 阅读 · 0 评论 -
架构杂谈《六》
超时处理模式 在服务化或者微服务架构里,传统的整体应用拆分成多个职责单一的微服务,微服务之间通过某种网络通信协议互相通信和交互,完成特定的功能,然而由于网络通信的不稳定,在设计系统时必须考虑到对网络通信的容错,特别是对调用超时问题的处理。 一、微服务的交互模式 1、同步调用模式 在同步调用模式中,服务A调用服务B,服务A的线程阻塞等待服务B的处理结果,如果服务B一直不返回处...原创 2019-07-22 15:18:51 · 3580 阅读 · 0 评论 -
架构杂谈《七》
容器VS虚拟机 一、什么是虚拟机 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。 虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何...原创 2019-07-25 11:56:10 · 180 阅读 · 0 评论 -
架构杂谈《八》
Docker 架构 一、Docker 引擎的三大组件 1)Docker 后台服务(Docker Daemon):是长时间运行在后台的守护进程,是Docker的核心服务,可以通过命令dockerd与它进行交互通信。 2)REST 接口(REST API):程序可以通过REST的接口来访问后台服务或向它发送操作指令。 3)交互式命令行界面(Docker CLI):我们大多数时间都...原创 2019-07-29 17:17:28 · 182 阅读 · 0 评论 -
架构杂谈《五》
保证最终一致性的模式 在大规模、高并发服务化系统中,一个功能被拆分成多个具有功能单一的子功能,一个流程会有多个系统的多个单一功能的服务组合实现,如果使用两阶段提交协议和三阶段提交协议,确实能解决系统间的一致性问题。其实现也比较复杂、成本比较高,最重要的是性能不够好,相比来看,TCC协议简单、更容易实现,但TCC协议由于每个事务都需要执行Try再执行Confirm 显得有点臃肿,实现最终一致性...原创 2019-07-19 12:36:37 · 176 阅读 · 0 评论 -
架构杂谈《四》
分布式一致性协议 一、引言 在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些个副本会放在不同的物理机上,为了对用户提供正确的数据,我们需要保证这些放在不同物理机上的副本是一致的。为了解决这种分布式一致性问题,提出了很多经典的协议和算法,比较著名的是 两阶段提交协议和三阶段提交协议。 二、两阶段提交协议 两阶段提交协议把分布式事务分为两个阶段,一...原创 2019-07-17 08:55:25 · 4873 阅读 · 0 评论 -
架构杂谈《三》
一致性问题 前面的《架构杂谈一》和《架构杂谈二》 杂谈了从服务化到微服务架构的演进,并肯定了服务化和微服务架构是一脉相承的。微服务在服务化架构的基础上,对服务化的细节和方案进行了优化和细化,重点突出了无中心化管理的微服务架构,通过对服务进行有效的拆分来实现敏捷开发和自动化部署,并在海量用户的请求下,提高了微服务架构下较细粒度的水平伸缩能力。 然而,微服务架构并不是万能的它可以说就是一把...原创 2019-07-17 08:54:33 · 2424 阅读 · 1 评论 -
架构杂谈《二》
服务化到微服务 1、微服务的产生 随着互联网企业的不断发展,海量用户发起的大规模、高并发请求是企业不得不面对的,上一篇 架构杂谈《一》杂谈的SOA服务化系统能够分解任务,让每个服务更简单、职责单一、更易于扩展。但无论是Web Service 还是ESB,都有时代遗留下的问题。 Web Service: 1)依赖中心化的服务发现机制 2)使用SOAP通讯协议,通常使用XML格式来序列化通信...原创 2019-07-13 11:09:48 · 215 阅读 · 0 评论 -
架构杂谈《十》
常用开发模式 一、瀑布式开发 瀑布式开发是在1970年提出的软件开发模型,是一种较老的计算机软件开发模式,也是典型的预见性的开发模式,在瀑布式开发中,开发严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤进行,步骤的成果作为衡量进度的方法。瀑布式开发最早强调系统开发应有完整的周期,且必须完成完整地经历每个周期内的每个阶段,并系统化地考量分析所设计的技术、时间与资源等。 瀑...原创 2019-08-15 20:07:52 · 195 阅读 · 0 评论