服务器的架构有哪些

2023-09-18 17:07:44

服务器的架构有哪些
1、单体架构

软件设计经典的3层模型是表现层,业务逻辑层,数据访问层。典型的单体架构就是将所有的业务场景的表现层,业务逻辑层,数据访问层放在一个工程中最终经过编译,打包,部署在一台服务器上。

2、垂直架构

垂直架构是将一个大项目,按照业务场景纵向拆分为互不相干的单体架构的项目。

3、前后端分离

前后端分离是横向拆分,在前后端分离的架构中,前端关注页面的样式与动态数据的解析及渲染,而后端专注于具体业务逻辑,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。

4、EAI架构

EAI架构是连通相互独立的系统,主要解决信息孤岛问题。EAI架构将异构平台的业务系统进行集成的一种技术,主要解决各个系统各自为政,相互无法连通,形成信息孤岛的问题。EAI使用中间件作为粘合剂,来连接各个业务相关的异构系统、数据源,从而满足应用系统之间信息共享的需要。

5、SOA架构

SOA架构将各个系统的不同功能单元抽象为服务,服务间彼此通过标准的接口协议连接起来,并以此完成特定功能的实现。当出现新的业务需求时,不需要从零开始实现,只需将已有的服务进行编排装配来实现新业务。SOA是对异构系统的服务化,实现服务复用与编排。

6、微服务

微服务是SOA思想的一种提炼,它强调业务系统彻底的组件化和服务化,通过有效的拆分系统,实现敏捷开发和部署。原有的单个业务系统被拆分为多个可以独立开发,设计,运行和运维的小应用,这些小应用之间通过服务完成交互和集成。

7、微服务2.0

以ServiceMesh为代表,将服务治理作为通用组件并下沉到平台层实现,使得应用层仅仅关注业务逻辑。将业务所有的流量都转发到 ServiceMesh 的代理服务中,由服务网格帮助应用程序在海量服务、复杂的架构和网络中建立稳定的通信机制。Service Mesh强调的是通过独立的进程代理的方式,承担了微服务框架所有的功能,包括服务注册发现、负载均衡、熔断限流、认证鉴权、缓存加速等。

更多推荐

C++之template可变模板参数应用总结(二百二十八)

简介:CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀人生格言:人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.更多原创,欢迎关注:Android系统攻城狮1.前言本篇目的:C++之

步步为营,如何将GOlang引用库的安全漏洞修干净

文章目录引场景构建第一步、直接引用的第三方库升级修复策略1.确认是否为直接引用的第三方库2.找到需要升级的版本是否为release版本第二步、间接引用的第三方库升级修复策略那么问题来了,我们这么间接引用库的对应的直接引用库是哪个呢?(一)没有release版本,但直接引用库有最新的代码可升级(1)将最新代码下载到项目某

Redis 集合(Set)快速指南 | Navicat

Redis支持通过多种数据类型来存储项目集合。其中,包括列表、集合和哈希。上周的博文介绍了列表(List)数据类型并重点介绍了一些用于管理列表(List)的主要命令。在今天的文章中,我们将转向关注集合(Set)数据类型。在Redis中,集合(Set)与列表(List)相似,但是,集合(Set)中的元素是无序的,并且每个

skywalking入门

参考:https://www.jianshu.com/p/ffa7ddcda4ab参考:https://developer.aliyun.com/article/1201085skywalking(APM)调用链路分析以及应用监控分析工具Skywalking主要由三大部分组成:agent、collector、webap

行为型模式-策略模式和责任链模式对比

一、区别:目的和问题解决方式:策略模式的主要目的是将一组算法或行为封装成独立的策略对象,并使客户端能够在运行时选择其中一个策略来执行。这种模式通常用于实现相同操作的不同算法或策略之间的切换和替换。责任链模式的主要目的是将请求的发送者和接收者解耦,允许多个对象依次处理请求,直到其中一个对象能够处理请求为止。责任链模式通常

opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4

博客【opencvdnn模块示例(3)目标检测object_detection(2)YOLOobjectdetection】测试了yolov3及之前系列的模型,有在博客【opencvdnn模块示例(15)opencv4.2版本dnn支持cuda加速(vs2015异常解决)】说明了如何使用dnn模块进行cuda加速推理。

Android 混淆使用及其字典混淆(Proguard)

1.使用背景ProGuard能够通过压缩、优化、混淆、预检等操作,检测并删除未使用的类,字段,方法和属性,分析和优化字节码,使用简短无意义的名称来重命名类,字段和方法。从而使代码更小、更高效、更难进行逆向工程。Android代码混淆,又称Android混淆,是一种AndroidAPP保护技术,用于保护APP不被破解和逆

css知识学习系列(2)-每天10个知识点

目录1.基础知识CSS中的伪元素和实际元素有什么区别?2.动画与过渡CSS中的transition和animation有何区别?在什么情况下使用哪种动画?3.Flexbox在Flexbox布局中,“flex-wrap”属性有什么作用?4.Grid请解释CSS中的网格线(gridlines)和轨道(tracks)是什么?

Docker 容器生命周期:创建、启动、暂停与停止

🌷🍁博主猫头虎带您GotoNewWorld.✨🍁🦄博客首页——猫头虎的博客🎐🐳《面试题大全专栏》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大

Android设计支持库

本文所有的代码均存于https://github.com/MADMAX110/BitsandPizzas设计支持库(DesignSupportLibrary)是Google在2015年的I/O大会上发布的全新MaterialDesign支持库,在这个support库里面主要包含了8个新的MaterialDesign组件

C#里面的三种定时计时器:Timer

在.NET中有三种计时器:1、System.Windows.Forms命名空间下的Timer控件,它直接继承自Componet。Timer控件只有绑定了Tick事件和设置Enabled=True后才会自动计时,停止计时可以用Stop()方法控制,通过Stop()停止之后,如果想重新计时,可以用Start()方法来启动计

热文推荐