从零开始学微服务】03.软件架构的演化过程

目前大部分的企业系统和互联网应用都是采用Web的形式提供服务能力,根据系统的组织方式和部署结构,我们通常把软件架构的演化过程分为以下几个阶段: 单体架构垂直架构SOA架构微服务架构 单体架构单体架构,也被成为巨石架构,就像一块巨石一样,系统的所有代码、所有逻辑、所有模块都集中在一个项目里,并且会被部署在一个进程中。比如下面的电商系统: 虽然在电商系统被分为了表示层、业务逻辑层、数据访问层,但是它...

从零开始理解Linux中断架构(6)---Linux执行上下文

        因为中断会引起Linux从用户态切入到内核态,为了描述中断程序运行的外围环境,我们需要理解Linux中执行上下文这一概念。 1 执行上下文的基本理念         我们先抛开Linux复杂的框架,回到最基本的原型系统,后续复杂的处理都是在基本的原型系统上一个一个版本生长出来的。所谓的把程序放到CPU上去执行,本质是为PC指针赋值,让CPU开始进入目标程序逻辑并被这个程序逻辑俘获。    ...

从零开始学微服务】02.初识微服务

大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家。软件架构风格那么到底微服务是个什么东西呢?其实,微服务是一种软件架构风格。那么什么又是软件架构风格呢?可能有的童鞋已经懵圈了。我们打个比方,好比建造房子,有中式建筑,欧式建筑等。这些不同的建筑风格,从外观上看,一眼就能看出来差别。比如黄鹤楼,典型的中式风格建筑,整体使用木制卯榫结构,飞檐翘角,甚至还有五脊六兽。 再看巴黎的教堂,整体用石头...

从零开始理解Linux中断架构(15)--Linux GIC控制初始化

 1 GIC中断控制器初始化         (1)SPI配置成:group-1 non-secure,         (2)SPI中断源优先级配置成一样:GICD_INT_DEF_PRI_X4         (3)所有的全局中断都默认路由到启动CPU         (4)使用EOIMode1模式         Linux不是为硬实时设计的系统,他无视了GIC的许多的先进功能,Linux为了获得系...

从零开始学微服务】01.微服务的过去与现在

大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家。微服务的历史再介绍什么是微服务之前,我们先了解一下微服务架构的历史,也就是微服务是如何提出来的。2011年5月2011年5月,在威尼斯附近举办了一个软件架构师研讨会,在会上就开始讨论了“微服务”这个术语,用来描述一种常见的架构风格,他们中许多人最近都在探索这种风格。2012年5月2012年5月,詹姆斯·路易斯(James Lewis)...

从零开始理解Linux中断架构(5)--EL跃迁与Linux用户/内核态

ARM64系统Reset时,PE进入最高的异常级别运行状态         1)Reset后最高异常级别可以选用任何一种运行状态         2)cold reset由输入信号配置,warm reset由RMR_ELx.AA64配置 1)内核态EL1迁移到EL0t         上一节我们提到需要仔细理解的图吗?eret这条特殊的异常返回指令。           我们期望从内核态EL1以EL0t的...

从零开始理解Linux中断架构(4)--学习几条ARM汇编指令

        因为entry.S是使用汇编指令编写的。我们需要学习几条汇编,以便能够看懂entry.S来消除很多的底层疑惑。这里只需要理解基本的约定和寻址格式和几条常用的指令,达到能够读懂代码的目的就够了。 1)基本约定: 寄存器: 为标号,不加前缀 操作数顺序:目标操作数在左,源操作数在右 立即数...

【端午节】用Vue3写粽子——从零开始

前言 在端午节即将到来之际,我们来一起写一个粽子组件来庆祝这个传统节日。 准备工作 首先,我们需要安装Vue3及其相关依赖,这里使用Vue CLI来创建项目。 # 安装Vue CLInpm install -g @vue/cli# 创建Vue3项目vue create zongzi 接下来,我们需要安装一些必要的依赖。 # 安装Tailwind CSSnpm install tailwindcs...

从零开始理解Linux中断架构(13)--Linux中断域

        由于计算机系统日益复杂,外设中断数量不断增加,系统可能同时需要多个中断控制器进行级联,中断源需要统一管理,面对这样的状况,Linux对各种中断控制器进行抽象,对如何进行硬件中断号到IRQ number映射关系上进行进一步抽象出通用与设备无关的架构,通用中断处理代码中就有了irq domain的出现。         实质上中断域的就是管理中断源的硬件中断号与逻辑中断号的映射关系      ...

从零开始Vue项目中使用MapboxGL开发三维地图教程(五)实现框选要素功能、可拖动点展示坐标以及地图上实时更新要素

文章目录 1、实现框选要素功能1.1、添加点数据的图层:1.2、增加绘图插件(mapbox-draw)1.3、实现框选并让选择的目标数据高亮 2、实现地图上可拖动点2.1、实现功能:2.2、实现思路:2.3、代码示例: 3、实时更新要素功能 1、实现框选要素功能 1.1、添加点数据的图层: 数据源名称为earthquakes,点图层id为clusters map.addSource('earthquak...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.013636(s)
2024-05-17 22:19:28 1715955568