跳至主要內容
微服务之注册和发现

微服务之注册和发现

服务注册和发现的基本原理

服务定义是服务提供者和服务消费者之间的约定,但是在微服务架构中,如何达成这个约定呢?这就依赖于服务注册和发现机制。

注册和发现的角色

在微服务架构下,服务注册和发现机制中主要有三种角色:

  • 服务提供者(RPC Server / Provider)
  • 服务消费者(RPC Client / Consumer)
  • 服务注册中心(Registry)

钝悟...大约 21 分钟设计架构微服务设计架构微服务分布式注册中心
微服务之服务调用

微服务之服务调用

RPC 简介

通过注册中心,服务消费者和服务提供者就可以感知彼此。但是,要实现交互还必须解决通信问题。

在单体应用中,一次服务调用发生在同一台机器上的同一个进程内部,因此也被称为本地方法调用。在微服务应用中,由于服务提供者和服务消费者运行在不同物理机器上的不同进程内,因此也被称为远程方法调用,简称 RPC(Remote Procedure Call)

RPC 是微服务架构的基石,它提供了一种应用间通信的方式。RPC 的主要作用是:


钝悟...大约 15 分钟设计架构微服务设计架构微服务分布式RPC
《微服务架构核心 20 讲》笔记

《微服务架构核心 20 讲》笔记

什么是微服务架构

微服务是一种架构模式。

微服务的六个特点:

  • 一组小的服务
  • 独立的进程
  • 独立部署
  • 轻量级通信
  • 基于业务能力
  • 无集中式管理——这里指的是可以用不同的技术栈,不同的存储

微服务定义:基于有界上下文的、松散耦合的、面向服务的架构。

架构师如何权衡微服务的利弊

架构之道在于权衡利弊。


钝悟...大约 8 分钟笔记设计设计架构微服务
微服务简介

微服务简介

本文关键词:定义演进利弊如何拆分容量规划核心组件

什么是微服务

微服务定义

微服务是由单一应用程序构成的小服务,拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯。同时,服务会使用最小规模的集中管理 (例如 Docker)技术,服务可以用不同的编程语言与数据库等。

——Martin Fowler 和 James Lewis 对应微服务( Microservices)的定义


钝悟...大约 16 分钟设计架构微服务设计架构微服务分布式
《从0开始学架构》笔记

《从 0 开始学架构》笔记

架构到底是指什么?

系统和子系统

模块与组件

框架与架构

架构设计的历史背景

机器语言 -> 汇编语言 -> 高级语言 -> 结构化设计 -> 面向对象设计

架构设计的目的

架构设计的主要目的是为了解决软件复杂度带来的问题

复杂度来源:高性能

复杂度来源:高可用

复杂度来源:可扩展性

复杂度来源:低成本、安全、规模


钝悟...小于 1 分钟笔记设计设计架构
如何设计系统

如何设计系统

系统设计过程

步骤一、约束和用例

对于任何系统设计,第一件应该做的事是:阐明系统的约束并确定系统需要满足哪些用例。

永远不要假设没有明确说明的事情。一定要尽力收集、理解需求,并设计一个很好地涵盖这些要求的解决方案。

例如,URL 缩短服务可能只为几千个用户提供服务,但每个用户都可能共享数百万个 URL。它可能旨在处理对缩短的 URL 的数百万次点击或数十次点击。该服务可能必须提供有关每个缩短的 URL 的大量统计信息(这会增加您的数据大小),或者可能根本不需要统计信息。

您还必须考虑预期会发生的用例。您的系统将根据其预期功能进行设计。不要忘记确保你知道面试官一开始没有告诉你的所有要求。


钝悟...大约 4 分钟设计架构综合架构设计
《架构实战案例解析》笔记

《架构实战案例解析》笔记

架构的本质:如何打造一个有序的系统?

架构的本质:通过合理的内部编排,保证系统高度有序,能够不断扩展,满足业务和技术的变化

  • 首先,架构的出发点是业务和技术在不断复杂化,引起系统混乱,需要通过架构来保证有序。

  • 其次,架构实现从无序到有序,是通过合理的内部编排实现的,基本的手段,就是“分”与“合”,先把系统打散,然后将它们重新组合,形成更合理的关系。

    • “分”就是把系统拆分为各个子系统、模块、组件
    • “合”就是基于业务流程和技术手段,把各个组件有机整合在一起

钝悟...大约 15 分钟笔记设计设计架构
《左耳听风》笔记

《左耳听风》笔记

洞悉技术的本质

分布式系统架构的本质

分布式系统架构的优点:

  • 高性能
  • 高可用

分布式系统架构的缺点:

  • 设计复杂
  • 运维复杂

分布式系统的技术栈

提高性能的技术

  • 缓存
  • 负载均衡
  • 异步
  • 分片

提供可用性的技术

  • 服务拆分
  • 服务冗余
  • 流量控制
  • 高可用架构:多租户、多活架构、灾备
  • 高可用运维:监控、DevOps

钝悟...大约 1 分钟笔记设计设计架构
2
3
4
5
6