前言:本文是由最近做的一个项目有感而发,因为之前做了一些技术栈的统一,为了用antDesign的pro-table,PC统一使用react,但是我们有一些老的项目是vue的,本次新页面较多,老页面的改动较少,除此之外老项目想换菜单,因此我们想借助本次机会用react开发,经过了几番思考,发现本次很适合用微前端来完成本次需求,最终决定用react搭建一个基座(主应用),将原来的vue项目接入到基座,这样我们不仅实现了新页面react开发,而且老项目也能和新项目融合一起。微前端的概念什么是微前端?微前端是借鉴了微服务的架构理念,它既可以将多个项目融合为一,又可以减少项目之间的耦合,提升项目扩展性,
微前端是最近几年火起来的概念,iframe是早期实现微前端的理想方案,而现在有了其它的方案,比如qianduan框架,single-spa,以及webpack5带来的联邦模块方案。但是每一个方案都有其优缺点,感兴趣的可以去实践一下。1、项目创建创建3个项目,一个基座项目project_base,2个子项目project_a和project_b项目。并在各个项目安装好依赖(本项目基于vue搭建)。projects目录.png2、项目基本结构在基座项目里创建一个路由文件如iframe.vue,我们在这个文件里完成project_a,project_b等子项目的访问。iframe.png3、项目路由
一、思考大家都知道异步任务分为宏任务和微任务,不知道的可以看我的另一篇文章(深入理解EventLoop的运行机制)要搞清楚requestAnimationFrame和requestIdleCallback是宏任务还是微任务就必须要搞清楚下面几个问题:浏览器在每一轮EventLoop事件循环中都会去渲染屏幕吗?requestAnimationFrame在哪个阶段执行,是在渲染前还是渲染后?是在微任务执行前还是执行后?requestIdleCallback在哪个阶段执行,是在渲染前还是渲染后?是在微任务执行前还是执行后?二、任务的执行时机在浏览器的EventLoop中是有多个任务队列的,每个任务队
小聊:本次小白为大家带来SpringCloud项目工程的搭建详细步骤,其实新建项目并不难,对于新手来说有疑惑的就是有关pom.xml的依赖导入什么以及依赖的版本选择问题。所以,接下来小白灰被大家带来目前官方最新适配的SpringCloudAlibaba项目的依赖选择,当然小白不是只讲最终的配置结果,而是会提示大家如何去选择项目版本,也就是说,大家可以随时参照,以供以后也可以选择最新适合的依赖版本组合。所以如果只想要SpringCloud微服务的话也可以。小白开发部署过SpringCloudAlibaba微服务项目,所以没问题。注意:小白这里强调的是最新最匹配的依赖版本组合,主要是包含Sprin
我设计了一个简单的通信协议(protocol),基于原始TCP套接字,可以在一些嵌入式设备之间实现简单的消息传递。综上所述,我的嵌入式设备是一盒电子设备,其中包含一个相对较小的微Controller,该微Controller运行基本的嵌入式RTOS(基本上只提供任务优先级和消息队列)和TCP/IP堆栈。TCP协议(protocol)的预期用途是使两个或多个“盒子”能够通过同一建筑物中的LAN相互通信允许盒子通过互联网与外部服务器交换数据。我现在有一个在我的金属盒子之间工作的消息协议(protocol),我很满意。两个盒子之间的基本消息传递过程基本上是:盒子'A'启动到'B'的套接字连接
一、服务器环境配置 前面说明了服务器Nginx的安装和配置,这里稍微有些不同,但是因为此文是用Nginx镜像和前端镜像页面同时部署的方式来打包发布的,所以这里不再需要建立/data/container/nginx/html目录,因为要发布的静态页面已经在Nginx镜像中的/nginx/html目录了。这里也减少了手动部署安装Nginx的步骤,而是在Jenkins任务中调用shell命令自动执行安装。1、新建Dockerfile文件,用于定义Nginx镜像,及将打包成功的静态文件复制到镜像中,此文件放在前端项目的根目录下,Jenkins打包时会从此处查找Dockerfile文件。FROMngin
一、安装1、编写docker-compose部署Postgres、SonarQube、Jenkins的yml文件jenkins-compose.ymlPostgres:作为SonarQube的数据库存储SonarQube:代码质量检查Jenkins:jenkins/jenkins:lts镜像,jenkinsci/blueocean镜像缺少node运行时环境,导致node无法运行。关键配置说明(宿主机:Docker容器):/data/docker/ci/postgresql/data:/var/lib/postgresql/data#Postgres数据存储映射到宿主机目录/etc/localt
16微服务与集群部署16.1一个微服务一般会采用集群部署吗?对于一个微服务是否采用集群部署,这完全取决于具体的业务需求和系统规模。如果一个微服务的访问压力较大,或者需要提供高可用性,那么采用集群部署是一种常见的策略。通过集群部署,可以在一定程度上提高服务的可用性和容错能力,因为当某个节点发生故障时,其他的节点可以继续提供服务。同时,通过负载均衡技术,可以将请求分散到各个节点,提高系统的处理能力。16.2为什么每一个微服务都可以提供读写服务?而不是像raft集群那样部署,只能leader节点提供读写能力,其他节点保证一致性和可用性这是因为他们的读写的数据库是同一个,所以一致性保证是由独立部署的分
本文介绍使用Jenkins一键将NodeJS(Vue)前端项目打包并上传到生产环境服务器,这里使用的是直接打包静态页面,发送到远程服务器Nginx配置目录的方式,首先确保服务器环境配置好,安装Nginx,运行目录,日志存放目录等。一、服务器环境配置 Nginx安装也有多种方式,源码安装、yum安装、Docker安装等,安装并不复杂,我们这里采用Docker安装的方式,由于习惯于标准化及存档,方便在不同服务器部署相同的环境,我们这里使用了DockerCompose来定义Nginx容器配置信息。1.Nginx的docker-compose-nginx.yml定义文件编写 Docker及Dock
今日目标掌握Gateway服务网关在当今的微服务架构中,一个高性能、可扩展的网关是至关重要的。而SpringCloudGateway作为SpringCloud生态系统的一部分,成为许多开发者选择的首选网关解决方案。本文将为您提供一个简单易懂的SpringCloudGateway入门指南,帮助您快速上手并开始构建强大的微服务网关。一.Gateway服务网关介绍SpringCloudGateway,它是一个基于SpringFramework5、ProjectReactor和SpringBoot2的非阻塞(响应式编程和事件技术流)API网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方