微服务是什么?

简介: 微服务是小型独立的服务,每个服务聚焦单一功能,代码量少,复杂度低。与单体架构相比,微服务强调团队小规模,服务独立开发、部署,数据存储方式和部署方式也不同。微服务架构允许使用不同语言和工具,具有良好的可扩展性和与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:阿里巴巴开源的分布式服务治理框架。
相关文章
|
2月前
|
消息中间件 Dubbo Java
微服务
【10月更文挑战第1天】微服务是一种将大型应用分解为小型、独立服务的设计理念,每个服务负责单一业务功能,独立部署、运行,通过轻量级通信机制(如HTTP API或RPC)互联。相比单体应用,微服务提高了部署效率、团队协作效能和系统可用性,但也增加了系统复杂性、通信开销和数据一致性管理的难度。实现微服务架构涉及服务拆分、服务发现、配置管理、服务治理、数据一致性、安全性、监控与日志、持续集成与部署等多个方面。
40 4
|
6月前
|
Java API 调度
微服务介绍
微服务介绍
34 0
|
7月前
|
负载均衡 Java Nacos
严刑拷打_微服务
严刑拷打_微服务
|
7月前
|
运维 监控 数据库
初识微服务
初识微服务
42 0
|
7月前
|
XML JSON API
微服务是什么
微服务是什么
61 0
|
缓存 监控 应用服务中间件
你了解微服务吗?什么是微服务
现在很多公司,例如 Amazon、阿里 和Netflix,已经通过采用称为微服务架构模式的方式解决单体地狱问题。与其构建一个庞大的单体应用程序,不如将您的应用程序拆分为一组更小的、相互连接的服务。
175 0
你了解微服务吗?什么是微服务
|
负载均衡 前端开发 Java
浅析-微服务2
Zuul中默认就已经集成了Ribbon负载均衡和Hystix熔断机制。但是所有的超时策略都是走的默认值,比如熔断超时时间只有1S,很容易就触发了。
浅析-微服务2
|
JSON 负载均衡 监控
浅析-微服务1
当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。
浅析-微服务1
|
存储 Java 应用服务中间件
对微服务的简单思考
对微服务的简单思考