微服务

“面向服务架构”就是把一个大型的单体程序,拆分成一个个独立服务,也就是较小的程序。
每个服务都是一个独立的功能单元,承担不同的功能,服务之间通过通信协议连在一起。

这种架构的优点:

  • 每种服务功能单一,相当于一个小型软件,便于开发和测试
  • 各个服务独立运行,简化了架构,提高了可靠性
  • 鼓励和支持代码重用,同一个服务可以用于多种目的
  • 不同服务可以单独开发和部署,便于升级。
  • 扩展性好,可以容易地加机器、加功能,承受高负载。
  • 不容易出现单点故障。即使一个服务失败了,不会影响其他服务。

跟单体架构不同,面向服务架构是语言不敏感的,不同服务可以使用不同的语言和工具开发,可能需要部署在不同的系统和环境。

这意味着,面向服务架构默认运行在不同服务器上,每台服务器提供一种服务,多台服务器共同组成一个完整的网络应用。

单机实现微服务

可以用容器来实现“面向服务架构”,每个服务不再占用一台服务器,而是占用一个容器。

这样就不需要多台服务器了,最简单的情况下,本机运行多个容器,只用一台服务器就实现了面向服务架构,这在以前是做不到的。这种实现方式就叫做微服务

这样来说,一个微服务就是一个独立的进程。这个进程可以运行在本机,也可以运行在别的服务器,或者在云端(比如云服务和云函数FaaS)。

微服务更轻量级,所以功能的解耦和服务化可以做得更彻底。而且,它可以标准化,同样的容器不管在哪里运行,结果都是一样的,所以市场上有很多SaaS产品,提供标准化的微服务。

微服务可以和容器技术、云服务一起,在未来的软件开发中扮演重要角色。

Refs

微服务是什么? - 阮一峰的网络日志 (ruanyifeng.com)

posted @ 2023-12-04 19:38  ckxkexing  阅读(13)  评论(0编辑  收藏  举报