作者:xiangliheart

15-登录功能功能架构设计一(登录设计的复杂性)

登录设计的复杂性 登录的核心流程和功能十分简单明了,只不过是对用户身份进行验证,但是在性能、可靠性、安全性等方面却有着特别复杂的要求,要充分地认识到登录设计的复杂性,不要被其简单的表象所迷惑。 登录流程如图4-1所示,包含以下4个步骤。(1)用户在客户端输入用户名和密码,点击“登录”按钮。 (2)

xiangliheart 发布于 2022-03-15

14-分布式架构设计十(微服务改造原则)

微服务改造的六大原则 很多企业一开始并没有使用微服务架构,而是需要从传统架构演变到微服务架构,在进行微服务改造的过程中要遵循六大原则。 1.不要为了使用微服务而使用 有些公司不考虑实际的业务场景和用户规模,一律采用微服务架构开发,目的只有一个,就是让自己的系统看起来高端而已。对于一些中小企业的内部管

xiangliheart 发布于 2022-03-10

13-分布式架构设计九(微服务架构)

微服务架构 大型互联网系统架构必须支持高可用、高伸缩、高并发、安全性的特性。图3-43 所示为一种基于Spring Cloud的大型互联网微服务架构设计,对于每个服务节点的作用和使用场景可以总结为以下11项,作为通用的架构设计蓝本。 (1) 四层负载:使用CDN、硬负载、Nginx集群、网关集群组成

xiangliheart 发布于 2022-03-06

12-分布式架构设计八(链路追踪)

分布式链路追踪 分布式服务的典型特点是调用关系复杂,用户发起的一次请求可能经过一系列相关的服务调用才能完成整个业务,具体的调用链路是什么,每个微服务处理的时间有多长,哪个链路快,哪个链路慢,哪个服务节点是业务瓶颈,这些很难去分析和判断。微服务调用链路如图3-38所示。因此,微服务需要一个重要的能力就

xiangliheart 发布于 2022-03-01

11-分布式架构设计七(服务监控)

微服务监控 微服务架构引入的一个首要问题就是运维问题,由于服务节点众多,怎样才能监控所有微服务节点的运行状况成为一个难题,开发或运维人员不可能再按照传统的方式登录到每个服务器去观察问题。 通过注册中心可以感知到整个微服务的所有节点,只要每个微服务都提供相应的监控接口即可。例如,Spring Boot

xiangliheart 发布于 2022-02-25

10-分布式架构设计六(配置中心)

配置中心 微服务代表更细粒度的拆分,各个服务都有自己的配置文件(如Spring Boot的yml或properties文件),这些配置文件需要在项目启动时加载,或者在程序的运行过程中被加载。一旦文件发生变化,就代表着所有的微服务都需要重启,不能够动态地修改参数值。如果是传统的烟囱式架构或粗粒度SOA

xiangliheart 发布于 2022-02-20

09-分布式架构设计五(微服务网关)

微服务网关 网关在任何系统架构中都是一个很重要的组件,它位于客户端与服务端之间,可以将其想象成一道闸门,所有的客户端请求都要从此门经过。因此,网关就具有很大的权利,可以对这些请求进行各种限制。例如,控制访问流量、身份验证、日志记录、负载分流等。 网关与Nginx、LVS等负载软件有类似之处,但是本质

xiangliheart 发布于 2022-02-15

08-分布式架构设计四(熔断机制)

熔断机制 为了简单高效地理解什么是熔断机制,下面举两个例子进行形象的说明。 例1:在股市中有一个熔断机制,当天股市下跌5%时触发第一次熔断,暂停交易15分钟,让广大股票交易者冷静一下,15分钟之后恢复交易,如果股市继续下跌,达到10%则触发第二次熔断,全天不允许再交易,只能等第二天继续交易。这就是股

xiangliheart 发布于 2022-02-10

07-分布式架构设计三(客户端负载均衡)

客户端负载均衡 在生产环境中,每个服务节点都必须保证高可用,因此需要对服务节点进行负载均衡处理。传统的负载均衡属于服务端负载均衡,利用负载硬件或软件实现,如Nginx、LVS、HAProxy都是部署在服务端,如图3-18所示。 图3-18 服务端负载 在微服务架构下,负载均衡方式发生了明显的变化,如

xiangliheart 发布于 2022-02-05