首页 > 其他分享 >微服务架构

微服务架构

时间:2024-02-06 09:57:28浏览次数:27  
标签:服务 部署 模式 API 架构 单元

微服务架构(microservices architecture)是服务导向架构(service-oriented architecture,缩写 SOA)的升级。

每一个服务就是一个独立的部署单元(separately deployed unit)。这些单元都是分布式的,互相解耦,通过远程通信协议(比如REST、SOAP)联系。

 

 

微服务架构分成三种实现模式。

  • RESTful API 模式:服务通过 API 提供,云服务就属于这一类
  • RESTful 应用模式:服务通过传统的网络协议或者应用协议提供,背后通常是一个多功能的应用程序,常见于企业内部
  • 集中消息模式:采用消息代理(message broker),可以实现消息队列、负载均衡、统一日志和异常处理,缺点是会出现单点失败,消息代理可能要做成集群

优点

  • 扩展性好,各个服务之间低耦合
  • 容易部署,软件从单一可部署单元,被拆成了多个服务,每个服务都是可部署单元
  • 容易开发,每个组件都可以进行持续集成式的开发,可以做到实时部署,不间断地升级
  • 易于测试,可以单独测试每一个服务

缺点

  • 由于强调互相独立和低耦合,服务可能会拆分得很细。这导致系统依赖大量的微服务,变得很凌乱和笨重,性能也会不佳。
  • 一旦服务之间需要通信(即一个服务要用到另一个服务),整个架构就会变得复杂。典型的例子就是一些通用的 Utility 类,一种解决方案是把它们拷贝到每一个服务中去,用冗余换取架构的简单性。
  • 分布式的本质使得这种架构很难实现原子性操作,交易回滚会比较困难。

标签:服务,部署,模式,API,架构,单元
From: https://www.cnblogs.com/wangtiantian/p/18009178

相关文章

  • 云架构
    云结构(cloudarchitecture)主要解决扩展性和并发的问题,是最容易扩展的架构。它的高扩展性,主要原因是没使用中央数据库,而是把数据都复制到内存中,变成可复制的内存数据单元。然后,业务处理能力封装成一个个处理单元(prcessingunit)。访问量增加,就新建处理单元;访问量减少,就关闭处理单元......
  • SDN关键技术及架构
    SDN是软件定义网络的简称,在SDN中,网络的控制面与数据面分离,并且通过中心控制器进行统一管理。SDN的主要目标是提高网络的灵活性、可编程性和智能化程度,从而更好地适应不断变化的业务需求。SDN可以通过控制器来管理网络设备,控制网络流量和优化网络服务质量。SDN还可以使网络更加安全......
  • 什么是微服务的网关?
    假如有10个微服务,地址分部是:http://service1.abc.comhttp://service2.abc.comhttp://service3.abc.com................................................http://service10.abc.com网关:http://gatway.abc.com (在这个站点的appsetting.json里配置和微服务之间的映射)最后......
  • ArcgisServer屏蔽服务访问页面等安全漏洞
    1信息遍历通过ArcgisServer自身配置进行设置。本机测试通过。1.1配置步骤打开如下地址http://ip:6080/arcgis/admin/system/handlers/rest/servicesdirectory点击edit,将ServicesDirectoryEnabled的勾选去掉,保存。 1.2设置后效果 2不安全的域传送漏洞删除Arcgis......
  • 在服务器中安装有ubuntu图形界面的docker,并通过主机的VNC进行远程控制(web页面远程控制
    参考链接https://github.com/fcwu/docker-ubuntu-vnc-desktop.git1.拉取镜像dockerpulldorowu/ubuntu-desktop-lxde-vnc2.直接dockerrun启动,启动参数如下,在浏览器打开,这里设置的端口是6080,在服务器执行这个命令运行之后dockerrun--namevnc_test-p6080:80-v/dev/s......
  • windows下部署Blynk服务器部署最新教学
    目录Step1.下载链接Step2.部署Step2.1软件安装及载入工程1.安装Intellij社区版正常安装即可2.下载maven并将其添加进环境变量Step1.下载链接链接:https://pan.baidu.com/s/1ysbAYhyxUGx1ZG3xNMdsAw?pwd=1fel提取码:1felStep2.部署Step2.1软件安装及载入工程1.安装Intel......
  • 金融行业多端支付系统强一致性架构设计(下)
    2支付能力的快速接入支付快速接入:设计流程主要目标:屏蔽接入第三方支付平台的复杂度,为业务提供便捷接入的支付的能力。整体交互逻辑:用户下单后,业务线生成生订单的同时请求支付系统,返回携带加密后的收银台链接,业务前端渲染收银台H5链接,之后用户操作都直接与支付系统直接交互,不再经过......
  • power shell 命令 启用 服务 禁用服务
    在PowerShell中,你可以使用以下命令来替代DISM/Online/Cleanup-Image/RestoreHealth:powershellCopyCodeRepair-WindowsImage-Online-ScanHealth这个命令将扫描并修复Windows映像中的任何问题。请确保以管理员身份运行PowerShell以执行这个命令 这些命令用于在Windows......
  • 云打印服务未启动是什么情况?云打印服务未启动怎么解决?
    随着互联网技术的发展,很多“云概念”也开始火热起来。这其中,最适合办公人群和学生人群的“云打印”概念也受到了追捧。目前市场上提供的云打印服务有很多,但是最近出现了较多云打印服务的问题。那么今天小易就带大家来了解一下,云打印服务未启动是什么情况?云打印服务未启动怎么解决?......
  • 幻兽帕鲁-搭服务器/迁服
    搭服务器1.安装SteamCMD和依赖项sudoadd-apt-repositorymultiversesudodpkg--add-architecturei386sudoaptupdatesudoaptinstallsteamcmd 注意:幻兽帕鲁里面的服务器启动脚本不能用root账户启动,所以得创非root账户的用户,不然启动不了2.安装Manuallysudoapt-get......