32. springboot+springcloud+vue+uniapp b2b2c 商城之Zuul网关的介绍及使用

2021-04-15
阅读 2 分钟
174
Zuul 是 Netflix OSS 中的一员,是一个基于 JVM 路由和服务端的负载均衡器。提供路由、监控、弹性、安全等方面的服务框架。Zuul 能够与 Eureka、Ribbon、Hystrix 等组件配合使用。

31. springboot+springcloud+vue b2b2c 商城之使用Turbine实现集群监控

2021-04-15
阅读 2 分钟
171
前面我们实现了对单个服务实例的监控,当然在实际应用中,单个实例的监控数据没有多大的价值,我们更需要的是一个集群系统的监控信息,这时我们就需要 Turbine。

30. springboot+springcloud+vue b2b2c 商城之Hystrix Dashboard查看监控数据

2021-04-14
阅读 1 分钟
201
我们已经知道 Hystrix 提供了监控的功能,可以通过 hystrix.stream 端点来获取监控数据,但是这些数据是以字符串的形式展现的,实际使用中不方便查看。我们可以借助 Hystrix Dashboard 对监控进行图形化展示。

29. springboot+springcloud+vue+uniapp b2b2c 商城之Hystrix的实时监控功能

2021-04-14
阅读 1 分钟
255
在微服务架构中,Hystrix 除了实现容错外,还提供了实时监控功能。在服务调用时,Hystrix 会实时累积关于 HystrixCommand 的执行信息,比如每秒的请求数、成功数等。

28. springboot+springcloud+uniapp b2b2c 商城之Feign+Hystrix实现容错处理

2021-04-14
阅读 2 分钟
181
创建一个新的 Maven 项目 hystrix-feign-demo,增加 EurekaClient,Feign,Hystrix 的依赖,然后在属性文件中开启 Feign 对 Hystrix 的支持:

27. springboot+springcloud+vue+uniapp b2b2c 商城之使用Hystrix实现容错处理

2021-04-14
阅读 6 分钟
173
</dependency>在启动类上添加 @EnableHystrix 或者 @EnableCircuitBreaker。注意,@EnableHystrix 中包含了 @EnableCircuitBreaker。

26. springboot+springcloud+vue+uniapp b2b2c 商城之Hystrix缓存与合并请求

2021-04-14
阅读 5 分钟
202
缓存在开发中经常用到,我们常用 Redis 这种第三方的缓存数据库对数据进行缓存处理。本节讲解 Hystrix 缓存的实现和清除,以及请求的合并。

25. springboot+springcloud+vue+uniapp b2b2c 商城之Hystrix隔离策略线程信号量

2021-04-13
阅读 2 分钟
167
在一个分布式系统中,服务之间都是相互调用的,例如,我们容器(Tomcat)配置的线程个数为 1000,服务 A-服务 R,其中服务 I 的并发量非常的大,需要 500 个线程来执行,此时,服务 I 又挂了,那么这 500 个线程很可能就夯死了,那么剩下的服务,总共可用的线程为 500 个,随着并发量的增大,剩余服务挂掉的风险就会越来...

24. springboot+springcloud+vue+uniapp b2b2c 电商 商城之Hystrix介绍及使用

2021-04-13
阅读 2 分钟
166
在分布式环境中,许多服务依赖项中的一些必然会失败。Hystrix 是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix 通过隔离服务之间的访问点、停止级联失败和提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性。

23. springboot+springcloud+vue+uniapp b2b2c 电商 商城之Feign的自定义配置及使用

2021-04-13
阅读 7 分钟
193
日志配置有时候我们遇到 Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置 Feign 的日志了,以此让 Feign 把请求信息输出来。

22. springboot+springcloud+vue+uniapp b2b2c 电商 商城之使用Feign调用服务接口

2021-04-13
阅读 3 分钟
187
1)HttpclientHttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。

(二十一)springboot电子商务商城之SpringCloud-Ribbon配置详解

2021-04-12
阅读 3 分钟
196
禁用 Eureka当我们在 RestTemplate 上添加 @LoadBalanced 注解后,就可以用服务名称来调用接口了,当有多个服务的时候,还能做负载均衡。

(二十)springboot+springcloud b2b2c 电商 商城之Ribbon自定义负载均衡策略

2021-04-12
阅读 1 分钟
203
通过实现 IRule 接口可以自定义负载策略,主要的选择服务逻辑在 choose 方法中。我们这边只是演示怎么自定义负载策略,所以没写选择的逻辑,直接返回服务列表中第一个服务。具体代码如下所示。

(十九)springboot+springcloud b2b2c 电子商务商城之Ribbon负载均衡策略介绍

2021-04-10
阅读 1 分钟
189
Ribbon 作为一款客户端负载均衡框架,默认的负载策略是轮询,同时也提供了很多其他的策略,能够让用户根据自身的业务需求进行选择。整体策略代码实现类如图 1 所示。

(十八)springboot b2b2c 电商 商城之Ribbon结合RestTemplate实现负载均衡

2021-04-10
阅读 12 分钟
237
在上一篇教程中我们简单地使用 Ribbon 进行了负载的一个调用,这意味着 Ribbon 是可以单独使用的。在 Spring Cloud 中使用 Ribbon 会更简单,因为 Spring Cloud 在 Ribbon 的基础上进行了一层封装,将很多配置都集成好了。本节将在 Spring Cloud 项目中使用 Ribbon。

(十七)springboot+springcloud b2b2c 电子商务商城之Ribbon(负载均衡器)介绍及使用

2021-04-10
阅读 3 分钟
164
Spring Cloud Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具,它基于 Netflix Ribbon 实现。通过 Spring Cloud 的封装,可以让我们轻松地将面向服务的 REST 模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon 虽然只是一个工具类框架,它不像服务注册中心、配置中心、API 网关那样需要独立部署,...

(十六)springboot+springcloud b2b2c 电子商务商城之Eureka的REST API及API扩展

2021-04-10
阅读 5 分钟
159
Eureka 作为注册中心,其本质是存储了每个客户端的注册信息,Ribbon 在转发的时候会获取注册中心的服务列表,然后根据对应的路由规则来选择一个服务给 Feign 来进行调用。如果我们不是 Spring Cloud 技术选型,也想用 Eureka,可以吗?完全可以。如果不是 Spring Cloud 技术栈,笔者推荐用 Zookeeper,这样会方便些,当...

(十五)springboot+springcloud b2b2c 电子商务商城之使用Eureka集群搭建实现高可用服务注册中心

2021-04-10
阅读 1 分钟
165
在实际开发过程中,我们可能会不停地重启服务,由于 Eureka 有自己的保护机制,故节点下线后,服务信息还会一直存在于 Eureka 中。我们可以通过增加一些配置让移除的速度更快一点,当然只在开发环境下使用,生产环境下不推荐使用。首先在我们的 eureka-server 中增加两个配置,分别是关闭自我保护和清理间隔:

(十四)springboot+springcloud b2b2c电子商务商城之Eureka自我保护模式和InstanceID配置

2021-04-10
阅读 2 分钟
156
保护模式主要在一组客户端和 Eureka Server 之间存在网络分区场景时使用。一旦进入保护模式,Eureka Server 将会尝试保护其服务的注册表中的信息,不再删除服务注册表中的数据。当网络故障恢复后,该 Eureka Server 节点会自动退出保护模式。如果在 Eureka 的 Web 控制台看到图 1 所示的内容,就证明 Eureka Server 进入...

(十三)springboot+springcloud b2b2c 电子商务商城之使用Eureka集群搭建实现高可用服务注册中心

2021-04-10
阅读 2 分钟
149
前面我们搭建的注册中心只适合本地开发使用,在生产环境中必须搭建一个集群来保证高可用。Eureka 的集群搭建方法很简单:每一台 Eureka 只需要在配置中指定另外多个 Eureka 的地址就可以实现一个集群的搭建了。下面我们以 2 个节点为例来说明搭建方式。假设我们有 master 和 slaveone 两台机器,需要做的就是:

(十二)springboot+springcloud b2b2c 电子商务商城之Eureka注册中心开启密码认证

2021-04-09
阅读 1 分钟
191
Eureka 自带了一个 Web 的管理页面,方便我们查询注册到上面的实例信息,但是有一个问题:如果在实际使用中,注册中心地址有公网 IP 的话,必然能直接访问到,这样是不安全的。所以我们需要对 Eureka 进行改造,加上权限认证来保证安全性。改造我们的 eureka-server,通过集成 Spring-Security 来进行安全认证。在 pom.x...

(十一)springboot+springcloud b2b2c 电子商务商城之使用Eureka编写服务消费者

2021-04-09
阅读 2 分钟
164
创建服务消费者,消费我们刚刚编写的 user/hello 接口,同样需要先创建一个 Maven 项目 eureka-client-article-service,然后添加依赖,依赖和服务提供者的一样,这里就不贴代码了。创建启动类 App,启动代码与前面所讲也是一样的。唯一不同的就是 application.properties 文件中的配置信息:

(十)springboot+springcloud b2b2c 微服务商城之Eureka 编写服务提供者

2021-04-09
阅读 3 分钟
179
注册中心已经创建并且启动好了,接下来我们实现将一个服务提供者 eureka-client-user-service 注册到 Eureka 中,并提供一个接口给其他服务调用。首先还是创建一个 Maven 项目,然后在 pom.xml 中增加相关依赖,代码如下所示。

(九)springboot+springcloud b2b2c 微服务商城之搭建Eureka服务注册中心

2021-04-09
阅读 2 分钟
175
这里所说的启动类,跟我们之前讲的 Spring Boot 几乎完全一样,只是多了一个 @EnableEurekaServer 注解,表示开启 Eureka Server。接下来在 src/main/resources 下面创建一个 application.properties 属性文件,增加下面的配置:

(八)springboot+springcloud b2b2c 微服务商城之Eureka是什么?

2021-04-08
阅读 1 分钟
182
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责实现微服务架构中的服务治理功能。Spring Cloud Eureka 是一个基于 REST 的服务,并且提供了基于 Java 的客户端组件,能够非常方便地将服务注册到 Spring Cloud Eureka 中进行统一管理。服务治理是微服务架...

(七)springboot+springcloud b2b2c 微服务电商 商城之SpringBoot Starter介绍及使用

2021-04-08
阅读 4 分钟
153
Spring Boot 的便利性体现在,它简化了很多烦琐的配置,这对于开发人员来说是一个福音,通过引入各种 Spring Boot Starter 包可以快速搭建出一个项目的脚手架。目前提供的 Spring Boot Starter 包有:

(六)springboot+springcloud b2b2c 分布式微服务电子商务商城之Spring Boot项目详细搭建步骤

2021-04-08
阅读 13 分钟
159
在 Spring Tools 4 for Eclipse 中依次选择 File->New->Maven Project,然后在出现的界面中按图所示增加相关信息。

(第五篇) 跟我学习SpringCloud-Spring Boot简介

2021-04-07
阅读 1 分钟
366
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。在使用 Spring Boot 之前,我们需要搭...

(第四篇) 跟我学习SpringCloud-Spring Cloud开发环境的准备和Lombok安装步骤

2021-04-07
阅读 1 分钟
171
JDK 的版本用 1.8 即可,环境变量大家自行去配置。配置好环境变量,在命令行中输入“java -version”能够显示出版本信息即可,如图所示。

(第三篇) 跟我学习SpringCloud-Spring Cloud和Dubbo的区别及各自的优缺点

2021-03-30
阅读 3 分钟
220
我们先从 Nginx 说起,了解为什么需要微服务。最初的服务化解决方案是给相同服务提供一个统一的域名,然后服务调用者向这个域发送 HTTP 请求,由 Nginx 负责请求的分发和跳转。这种架构存在很多问题:Nginx 作为中间层,在配置文件中耦合了服务调用的逻辑,这削弱了微服务的完整性,也使得 Nginx 在一定程度上变成了一个...