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

微服务架构

时间:2023-11-02 17:05:59浏览次数:36  
标签:服务 部署 单块 系统 架构 团队

(1)什么是微服务

微服务顾名思义,就是很小的服务,所以它属于面向服务架构的一种。

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通 (通常是基于 HTTP 协议的 RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

微服务在更小的基础上,其实进一步在突显其独立性。

(2)特点

小,且专注于做一件事情; 轻量级的通信机制,松耦合、独立部署。

(3)结构

微服务架构_生产环境

(4)微服务的优势

微服务之所以能盛行,必然是有它独特优势的。

技术异构性:在微服务架构中,每个服务都是一个相对独立的个体,每个服务都可以选择适合于自身的技术来实现。

弹性:弹性主要讲的是系统中一部分出现故障会引起多大问题。在单块系统中,一个部分出现问题,可能导致整体系统的问题。而微服务架构中,每个服务可以内置可用性的解决方案与功能降级方案,所以比单块系统强。

扩展: 单块系统中,我们要做扩展,往往是整体进行扩展。而在微服务架构中,可以针对单个服务进行扩展。

简化部署: 在大型单块系统中,即使修改一行代码,也需要重新部署整个应用系统。这种部署的影响很大、风险很高,因此不敢轻易的重新部署。而微服务架构中,每个服务的部署都是独立的,这样就可以更快地对特定部分的代码进行部署。

与组织结构相匹配: 我们都知道,团队越大越难管理,同时团队越大也代表系统规模越大代码库越大,这样容易引起一系列的问题。且当团队是分布式的时候,问题更严重。微服务架构就能很好的解决这个问题,微服务架构可以将架构与组织结构相匹配,避免出现过大的代码库,从而获得理想的团队大小及生产力。服务的所有权也可以在团队之间迁移,从而避免异地团队的出现。

可组合性:在微服务架构中,系统会开放很多接口供外部使用。当情况发生改变时,可以使用不同的方式构建应用,而整体化应用程序只能提供一个非常粗粒度的接口供外部使用.

对可替代性的优化:在单块系统中如果删除系统中的上百行代码,也许不知道会发生什么,引起什么样的问题,因为单块系统中关联性很强。但在微服务架构中,我们可以在需要时轻易的重写服务,或者删除不再使用的服务。

(5)微服务与SOA的对比

微服务

SOA

能拆分就拆分

是整体的,服务能放在一起就放在一起

纵向业务划分

水平业务划分

由单一组织负责

按层级划分不同部门的组织负责

细粒度

粗粒度

两句话可以解释明白

几百字只是SOA的目录

独立的子公司

相当于大公司划分了一些单元业务

组件小

存在较复杂的组件

业务逻辑存在每一个服务中

业务逻辑横跨多个业务领域

使用轻量级的通信协议,如Http

企业服务总线(ESB)充当了服务之间通信的角色


微服务架构实现

SOA实现

团队级,自底而上开展实施

企业级,自顶而下开展实施

一个系统被拆分成多个服务,粒度细

服务有多个子系统组成,粒度大

无集中式总线,松散的服务架构

企业服务总线,集中式的服务架构

集成方式简单(Http、Rest、JSON )

集成方式复杂(ESB、WS、SOAP)

服务能独立部署

单块架构系统,相互依赖、部署复杂


标签:服务,部署,单块,系统,架构,团队
From: https://blog.51cto.com/u_15590807/8150219

相关文章

  • 新一代云原生可观测平台之CCE服务监控篇
    本文分享自华为云社区《新一代云原生可观测平台之CCE服务监控篇》,作者:云容器大未来。在云原生容器化浪潮的当下,监控是确保业务稳定性最受关注的问题之一。那么,华为云CCE容器服务又是如何帮助用户提高运维效率呢?半年来,CCE容器服务的运维团队持续拜访用户,并总结用户在云原生运维场景......
  • 特定领域软件架构(DSSA)
    特定领域软件架构(DSSADomainSpecificSoftwareArchitecture)基本活动......
  • Prometheus+Grafana实现服务性能监控:windows主机监控、Spring Boot监控、Spring Cloud
    1、Prometheus介绍Prometheus使用Go语言开发,中文名称叫:普罗米修斯。Prometheus是一个开源系统最初在SoundCloud构建的监控和警报工具包。自2012年成立以来,许多公司和组织已经采用了Prometheus,它现在是一个独立的开源项目并独立于任何公司进行维护。Prometheus于2016年加入云......
  • XSAN数据恢复-存储空间从XSAN架构迁移到STORNEXT架构时误格式化存储系统的XSAN数据恢
    XSAN数据恢复环境:昆腾存储,MACOS操作系统,存放视频类数据(MXF、MOV等格式文件)。XSAN故障&检测:将存储空间从XSAN架构迁移到STORNEXT架构后,存储空间中数据全部丢失。 故障存储中一共有9个数据卷:1个META信息卷+8个DATA信息卷。北亚企安数据恢复工程师分析META信息卷&读取其中的元信......
  • 合适的网站服务器怎么挑
    选择适合的网站服务器是一个关键的决策,它将影响您网站的性能、可用性和安全性。以下是一些关于如何选择网站服务器的指南:明确需求:首先,明确您的需求。考虑您网站的性质、流量、数据存储需求、数据库需求和特殊功能。不同类型的网站可能需要不同类型的服务器。类型选择:根据您的需求,选......
  • 新一代云原生可观测平台之CCE服务监控篇
    本文分享自华为云社区《新一代云原生可观测平台之CCE服务监控篇》,作者:云容器大未来。在云原生容器化浪潮的当下,监控是确保业务稳定性最受关注的问题之一。那么,华为云CCE容器服务又是如何帮助用户提高运维效率呢?半年来,CCE容器服务的运维团队持续拜访用户,并总结用户在云原生运维......
  • Jtti:香港服务器促销70% off,100M带宽@不限流$ 99.3/月,免费20G DDoS防御
    Jtti:香港服务器促销70%off,100M带宽@不限流$ 99.3/月,免费20GDDoS防御 Jtti针对香港服务器发布了特价促销,70%off,每月仅需$ 99.3,具体配置为XeonE5-2660、500GSSD、16GB内存、100M大带宽@不限流,免费20G防御,可以安装Linux或者Windows操作系统。除了香港服务器以外,新加坡和美国机......
  • 阿里云服务器 ubuntu 20.04 执行命令添加apt仓库时报错 安装docker报错
    云服务器ECS初始安装docker报错##############出错时候看下面#####################执行命令添加apt仓库时:sudoadd-apt-repositoryppa:ondrej/php&&sudoapt-getupdate报错:sudo:add-apt-repository:commandnotfound解决办法:先执行:apt-get-yinstallsoftware-pro......
  • 利用云计算和微服务架构开发可扩展的同城外卖APP
    如今,同城外卖APP已经成为了人们点餐的主要方式之一。然而,要构建一款成功的同城外卖APP,不仅需要满足用户的需求,还需要具备可扩展性,以适应快速增长的用户和订单量。一、了解同城外卖APP的需求在着手开发同城外卖APP之前,我们需要深入了解用户和业务需求。这包括用户希望能够浏览菜单、......
  • Chromium VIZ架构详解
    1.VIZ的三个端在设计层面上viz的架构如下图所示:在设计上 viz 分了三个端,分别是client端,host端和service端。client 端用于生成要显示的画面(CF)。应用中至少有一个rootclient,可以有多个childclient,它们组成了一个client树,每个Client都有一个FrameSinkId......