(十四) 微服务的链路追踪-Sleuth+Zipkin
摘要:###1.微服务架构下的问题 在大型系统的微服务化构建中,一个系统会被拆分成许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有
阅读全文
posted @
2021-05-18 10:35
whn051799
阅读(237)
推荐(0)
(十三)消息驱动-Stream
摘要:###1.什么是SpringCloudStream 官方定义 Spring Cloud Stream 是一个构建消息驱动微服务的框架。 应用程序通过 inputs 或者 outputs 来与 Spring Cloud Stream中binder对象交互。 通过我们配置来binding(绑定) ,而
阅读全文
posted @
2021-05-17 18:50
whn051799
阅读(118)
推荐(0)
(十二)消息总线-Bus
摘要:在微服务架构中,通常会使用轻量级的消息代理来构建一个共用的消息主题来连接各个微服务实例,它广播的消息会被所有在注册中心的微服务实例监听和消费,也称消息总线。SpringCloud中也有对应的解决方案,SpringCloud Bus 将分布式的节点用轻量的消息代理连接起来,可以很容易搭建消息总线,配合
阅读全文
posted @
2021-05-17 17:13
whn051799
阅读(351)
推荐(0)
(十一)分布式配置中心-Config
摘要:###1.什么是配置中心 ####1.1配置中心概述 对于传统的单体应用而言,常使用配置文件来管理所有配置,比如SpringBoot的application.yml文件,但是在微服务架构中全部手动修改的话很麻烦而且不易维护。微服务的配置管理一般有以下需求: 集中配置管理,一个微服务架构中可能有成百上
阅读全文
posted @
2021-05-17 16:48
whn051799
阅读(175)
推荐(0)
(十)微服务网关-Gateway
摘要:Zuul 1.x 是一个基于阻塞 IO 的 API Gateway 以及 Servlet;直到 2018 年 5 月,Zuul 2.x(基于Netty,也是非阻塞的,支持长连接)才发布,但 Spring Cloud 暂时还没有整合计划。Spring CloudGateway 比 Zuul 1.x 系
阅读全文
posted @
2021-05-17 15:59
whn051799
阅读(306)
推荐(0)
(九)微服务网关-Zuul
摘要:###1.微服务网关概述 在学习完前面的知识后,微服务架构已经初具雏形。但还有一些问题:不同的微服务一般会有不同的网络地址,客户端在访问这些微服务时必须记住几十甚至几百个地址,这对于客户端方来说太复杂也难以维护。如下图: 如果让客户端直接与各个微服务通讯,可能会有很多问题: 客户端会请求多个不同的服
阅读全文
posted @
2021-05-17 15:05
whn051799
阅读(209)
推荐(0)
(八)断路器-Hystrix
摘要:###1.服务容错的核心知识 ####1.1雪崩效应 在微服务架构中,一个请求需要调用多个服务是非常常见的。如客户端访问A服务,而A服务需要调用B服务,B服务需要调用C服务,由于网络原因或者自身的原因,如果B服务或者C服务不能及时响应,A服务将处于阻塞状态,直到B服务C服务响应。此时若有大量的请求涌
阅读全文
posted @
2021-05-14 18:19
whn051799
阅读(190)
推荐(0)
(七)服务接口调用-OpenFeign
摘要:###1.Feign简介 Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring
阅读全文
posted @
2021-05-14 16:19
whn051799
阅读(398)
推荐(0)
(六)服务调用负载均衡-Ribbon
摘要:经过以上的学习,已经实现了服务的注册和服务发现。当启动某个服务的时候,可以通过HTTP的形式将信息注册到注册中心,并且可以通过SpringCloud提供的工具获取注册中心的服务列表。但是服务之间的调用还存在很多的问题,如何更加方便的调用微服务,多个微服务的提供者如何选择,如何负载均衡等 ###1.R
阅读全文
posted @
2021-05-14 11:28
whn051799
阅读(160)
推荐(0)
(五)Eureka替换方案-Consul
摘要:###1.consul 概述 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要
阅读全文
posted @
2021-05-13 17:28
whn051799
阅读(347)
推荐(0)
(四)Eureka替换方案-Zookeeper
摘要:###zookeeper作为注册中心应用 新建服务提供者 cloud-provider-payment-zk-8004 pom <!-- SpringBoot整合zookeeper客户端 --> <dependency> <groupId>org.springframework.cloud</gro
阅读全文
posted @
2021-05-13 16:51
whn051799
阅读(137)
推荐(0)
(三)微服务的注册中心—Eureka
摘要:###1.微服务的注册中心 注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。 ####1.1 注册中心的主要作用 服务注册中心(下称注册中心)是微服务架构非常重要的一个组件,在微服
阅读全文
posted @
2021-05-07 15:04
whn051799
阅读(1049)
推荐(0)
(二)springcloud功能组件
摘要:###1.springcloud组件和功能大概 ###2.springcloud组件停更替代方案
阅读全文
posted @
2021-05-07 11:42
whn051799
阅读(50)
推荐(0)
(一)微服务基础
摘要:###1.系统架构的演变 随着互联网的发展,网站应用的规模不断扩大,常规的应用架构已无法应对,分布式服务架构以及微服务架构势在必行,急需一个治理系统确保架构有条不紊的演进。 ####1.1 单体应用架构 Web应用程序发展的早期,大部分web工程(包含前端页面,web层代码,service层代码,d
阅读全文
posted @
2021-05-07 11:33
whn051799
阅读(143)
推荐(0)