欢迎访问Spring Cloud中国社区

我们致力于成为中国最专业的Spring Boot和Spring Cloud交流社区。推荐使用Github直接登录,欢迎加微信号Software_King进入社区微信交流群。若发现网站bug欢迎反馈!

微服务应该具备的功能

aspx5 · 16天前 · 220 ·

微服务,可以拆分为“微”和“服务” 二字。“微”即小的意思,那到底多小才算“微”呢?可能不同的团队有不同的答案。从参与微服务的人数来讲,单个微服务从架构设计、代码开发、测试、运维的人数加起来是8~ 10 人才算“微”。那么何为“服务”呢?按照“微服务”概念定义:“服务”是一个独立运行的单元组件,每个单元组件运行在独立的进程中,组件与组件之间通常使用HTTP 这种轻量级的通信机制进行通信。

微服务具有以下的特点:

  • 按照业务来划分服务,单个服务代码量小,业务单一,易于维护。
  • 每个微服务都有自己独立的基础组件,例如数据库、缓存等,且运行在独立的进程中。
  • 微服务之间的通信是通过HTTP 协议或者消息组件,且具有容错能力。
  • 微服务有一套服务治理的解决方案,服务之间不相合,可以随时加入和剔除服务。
  • 单个微服务能够集群化部署,并且有负载均衡的能力。
  • 整个微服务系统应该有一个完整的安全机制,包括用户验证、权限验证、资源保护等。
  • 整个微服务系统有链路追踪的能力。
  • 有一套完整的实时日志系统。

微服务具有以上这些特点,那么微服务需要具备一些什么样的功能呢?微服务的功能主要体现在以下儿个方面:

  • 服务的注册和发现。
  • 服务的负载均衡。
  • 服务的容错。
  • 服务网关。
  • 服务配置的统一管理。
  • 链路追踪。
  • 实时实日志。