微服务什么是以及微服务框架

article/2025/10/4 19:34:57

微服务(microservice)

微服务是分布式架构的一种,分布式架构其实就是要把服务做一个拆分,而springcloud只是解决了拆分过程中的服务治理问题。

在单体架构中,我们把所有的服务都写在一起,随着业务的复杂代码的耦合度就会越来越高,不便于将来的升级维护。

所以往往需要拆分这些服务,微服务在拆分的时候,会根据业务功能模块把一个单体的应用拆分成许多个独立的项目,每个项目完成一部分的业务功能,然后独立开发和部署。这些独立的项目就成为一个微服务。进而构成一个服务集群。

首先我们来看看架构的逐渐变形

单体架构---》SOA架构(面向服务架构)---》微服务

大家先看一张图。如下图

 

微服务VS单体架构

不同点微服务架构单体架构
团队规模微服务架构可以将传统模式下的单个应用拆分为多个独立的服务,每个微服务都可以单独开发、部署和维护。每个服务从设计、开发到维护所需的团队规模小,团队管理成本小。单体架构的应用程序通常需要一个大型团队,围绕一个庞大的应用程序工作,团队管理的成本大。
数据存储方式不同的微服务可以使用不同的数据存储方式,例如有的用 Redis,有的使用 MySQL。单一架构的所有模块共享同一个公共数据库,存储方式相对单一。
部署方式微服务架构中每个服务都可以独立部署,也可以独立于其他服务进行扩展。如果部署得当,基于微服务的架构可以帮助企业提高应用程序的部署效率。采用单体架构的应用程序的每一次功能更改或 bug 修复都必须对整个应用程序重新进行部署。
开发模式在采用微服务架构的应用程序中,不同模块可以使用不同的技术或语言进行开发,开发模式更加灵活。在采用单体架构的应用程序中,所有模块使用的技术和语言必须相同,开发模式受限。
故障隔离在微服务架构中,故障被隔离在单个服务中,避免系统的整体崩溃。在单体架构中,当一个组件出现故障时,故障很可能会在进程中蔓延,导致系统全局不可用。
项目结构微服务架构将单个应用程序拆分为多个独立的小型服务,每个服务都可以独立的开发、部署和维护,每个服务都能完成一项特定的业务需求。单体架构的应用程序,所有的业务逻辑都集中在同一个工程中。

微服务的特点

微服务具有以下特点:

  • 服务按照业务来划分,每个服务通常只专注于某一个特定的业务、所需代码量小,复杂度低、易于维护。
  • 每个微服都可以独立开发、部署和运行,且代码量较少,因此启动和运行速度较快。
  • 每个服务从设计、开发、测试到维护所需的团队规模小,一般 8 到 10 人,团队管理成本小。
  • 采用单体架构的应用程序只要有任何修改,就需要重新部署整个应用才能生效,而微服务则完美地解决了这一问题。在微服架构中,某个微服务修改后,只需要重新部署这个服务即可,而不需要重新部署整个应用程序。
  • 在微服务架构中,开发人员可以结合项目业务及团队的特点,合理地选择语言和工具进行开发和部署,不同的微服务可以使用不同的语言和工具。
  • 微服务具备良好的可扩展性。随着业务的不断增加,微服务的体积和代码量都会急剧膨胀,此时我们可以根据业务将微服务再次进行拆分;除此之外,当用户量和并发量的增加时,我们还可以将微服务集群化部署,从而增加系统的负载能力。
  • 微服务能够与容器(Docker)配合使用,实现快速迭代、快速构建、快速部署。
  • 微服务具有良好的故障隔离能力,当应用程序中的某个微服发生故障时,该故障会被隔离在当前服务中,而不会波及到其他微服务造成整个系统的瘫痪。
  • 微服务系统具有链路追踪的能力。

如何实现微服务

  • 框架:
    • 注册中心(Eureka,Consul)
    • 配置中心(config,Nacos)
    • 网关(zuul,gateway)
    • 断路器(Hystrix)
    • 负载均衡(Ribbon,Feign)
    • 声明式服务调用(Ribbon,Feign,Dubbo)
  • 服务拆分

微服务框架

Java 微服务框架

  • Spring Cloud:它能够基于 REST 服务来构建服务,帮助架构师构建出一套完整的微服务技术生态链。
  • Dropwizard:用于开发高性能和 Restful 的 Web 服务,对配置、应用程序指标、日志记录和操作工具都提供了开箱即用的支持。
  • Restlet: 该框架遵循 RST 架构风格,可以帮助 Java 开发人员构建微服务。
  • Spark:最好的 Java 微服务框架之一,该框架支持通过 Java 8 和 Kotlin 创建微服务架构的应用程序。
  • Dubbo:由阿里巴巴开源的分布式服务治理框架。

Go 语言微服务框

Go 语言中的微服务框架较少,使用的较多的是 GoMicro,它是一个 RPC 框架,具有负载均衡、服务发现、同步通信、异步通讯和消息编码等功能。

Phyton 微服务框架

Phyton 中的微服务框架主要有 Flask、Falcon、Bottle、Nameko 和 CherryPy 等。 

NodeJS微服务框架

Molecular 是一种使用 NodeJS 构建的事件驱动架构,该框架内置了服务注册表、动态服务发现、负载均衡、容错功能和内置缓存等组件。 

结尾

由于涛哥主要是学习Java框架

接下涛哥将会和您一起学习如何搭建一个完整的微服务架构包括SpringCloud,SpringCloudAlibaba,Dubbo+Zeekeeper/Redis等不同的Java框架,如需了解后续内容请关注涛哥博客最新内容


http://chatgpt.dhexx.cn/article/hhEpDiWA.shtml

相关文章

微服篇01——微服务的发展

01——微服务的发展 1:Monolith(整体架构) 服务所对应的代码由多个项目所组成,最终合并在一起形成一个WAR包,再部署到Web容器。 负载与扩容: 2:微服务(Microservice)架构模式 Microservic…

配置不同网段的dhcp服务器

dhcp中继设置 试题4:DHCP实验 背景: 某公司新建了局域网,要求网内地址采用DHCP分配,DHCP服务器地址为172.16.1.5/24,请建立172.16.1.128/25的域为局域网用户分配置IP地址,域中DNS地址为:202.97.…

Linux服务器配置(详细版)

本来就很麻烦,如果错了一个很有可能从新再来,非常麻烦所以要细心 请省略这段部分 --------------------------------------------------------------------------------------------------------------------------------------------- Linux命令 1.进…

银河麒麟服务器修改ip,银河麒麟配置DNS服务器

银河麒麟配置DNS服务器 内容精选 换一换 MindInsight为MindSpore提供了简单易用的调优调试能力。在训练过程中,可以将标量、张量、图像、计算图、模型超参、训练耗时等数据记录到文件中,通过MindInsight可视化页面进行查看及分析。MindInsight组件为MindStudio的独立组件,请…

查看服务器sftp用户信息,linux查看sftp服务器配置

linux查看sftp服务器配置 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性。本小节主要介绍如何在系统配置FTP/SFTP服务器参数,将日志远程备份至FTP/SFTP服务器。开启远程备份后,系统默认在每天零点备份前一天的系…

访问量100万的网站服务器,100万访问量 服务器配置

100万访问量 服务器配置 内容精选 换一换 弹性负载均衡有不同的负载均衡,分别是共享型负载均衡和独享型负载均衡,便于用户根据不同的应用场景和功能需求选择合适的负载均衡器类型。共享型负载均衡:适用于访问量较大的web业务,提供基于域名和URL的路由均衡能力,实现更加灵活…

思科模拟器企业网站服务器配置,cisco模拟器配置域名web服务器

cisco模拟器配置域名web服务器 内容精选 换一换 防护域名开启WEB基础防护之后,访问网站如果出现500,502,504等报错,并且显示Web应用防火墙和网站连接失败,如图1所示。可能的原因比较多,如防火墙拦截、源站配置错误、HTTPS/WebSockets采用不安全的协议版本、后端服务器性能…

hpe服务器稳定性,hpe服务器安装与配置

hpe服务器安装与配置 内容精选 换一换 Ceph集群可采用TaiShan服务器和x86服务器混合部署的方式和全TaiShan服务器的非混合部署方式。在混合部署场景下,三个Ceph节点中,两台为TaiShan 200服务器(型号2280),一台为Fusion Server服务器(型号2288…

曙光服务器Raid配置

前言 这几天一直在某单位做信息化项目,这几天接触的国产化服务器,当然服务器型号是定制的,官网是没有这个型号的,并且系统也是国产化的。下面附上几幅工作照片! 一、曙光服务器Raid配置说明 1.1、Raid配置途径 适用…

家用 NAS 服务器(1)| 配置选择及准备

家用 NAS 服务器(1)| 事前准备及配置选择 原文地址:CSDN 博文 后文链接:家用 NAS 服务器(2)| Hyper-V的Winserver 2022和Ubuntu 22.04双系统 文章目录 家用 NAS 服务器(1)| 事前准…

ensp服务器配置文件,ensp中服务器的基本配置

ensp中服务器的基本配置 内容精选 换一换 用户云服务器基本网络功能异常,无法完成基本通信。从弹性云服务器内部ping所在子网的网关,无法ping通,则需首先排查二三层网络问题。本问题请按照以下思路进行排查处理。检查弹性云服务器是否获取到IP:检查弹性云服务器是否获取到I…

家用服务器配置清单,供君参考

从零玩转服务器,小白搞机,走起! 硬件选择 1、CPU。做服务器用的话,肯定intel家的,如果想作为家用服务器,既当普通电脑,又当服务器,那不仅核心要多,主频还要高。这样的C…

1000并发的系统服务器配置,1000人并发服务器配置

1000人并发服务器配置 内容精选 换一换 多个用户同时通过ssh登录堡垒机管理下的任一服务器时,允许登录的帐号数有上限,当登录的帐号数超出上限值时,必须退出一个帐号才能再登录一个账号。该问题是由于并发数限制导致的。云堡垒机支持100、200、500、1000、2000、5000资产规格…

创业公司如何搭建服务器配置方案?

1.省钱之道:初创企业应用为先 “工欲善其事,必先利其器。”IT采购不仅是帮助内部提高工作效率与节约成本,同时合理IT设备能够帮助获得更大的收益,特别是初创企业拼的就是服务。当下在互联网+的大背景下,可谓全民谈创业,人人当老板,但知易行难几乎是所有创业的共识。作为…

PHP通常用哪种web服务器,常见的几种WEB服务器配置方案分享

在众多专用服务器中,WEB服务器应该是我们最为熟知和常用到的了,根据不同的建站及WEB需求,WEB服务器有着好几种常见的环境配置方案,这里就总结分享一下: 当前比较流行的配置就是跑php一般就是,php运行的肯定…

服务器系统部署方案,服务器 部署方案

服务器 部署方案 内容精选 换一换 专属云SAP解决方案开发测试系统部署方案如图1所示。说明如下:VPC网络:为了保证网络的安全,系统中所有节点在一个VPC网络内,且所有节点部署在同一个AZ(Available Zone)。VPC网络内分三个子网:管理子网、应用子网和数据库子网。Storage Poo…

网吧无盘最新服务器配置,80-100台网吧无盘服务器配置方案建议

2019年新开网吧的哥们经常在天下网吧APP和天下网吧的QQ群微信群里问大家,网吧无盘服务器怎么配?无盘服务器配机时要注意什么?网吧的无盘服务器硬盘怎么划分?要几块SSD硬盘,多大的?无盘服务器内存用多大的比…

网吧服务器组装方案,网吧服务器配置方案有哪些

服务器作为硬件来说,通常是指那些具有较高计算能力,能够提供给多个用户使用的计算机。服务器与PC机的不同点很多,例如PC机在一个时刻通常只为一个用户服务。服务器与主机不同,主机是通过终端给用户使用的,服务器是通过…

生信分析平台搭建(十七):服务器配置

熟悉完虚拟机配置服务器之后,就可以尝试上手搭建实体服务器了,如果要选购服务器,应该考虑哪些因素呢?如果不差钱,那就好办了,直接选最贵的就好了。在预算有限的条件下。CPU,内存,硬盘…

同构网络和异构网络

** 同构网络和异构网络 ** 摘自https://guides.co/g/the-network-effects-bible/121732 同构网络是指所有节点在网络中具有相同功能的网络。 一个用户可以与下一个用户互换基本功能。 例如,在固定电话网络中,每个节点(电话)基…