跳至主要內容
初探微服务架构
本文内容

前言

在前面两篇文章中,讲解了什么是微服务,何时进行服务拆分,拆分后会到来什么问题等。

这篇文章将带你走进微服务架构,看看它的各个组成部分,主要的几个基本组件如下:

  • 服务描述;
  • 注册中心;
  • 服务框架;
  • 服务监控;
  • 服务追踪;
  • 服务治理。

一次微服务之间的调用流程如下:

  1. 服务提供者 按照一定格式的服务描述,向注册中心注册服务,声明自己能提供哪儿服务以及服务所在的地址是什么,完成服务发布;
  2. 服务消费者向注册中心发起请求,查询要调用服务的地址,然后 按照约定好的通信协议发起请求 即可得到结果;

在服务调用过程中:

  • 服务的请求耗时、调用次数等指标会被服务追踪组件记录下来,用于故障问题的定位;
  • 如果发现请求量过大、出现调用失败等情况,则将通过服务降级、熔断、重试等服务治理手段保证系统的可用性。

微服务架构的模块图:

img


AruNi_Lu大约 8 分钟微服务架构基础
服务如何拆分
本文内容

前言

上一篇文章中讲解了什么是微服务,微服务的演进。那么我们应该 在什么时候进行服务的拆分,如何拆分?拆分后会到来哪些问题,如何解决?这些都是微服务需要考虑的问题。

1. 什么时候应该拆分服务?

虽然现在微服务、容器化非常火爆,但并不意味着我们的每个项目都直接无脑使用微服务架构,需要根据项目实际的体量来选择。


AruNi_Lu大约 5 分钟微服务架构基础
分布式系统的指标
本文内容

前言

从上一章中可以发现,分布式无非就是加机器,用廉价的机器来解决性能、可用性等问题。所以分布式的目的是 用更多的机器,处理更多的数据和更复杂的任务

所以,也就引出了分布式系统的三个重要指标:性能、资源占用、可用性和可扩展性


AruNi_Lu大约 5 分钟分布式系统基础
什么是分布式
本文内容

1. 分布式起源

1.1 单机模式

单机模式,其实就是 所有的应用程序和数据都部署到一台机器上,有关这个程序的所有处理,都由这一台机器完成。

这里的处理可以理解为对请求的处理,对数据存储的处理等。

刚开始互联网还没这么发达的时候,大多数项目都是单机模式,比如下面这个售票系统:


AruNi_Lu大约 6 分钟分布式技术基础
什么是微服务
本文内容

1. 单体应用

在讲微服务之前,肯定得先从单体应用说起,因为微服务架构的出现旨在优化单体应用的 “痛”,下面就来看看这个单体应用的 “痛” 到底是什么。

我相信大家都是从写单体应用过来的,在写单体应用的时候,各个功能模块,所有的服务都写到一个应用里。如果是一个 web 项目,只需要最后将其打一个 WAR 包,丢到 Tomcat 中,然后就可以对外提供服务了。

使用单体架构开发非常 简单快捷,对于一个简单的系统,也许你一个人就能完成。开发完成后,也 容易部署上线


AruNi_Lu大约 6 分钟微服务架构基础