摘要: 1. 创建用户模块 eureka模块创建好后,我们便开始创建3个业务微服务模块。首先创建用户模块user,创建好后编辑pom.xml,如程序清单15-6所示。 接着,我们把application.properties文件的扩展名改为.yml,然后添加程序清单15-7所示的配置。这里不赘述,因为和co 阅读全文
posted @ 2022-12-14 21:23 cnetsa 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 父工程和common模块创建好后,创建名为“eureka”的模块。然后,编辑pom.xml,如程序清单15-4所示。 接着,我们把application.properties文件的扩展名改为.yml,然后添加程序清单15-5所示的配置。这里不做过多解释,详细讲解可以参见第9章第2节。 阅读全文
posted @ 2022-12-14 21:18 cnetsa 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 1、创建Maven项目 下面,我们正式开始开发项目。 首先,创建一个Maven项目作为微服务的父工程,将其命名为“mall” 。如图所示。 创建好后,编辑pom.xml文件,如程序清单15-1所示。 2、创建common模块 很多情况下,各个微服务会用到同样的代码,如果把这些公用的代码抽离出来单独做 阅读全文
posted @ 2022-12-14 20:36 cnetsa 阅读(780) 评论(0) 推荐(0) 编辑
摘要: 1、开发工具 项目开发工具如下。 (1)项目开发工具:IntelliJ IDEA。 (2)项目管理工具:Maven。 (3)数据库管理工具:Navicat。 (4)前端部署工具:Nginx。 2、开发环境 项目开发环境如下。 (1)操作系统:Windows。 (2)Java开发包:JDK 8。 (3 阅读全文
posted @ 2022-12-14 20:33 cnetsa 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 1、系统架构设计 了解了我们要做的项目以及具体的业务功能之后,我们就可以开始设计我们的系统架构和设计数据库了。 考虑到到电商类的系统模块比较多,并且我们也希望整个系统不同模块之间的耦合性越低越好,各个模块独立运行这样的话模块间影响也小,整个系统的稳定性和灵活性就大大提高,所以我们考虑使用Spring 阅读全文
posted @ 2022-12-14 20:30 cnetsa 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 1、项目背景 学习过Spring Boot和Spring Cloud技术之后我们知道,Spring Boot框架可以让我们快速开发一个项目,特别适合小项目或者单一服务的开发,这意味着诸如CRM(Customer Relationship Management,客户关系管理)、OA(Office Au 阅读全文
posted @ 2022-12-14 20:04 cnetsa 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 熟悉电商项目基本功能。 熟悉项目架构搭建与数据库设计。 熟悉Spring Boot框架和微服务Spring Cloud框架在项目中的使用。 掌握电商项目用户、商品、订单等模块的实现。 掌握项目网关实现接口统一访问和服务监控。 掌握项目的部署和运行。 从学习Spring Boot快速开发与使用Spri 阅读全文
posted @ 2022-12-14 20:01 cnetsa 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 我们知道在微服务架构中有了Config Server配置中心之后就可以让我们从远程git仓库读取配置文件,以达到配置集中管理以及配合Spring Cloud Bus实现配置的自动刷新。 但是如果配置中心宕机或者出现其他故障,那将会是一个“噩耗”,可能导致所有的Config Client服务无法读取配 阅读全文
posted @ 2022-12-14 19:42 cnetsa 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 在上一节中我们学习了在Spring Cloud微服务系统架构中使用Config Server进行本地仓库配置读取和线上环境的远程仓库git配置读取,让我们在多个微服务下也可以进行配置信息的集中管理。但是还有一个问题,那就是Config Server从git读取配置文件是项目启动的时候进行的,如果项目 阅读全文
posted @ 2022-12-14 19:18 cnetsa 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 通过之前的介绍我们知道Config Server读取配置文件有2种方式: 一种是从本地仓库中读取并缓存到Config Server项目中; 另外一种是从远程仓库读取(这里我们以git为例)并缓存到Config Server项目中供Config Client获取。 所以下面我们会这两种不同的方式搭建C 阅读全文
posted @ 2022-12-14 18:48 cnetsa 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 市场上的开源的配置中心有很多,如奇虎360的QConf、淘宝的Diamond、百度的Disconf、携程的Apollo都可解决上述提到的问题,同样地Spring Cloud提供的配置中心则是Spring Cloud Config。 Spring Cloud Config在官方文档中的表述:为分布式系 阅读全文
posted @ 2022-12-14 16:55 cnetsa 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 了解Spring Cloud Config的作用。 熟悉Config Server从本地仓库读取配置文件。 熟悉Config Server从远程仓库git读取配置文件。 熟悉Spring Cloud Config使用RabbitMQ消息队列并结合Spring Cloud Bus实现配置的自动刷新。 阅读全文
posted @ 2022-12-14 16:48 cnetsa 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 上一节我们带领读者使用Hystrix Dashboard 查看服务调用的监控信息,以此来查看某些服务的健康状态。 但是我们只查看了goods服务被调用的健康状态,而在一个复杂的分布式系统中,相同服务类型的节点可能有很多个,它们组成了一个集群。 如果想要同时监控集群中多个服务节点的健康指标信息,就需要 阅读全文
posted @ 2022-12-14 16:41 cnetsa 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 在上一节中我们对Hystrix实现服务熔断和降级进行了原理分析,在其解释中提到了Hystrix命令执行会根据其健康指标来决定是否熔断,这些健康指标除了可以让Hystrix自己决定熔断外,我们也能够实时地查看,这对于系统的运维也非常有帮助。那么我们怎样才能查看Hystrix的健康指标呢?其实Hystr 阅读全文
posted @ 2022-12-14 15:53 cnetsa 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 通过上面两节我们了解了Hystrix的基本使用,下面我们将通过Hystrix官方的工作流程(如图所示)来解析Hystrix是怎样实现服务熔断】 图中执行的步骤如下: ① 创建一个HystrixCommand或者HystrixObservableCommand对象。 先通过调用HystrixComma 阅读全文
posted @ 2022-12-14 15:46 cnetsa 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Feign本身就整合了Hystrix,所以它自带熔断和降级功能,只不过默认熔断功能是关闭的,需要我们自己去开启。 所以我们只需要在Hystrix服务项目上添加Feign服务访问方式即可实现熔断和降级。 开发步骤如下: ① 在application.yml中开启Feign的熔断功能,如程序清单13-8 阅读全文
posted @ 2022-12-14 15:45 cnetsa 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 当我们进行服务调用的时候使用的是RestTemplate方式,那么在服务调用的时候进行服务熔断就需要结合Ribbon来使用,并且当服务出现故障的时候服务调用者也需要知道并做出相应的处理,比如进行服务降级。 下面我们就结合Ribbon来实现服务的熔断和降级处理。 开发步骤如下: ① 我们使用IDEA创 阅读全文
posted @ 2022-12-14 15:27 cnetsa 阅读(234) 评论(0) 推荐(0) 编辑
摘要: Hystrix翻译成汉语有海参、豪猪和猬草的意思,它们的特征是身上长有棘刺,主要是起到保护的作用,这也彰显了Hystrix在微服务中的作用。 Hystrix是由Netflix公司开源的一个延迟和容错库,它通过隔离远程系统、服务或者第三方库之间的访问,防止级联失败并提供回退选项,从而提升系统的可用性、 阅读全文
posted @ 2022-12-14 15:16 cnetsa 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 在微服务架构系统中通常会有多个服务,在服务调用中如果出现基础服务故障,可能会导致级联故障,即一个服务不可用,可能导致所有调用它或间接调用它的服务都不可用,进而造成整个系统不可用的情况,这种现象也被称为服务雪崩效应。 服务雪崩效应是一种因“服务提供者不可用”(原因)导致“服务调用者不可用”(结果),并 阅读全文
posted @ 2022-12-14 15:09 cnetsa 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 了解服务雪崩效应产生的原因和应对的策略。 熟悉Hystrix的使用及其工作原理。 熟悉如何在Feign中使用Hystrix进行服务降级。 熟悉Hystrix Dashboard和Turbine的使用。 在微服务架构系统中,可能被拆分出很多的服务,如电商项目中的订单服务、商品服务、库存服务等,这些服务 阅读全文
posted @ 2022-12-14 15:08 cnetsa 阅读(18) 评论(0) 推荐(0) 编辑