从0开始学微服务

💡 原文中文,约2100字,阅读约需5分钟。
📝

内容提要

服务化拆分可通过纵向和横向两种方式进行,纵向拆分基于业务关联度,横向拆分基于公共功能。合理拆分能降低开发成本,但过度拆分会增加管理难度。迁移到微服务架构需解决服务定义、发布、监控、治理和故障定位等问题。微服务架构提高了系统的分工明确性、维护性和扩展性,适应云时代的开发需求。

🎯

关键要点

  • 服务化拆分可通过纵向和横向两种方式进行。
  • 纵向拆分基于业务关联度,横向拆分基于公共功能。
  • 合理拆分能降低开发成本,但过度拆分会增加管理难度。
  • 迁移到微服务架构需解决服务定义、发布、监控、治理和故障定位等问题。
  • 微服务架构提高了系统的分工明确性、维护性和扩展性,适应云时代的开发需求。
  • 服务化拆分的标准是根据业务关联程度和开发人员的技术水平。
  • 服务定义需要通过接口来传达信息,采用HTTP或RPC等通讯协议。
  • 服务发布和订阅需要注册中心来记录服务提供者的地址。
  • 服务监控关注QPS、平均耗时和请求性能等指标。
  • 服务治理通过设定调用性能阈值来处理依赖服务的性能问题。
  • 故障定位需要标记用户请求并在多个服务中传递以串联路径。
  • 微服务架构下,服务调用依赖服务描述、注册中心、服务框架、监控、追踪和治理等基本组件。
  • 微服务架构使系统分工明确,责任清晰,维护更容易,服务能力专一,耦合性低,支持弹性扩展和数据存储解耦。

延伸问答

微服务的纵向和横向拆分有什么区别?

纵向拆分基于业务关联度,横向拆分基于公共功能。

合理的服务拆分标准是什么?

服务拆分应根据业务关联程度和开发人员的技术水平,建议每个开发人员负责不超过3个大的服务。

迁移到微服务架构时需要解决哪些问题?

需要解决服务定义、发布、监控、治理和故障定位等问题。

微服务架构如何提高系统的维护性?

微服务架构使系统分工明确,责任清晰,单个服务代码量小,更易于维护。

服务监控关注哪些指标?

服务监控关注QPS、平均耗时和请求性能等指标。

如何进行故障定位?

故障定位需要标记用户请求并在多个服务中传递,以串联路径进行问题追踪。

➡️

继续阅读