微服务是什么?

简介: 微服务是小型独立的服务,每个服务聚焦单一功能,代码量少,复杂度低。与单体架构相比,微服务强调团队小规模,服务独立开发、部署,数据存储方式和部署方式也不同。微服务架构允许使用不同语言和工具,具有良好的可扩展性和与Docker的兼容性。常见的Java微服务框架有Spring Cloud、Spark和Dubbo。

问题答案:

  1. 微服务是什么

微服务,顾名思义,即”微小的服务“。

(1)“服务”:项目中的功能模块,比如开发过程中IDEA中的一个module

(2)”微小“:

  • 一个微服务项目代码量少,复杂度低。
  • 一个微服务项目需要成员少,8-10个人员(开发2-5)即可完成从设计、开发、测试到运维的全部工作。

  1. 微服务架构和单体架构的不同点
不同点 微服务架构 单体架构
团队规模 每个服务团队规模小 大型团队,团队管理成本大
数据存储方式 MySQL或Redis,每个服务使用不同数据存储方式 共用一个公共数据库
部署方式 每个服务独立部署 更新功能或bug修复必须整体重新部署
开发模式 不同模块使用不同的开发语言,如Java、go 整体使用一个开发语言
故障隔离 故障被隔离于单个服务 一个故障,整体不可用
项目结构 每个服务完成一项特定业务需求 业务逻辑,集中于一个项目


  1. 微服务框架
  • 按照业务划分,每个服务专注于一个特定业务,代码量少,复杂度低,易于维护。
  • 每个服务独立开发、部署和运行,且代码量少,因此启动和运行速度快。
  • 团队规模小。
  • 某个服务修改,只需要单独发布该服务。
  • 不同微服务使用不同的开发语言和工具。
  • 微服务具备良好的可扩展性。随着业务增加,微服务代码量增大,可根据业务对该微服务再次拆分。可集群化部署微服务。
  • 微服务和docker配合使用,实现快速迭代、构建、部署。

  1. 微服务框架
  • Java框架:
  • Spring Cloud:使用REST服务构建微服务,帮助架构师构建出一套完整的微服务技术生态链。
  • Spark:通过Java8和Kotlin创建微服务架构的应用程序。
  • Dubbo:阿里巴巴开源的分布式服务治理框架。
相关文章
|
Java 流计算
【极数系列】Flink搭建入门项目Demo & 秒懂Flink开发运行原理(05)
【极数系列】Flink搭建入门项目Demo & 秒懂Flink开发运行原理(05)
694 3
|
编译器 Go
Golang 语言 gRPC 使用的接口设计语言 protobuf
Golang 语言 gRPC 使用的接口设计语言 protobuf
207 0
|
6月前
|
存储 机器学习/深度学习 API
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
1049 31
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
|
XML JSON API
微服务是什么
微服务是什么
1171 0
|
缓存 算法 Java
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
这篇文章详细介绍了Java虚拟机(JVM)中的垃圾回收机制,包括垃圾的定义、垃圾回收算法、堆内存的逻辑分区、对象的内存分配和回收过程,以及不同垃圾回收器的工作原理和参数设置。
916 4
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
|
存储 SQL 关系型数据库
什么是数据库存储过程?
【8月更文挑战第3天】
2460 11
什么是数据库存储过程?
|
消息中间件 监控 Kafka
4.RabbitMQ 与 Kafka 的区别?
4.RabbitMQ 与 Kafka 的区别?
586 0
|
JSON 编解码 中间件
go-zero代码生成器助你高效开发
go-zero代码生成器助你高效开发
|
Kubernetes 文件存储 容器
【Azure K8S | AKS】在中国区AKS上遇见ImagePullBackOff时的替代方案
【Azure K8S | AKS】在中国区AKS上遇见ImagePullBackOff时的替代方案
242 0
|
Arthas 监控 算法
JVM工作原理与实战(二十五):堆的垃圾回收-垃圾回收算法
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了垃圾回收算法评价标准、标记清除算法、复制算法、标记整理算法、分代垃圾回收算法等内容。
260 0
JVM工作原理与实战(二十五):堆的垃圾回收-垃圾回收算法