02 2021 档案

摘要:微服务架构下,服务的数量少则几十,多则上百,所以对服务的监控必不可少。如果是以前的单体项目,启动了多少个项目是固定的,可以通过第三方监控工具对其进行监控,然后实时告警。在微服务下,由于服务数量太多,并且可以随时扩展,这个时候第三方的监控功能就不适用了,不过我们可以通过 Spring Boot Adm 阅读全文
posted @ 2021-02-25 09:20 节日快乐 阅读(531) 评论(0) 推荐(0) 编辑
摘要:通过《Spring Boot Admin的介绍及使用》教程的学习,已经可以在 Spring Boot Admin 中查看应用中 Actuator 的监控信息了,但是这种方式有一点不好的地方,就是每个被监控的服务都必须配置 Spring Boot Admin 的地址,还得引入依赖。本节我们将 Spri 阅读全文
posted @ 2021-02-25 09:17 节日快乐 阅读(279) 评论(0) 推荐(0) 编辑
摘要:监控类的数据 Web 管理端最好不要设置成直接通过输入访问地址就可以访问,必须得进行用户认证才行,以保证数据的安全性。Spring Boot Admin 开启认证也可以借助于 spring-boot-starter-security。加入依赖,代码如下所示。 <dependency> <groupI 阅读全文
posted @ 2021-02-25 09:15 节日快乐 阅读(242) 评论(0) 推荐(0) 编辑
摘要:Spring Boot 有一个非常好用的监控和管理的源软件,这个软件就是 Spring Boot Admin。该软件能够将 Actuator 中的信息进行界面化的展示,也可以监控所有 Spring Boot 应用的健康状况,提供实时警报功能。主要的功能点有: 显示应用程序的监控状态 应用程序上下线监 阅读全文
posted @ 2021-02-25 09:12 节日快乐 阅读(322) 评论(0) 推荐(0) 编辑
摘要:服务之间接口调用的安全认证是通过 Feign 的请求拦截器统一在请求头中添加 Token 信息,实现认证调用。还有一种调用方式也是需要进行认证,就是我们的 API 网关转发到具体的服务,这时候就不能采用 Feign 拦截器的方式进行 Token 的传递。在 Zuul 中我们可以用 pre 过滤器来做 阅读全文
posted @ 2021-02-25 08:57 节日快乐 阅读(96) 评论(0) 推荐(0) 编辑
摘要:如果项目中用的 RestTemplate 来调用服务提供的接口,可以利用 RestTemplate 的拦截器来传递 Token,代码如下所示。 @Component public class TokenInterceptor implements ClientHttpRequestIntercept 阅读全文
posted @ 2021-02-24 17:14 节日快乐 阅读(138) 评论(0) 推荐(0) 编辑
摘要:如果项目中用的是 HttpClient 或者 RestTemplate 之类的调用接口,则可以在调用之前申请 Token,然后将其塞到请求头中。在 Spring Cloud 中消费接口肯定是用 Feign 来做的,这意味着我们需要对 Feign 进行改造,需要往请求头中塞上我们申请好的 Token。 阅读全文
posted @ 2021-02-24 17:09 节日快乐 阅读(188) 评论(0) 推荐(0) 编辑
摘要:目前服务提供方已经开启了调用认证,这意味着如果现在直接调用接口会被拦截,所以在调用之前需要进行认证,即获取 Token 并将其放到请求头中与请求头一起传输才可以调用接口。 1. 调用前获取 Token 获取 Token 前我们先定义一个 Feign 的客户端,代码如下所示。 /** * 认证服务 A 阅读全文
posted @ 2021-02-24 17:05 节日快乐 阅读(83) 评论(0) 推荐(0) 编辑
摘要:服务提供方就是 provider。服务消费方消费接口时,provider 需要对其进行身份验证,验证通过才可以让它消费接口。这个过程中用到的过滤器可以写在 Common 包中,凡是服务提供方都需要用到。认证过滤器的代码如下所示。 /** * API 调用权限控制 */ public class Ht 阅读全文
posted @ 2021-02-24 17:02 节日快乐 阅读(77) 评论(0) 推荐(0) 编辑
摘要:认证服务肯定要有用户信息,不然怎么认证是否为合法用户?因为是内部的调用认证,可以简单一点,用数据库管理就是一种方式。或者可以配置用户信息,然后集成分布式配置管理就完美了。 表结构 本教程中的案例把查数据库这一步骤省略了,大家可以自行补充,但是表的设计还是要跟大家讲解的。用户表的形式如图 1 所示。 阅读全文
posted @ 2021-02-24 16:59 节日快乐 阅读(208) 评论(0) 推荐(0) 编辑
摘要:JWT(Json Web Token)是为了在网络应用环境间传递声明而执行的一种基于 Json 的开放标准。JWT 的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上时,基本思路就是用户提供用户名和密码给认证服务器,服务器验证用户提交信 阅读全文
posted @ 2021-02-24 14:39 节日快乐 阅读(102) 评论(0) 推荐(0) 编辑
摘要:Zipkin 是 Twitter 的一个开源项目,是一个致力于收集所有服务的监控数据的分布式跟踪系统,它提供了收集数据和查询数据两大接口服务。有了 Zipkin 我们就可以很直观地对调用链进行查看,并且可以很方便地看出服务之间的调用关系以及调用耗费的时间。 Zipkin 数据收集服务 部署 Zipk 阅读全文
posted @ 2021-02-24 14:08 节日快乐 阅读(134) 评论(0) 推荐(0) 编辑
摘要:在《Spring Cloud使用Sleuth在应用中进行日志跟踪》教程中的案例,我们已经实现了服务调用之间的链路追踪,但是这些日志是分散在各个机器上的,就算出现问题了,我们想快速定位,也得从各个机器把日志整合起来,再去查问题。这个时候就需要引入日志分析系统了,比如 ELK,可以将多台服务器上的日志信 阅读全文
posted @ 2021-02-24 13:57 节日快乐 阅读(248) 评论(0) 推荐(0) 编辑
摘要:首先我们需要在跟踪的服务中集成 Sleuth,所有需要跟踪的服务都加上依赖。Sleuth Maven 配置代码如下所示。 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starte 阅读全文
posted @ 2021-02-24 13:54 节日快乐 阅读(154) 评论(0) 推荐(0) 编辑
摘要:高可用是分布式系统架构设计中必须考虑的因素之一,它通常是指通过设计减少系统不能提供服务的时间。Apollo 在高可用设计上下了很大的功夫,下面我们来简单的分析下: 1)某台Config Service 下线 无影响,Config Service 可用部署多个节点。 2)所有 Config Servi 阅读全文
posted @ 2021-02-24 13:47 节日快乐 阅读(164) 评论(0) 推荐(0) 编辑
摘要:本节主要对 Apollo 客户端设计原理进行解析。 1. 设计原理 图 1 简要描述了 Apollo 客户端的实现原理。 客户端和服务端保持了一个长连接,编译配置的实时更新推送。 定时拉取配置是客户端本地的一个定时任务,默认为每 5 分钟拉取一次,也可以通过在运行时指定 System Propert 阅读全文
posted @ 2021-02-24 13:46 节日快乐 阅读(498) 评论(0) 推荐(0) 编辑
摘要:本节主要对 Apollo 服务端设计原理进行解析。 1. 配置发布后的实时推送设计 配置中心最重要的一个特性就是实时推送,正因为有这个特性,我们才可以依赖配置中心做很多事情。如图 1 所示。 图 1 简要描述了配置发布的大致过程。 用户在 Portal 中进行配置的编辑和发布。 Portal 会调用 阅读全文
posted @ 2021-02-22 17:16 节日快乐 阅读(159) 评论(0) 推荐(0) 编辑
摘要:1)Config Service 服务于 Client(项目中的 Apollo 客户端)对配置的操作,提供配置的查询接口。 提供配置更新推送接口(基于 Http long polling)。 2)Admin Service 服务于后台 Portal(Web 管理端),提供配置管理接口。 3)Meta 阅读全文
posted @ 2021-02-22 16:23 节日快乐 阅读(80) 评论(0) 推荐(0) 编辑
摘要:本节主要讲解在普通的 Java 项目和 Spring Boot 中如何使用 Apollo。 普通 Java 项目中使用 加入 Apollo Client 的 Maven 依赖,代码如下所示。 <dependency> <groupId>com.ctrip.framework.apollo</grou 阅读全文
posted @ 2021-02-22 16:19 节日快乐 阅读(393) 评论(0) 推荐(0) 编辑
摘要:打开 Portal 地址,首先看到的是登录页面,默认的账号是 apollo,密码是 admin。输入之后点击登录即可跳转到首页 首页会展示当前登录用户管理的所有项目列表,还有收藏、搜索等功能,如图 2 所示。 点击 SampleApp 可以跳转到项目的主页面,如图 3 所示。 点击新增配置按钮可以添 阅读全文
posted @ 2021-02-22 15:58 节日快乐 阅读(399) 评论(0) 推荐(0) 编辑
摘要:为了让大家更快地上手了解 Apollo 配置中心,官方准备了一个快速启动的安装包,能够在几分钟内完成本地环境部署,启动 Apollo 配置中心。本地部署只适用于开发环境,生产环境需要采用分布式部署,教程后面会为大家讲解怎么进行分布式部署。 1. 环境准备 Apollo 采用 Java 语言开发,部署 阅读全文
posted @ 2021-02-22 15:55 节日快乐 阅读(369) 评论(0) 推荐(0) 编辑
摘要:Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于 Spring Boot 和 Spring Cloud 开发,打包后可以直接运行,不需要额外安 阅读全文
posted @ 2021-02-22 15:53 节日快乐 阅读(140) 评论(0) 推荐(0) 编辑
摘要:Smconf 专注于分布式环境下的配置的统一管理。采用 Java+Zookeeper+Mongodb+Spring Boot 开发。目前只支持 Java,其他的使用语言需要通过调用 REST API 来实现。每个技术人都有一个开源的梦想,那就是自己也能开发出一个让很多人使用的框架。其实分享使用不是重 阅读全文
posted @ 2021-02-22 15:45 节日快乐 阅读(161) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud Gateway 作为新一代网关,在性能上有很大提升,并且附加了诸如限流等实用的功能。本节主要讲解 Gateway 的一些实用功能的实例。 限流实战 开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。API 网关作为所有请求的入口,请求量大,我们可以通过对并发访问的请 阅读全文
posted @ 2021-02-22 15:41 节日快乐 阅读(574) 评论(0) 推荐(0) 编辑
摘要:全局过滤器作用于所有的路由,不需要单独配置,我们可以用它来实现很多统一化处理的业务需求,比如权限认证、IP 访问限制等。 接口定义类 org.springframework.cloud.gateway.filter.GlobalFilter public interface GlobalFilter 阅读全文
posted @ 2021-02-22 15:04 节日快乐 阅读(410) 评论(0) 推荐(0) 编辑
摘要:GatewayFilter Factory 是 Spring Cloud Gateway 中提供的过滤器工厂。Spring Cloud Gateway 的路由过滤器允许以某种方式修改传入的 HTTP 请求或输出的 HTTP 响应,只作用于特定的路由。Spring Cloud Gateway 中内置了 阅读全文
posted @ 2021-02-22 14:59 节日快乐 阅读(184) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud Gateway 内置了许多路由断言工厂,可以通过配置的方式直接使用,也可以组合使用多个路由断言工厂。接下来为大家介绍几个常用的路由断言工厂类。 1)Path 路由断言工厂 Path 路由断言工厂接收一个参数,根据 Path 定义好的规则来判断访问的 URI 是否匹配。 sp 阅读全文
posted @ 2021-02-08 12:29 节日快乐 阅读(198) 评论(0) 推荐(0) 编辑
摘要:本节我们先创建一个 Gateway 项目,然后实现了一个最简单的转发功能,并进行 Eureka 路由的整合。 1、创建 Gateway 项目 创建一个 Spring Boot 的 Maven 项目,增加 Spring Cloud Gateway 的依赖 <parent> <groupId>org.s 阅读全文
posted @ 2021-02-08 12:03 节日快乐 阅读(303) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0、Spring Boot 2.0 和 Project Reactor 等技术开发的网关,Spring Cloud Gateway 旨在为微服务架构提供一种简单有效的、统一的 API 路由管理方式。Spring 阅读全文
posted @ 2021-02-08 11:46 节日快乐 阅读(237) 评论(0) 推荐(0) 编辑
摘要:zuul 中自带了一个 DebugFilter,一开始笔者也没明白这个 DebugFilter 有什么用,看名称很容易理解,它是用来调试的,可是你看它的源码几乎没什么逻辑,就 set 了两个值而已 @Override public Object run() { RequestContext ctx 阅读全文
posted @ 2021-02-08 10:39 节日快乐 阅读(291) 评论(0) 推荐(0) 编辑
摘要:系统在生产环境出现问题时,排查问题最好的方式就是查看日志了,日志的记录尽量详细,这样你才能快速定位问题。下面带大家学习如何在 Zuul 中输出请求响应的信息来辅助我们解决一些问题。熟悉 Zuul 的朋友都知道,Zuul 中有 4 种类型过滤器,每种都有特定的使用场景,要想记录响应数据,那么必须是在请 阅读全文
posted @ 2021-02-07 22:32 节日快乐 阅读(166) 评论(0) 推荐(0) 编辑
摘要:/routes 端点 当 @EnableZuulProxy 与 Spring Boot Actuator 配合使用时,Zuul 会暴露一个路由管理端点 /routes。借助这个端点,可以方便、直观地查看以及管理 Zuul 的路由。将所有端点都暴露出来,在 application.properties 阅读全文
posted @ 2021-02-07 22:22 节日快乐 阅读(99) 评论(0) 推荐(0) 编辑
摘要:Zuul 主要功能就是转发,在转发过程中我们无法保证被转发的服务是可用的,这个时候就需要容错机制及回退机制。 1、容错机制 容错,简单来说就是当某个服务不可用时,能够切换到其他可用的服务上去,也就是需要有重试机制。在 Zuul 中开启重试机制需要依赖 spring-retry。首先在 pom.xml 阅读全文
posted @ 2021-02-07 21:52 节日快乐 阅读(107) 评论(0) 推荐(0) 编辑
摘要:在教程《Zuul网关的介绍及使用》中一开始就介绍过,Zuul 可以实现很多高级的功能,比如限流、认证等。想要实现这些功能,必须要基于 Zuul 给我们提供的核心组件“过滤器”。 过滤器类型 Zuul 中的过滤器跟我们之前使用的 javax.servlet.Filter 不一样,javax.servl 阅读全文
posted @ 2021-02-07 21:24 节日快乐 阅读(211) 评论(0) 推荐(0) 编辑
摘要:在教程《Zuul网关介绍和使用》中,我们学习了如何结合 Eureka 来实现动态的路由转发。当 Zuul 集成 Eureka 之后,其实就可以为 Eureka 中所有的服务进行路由操作了,默认的转发规则就是“API 网关地址+访问的服务名称+接口 URI”。在给服务指定名称的时候,应尽量短一点,这样 阅读全文
posted @ 2021-02-07 19:40 节日快乐 阅读(120) 评论(0) 推荐(0) 编辑
摘要:Zuul 是 Netflix OSS 中的一员,是一个基于 JVM 路由和服务端的负载均衡器。提供路由、监控、弹性、安全等方面的服务框架。Zuul 能够与 Eureka、Ribbon、Hystrix 等组件配合使用。Zuul 的核心是过滤器,通过这些过滤器我们可以扩展出很多功能,比如: 1)动态路由 阅读全文
posted @ 2021-02-07 19:21 节日快乐 阅读(79) 评论(0) 推荐(0) 编辑
摘要:前面我们实现了对单个服务实例的监控,当然在实际应用中,单个实例的监控数据没有多大的价值,我们更需要的是一个集群系统的监控信息,这时我们就需要 Turbine。Turbine 是用来监控集群的,通过它来汇集监控信息,并将聚合后的信息提供给 Hystrix Dashboard 来集中展示和监控。 Tur 阅读全文
posted @ 2021-02-07 18:58 节日快乐 阅读(135) 评论(0) 推荐(0) 编辑
摘要:我们已经知道 Hystrix 提供了监控的功能,可以通过 hystrix.stream 端点来获取监控数据,但是这些数据是以字符串的形式展现的,实际使用中不方便查看。我们可以借助 Hystrix Dashboard 对监控进行图形化展示。Hystrix Dashboard 是一款针对 Hystrix 阅读全文
posted @ 2021-02-07 18:47 节日快乐 阅读(96) 评论(0) 推荐(0) 编辑
摘要:在微服务架构中,Hystrix 除了实现容错外,还提供了实时监控功能。在服务调用时,Hystrix 会实时累积关于 HystrixCommand 的执行信息,比如每秒的请求数、成功数等。 Hystrix 监控需要两个必备条件:1)必须有 Actuator 的依赖 <dependency> <grou 阅读全文
posted @ 2021-02-07 17:23 节日快乐 阅读(132) 评论(0) 推荐(0) 编辑
摘要:创建一个新的 Maven 项目 hystrix-feign-demo,增加 EurekaClient,Feign,Hystrix 的依赖,然后在属性文件中开启 Feign 对 Hystrix 的支持: feign.hystrix.enabled=true 1. Fallback 方式 在 Feign 阅读全文
posted @ 2021-02-07 17:11 节日快乐 阅读(84) 评论(0) 推荐(0) 编辑
摘要:创建一个新的 Maven 项目 hystrix-feign-demo,增加 Hystrix 的依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-h 阅读全文
posted @ 2021-02-07 16:52 节日快乐 阅读(72) 评论(0) 推荐(0) 编辑
摘要:缓存在开发中经常用到,我们常用 Redis 这种第三方的缓存数据库对数据进行缓存处理。本节讲解 Hystrix 缓存的实现和清除,以及请求的合并。 结果缓存 在 Hystrix 中也为我们提供了方法级别的缓存。通过重写 getCacheKey 来判断是否返回缓存的数据,getCacheKey 可以根 阅读全文
posted @ 2021-02-07 16:42 节日快乐 阅读(112) 评论(0) 推荐(0) 编辑
摘要:Hystrix 的资源隔离策略有两种,分别为线程池和信号量。那我们为什么需要资源隔离呢?在一个分布式系统中,服务之间都是相互调用的,例如,我们容器(Tomcat)配置的线程个数为 1000,服务 A-服务 R,其中服务 I 的并发量非常的大,需要 500 个线程来执行,此时,服务 I 又挂了,那么这 阅读全文
posted @ 2021-02-07 16:17 节日快乐 阅读(258) 评论(0) 推荐(0) 编辑
摘要:Hystrix 是 Netflix 针对微服务分布式系统采用的熔断保护中间件,相当于电路中的保险丝。在分布式环境中,许多服务依赖项中的一些必然会失败。Hystrix 是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix 通过隔离服务之间的访问点、停止级联失败和提供 阅读全文
posted @ 2021-02-07 13:38 节日快乐 阅读(87) 评论(0) 推荐(0) 编辑
摘要:1、日志配置 有时候我们遇到 Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置 Feign 的日志了,以此让 Feign 把请求信息输出来。 首先定义一个配置类 @Configuration public class FeignConfiguration { /** * 日 阅读全文
posted @ 2021-02-07 13:04 节日快乐 阅读(679) 评论(0) 推荐(0) 编辑
摘要:JAVA 项目中接口调用怎么做? 1)Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK 自 阅读全文
posted @ 2021-02-07 11:49 节日快乐 阅读(114) 评论(0) 推荐(0) 编辑
摘要:常用配置 1. 禁用 Eureka 当我们在 RestTemplate 上添加 @LoadBalanced 注解后,就可以用服务名称来调用接口了,当有多个服务的时候,还能做负载均衡。这是因为 Eureka 中的服务信息已经被拉取到了客户端本地,如果我们不想和 Eureka 集成,可以通过下面的配置方 阅读全文
posted @ 2021-02-06 20:16 节日快乐 阅读(129) 评论(0) 推荐(0) 编辑
摘要:通过实现 IRule 接口可以自定义负载策略,主要的选择服务逻辑在 choose 方法中。我们这边只是演示怎么自定义负载策略,所以没写选择的逻辑,直接返回服务列表中第一个服务。 public class MyRule implements IRule { private ILoadBalancer 阅读全文
posted @ 2021-02-06 20:06 节日快乐 阅读(65) 评论(0) 推荐(0) 编辑
摘要:图中说明如下: 1)BestAvailabl 选择一个最小的并发请求的 Server,逐个考察 Server,如果 Server 被标记为错误,则跳过,然后再选择 ActiveRequestCount 中最小的 Server。 2)AvailabilityFilteringRule 过滤掉那些一直连 阅读全文
posted @ 2021-02-06 12:24 节日快乐 阅读(77) 评论(0) 推荐(0) 编辑
摘要:在《Spring Cloud Ribbon介绍及使用》教程中我们简单地使用 Ribbon 进行了负载的一个调用,这意味着 Ribbon 是可以单独使用的。在 Spring Cloud 中使用 Ribbon 会更简单,因为 Spring Cloud 在 Ribbon 的基础上进行了一层封装,将很多配置 阅读全文
posted @ 2021-02-05 17:16 节日快乐 阅读(135) 评论(0) 推荐(0) 编辑
摘要:目前主流的负载方案分为以下两种: 集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 F5),也有软件的(比如 Nginx)。 客户端自己做负载均衡,根据自己的请求情况做负载,Ribbon 就属于客户端自己做负载。 Spring Cloud Ribbon 是一个基于 阅读全文
posted @ 2021-02-05 16:51 节日快乐 阅读(140) 评论(0) 推荐(0) 编辑
摘要:Eureka REST API Eureka 作为注册中心,其本质是存储了每个客户端的注册信息,Ribbon 在转发的时候会获取注册中心的服务列表,然后根据对应的路由规则来选择一个服务给 Feign 来进行调用。如果我们不是 Spring Cloud 技术选型,也想用 Eureka,可以吗?完全可以 阅读全文
posted @ 2021-02-05 16:41 节日快乐 阅读(493) 评论(0) 推荐(0) 编辑
摘要:在实际开发过程中,我们可能会不停地重启服务,由于 Eureka 有自己的保护机制,故节点下线后,服务信息还会一直存在于 Eureka 中。我们可以通过增加一些配置让移除的速度更快一点,当然只在开发环境下使用,生产环境下不推荐使用。 首先在我们的 eureka-server 中增加两个配置,分别是关闭 阅读全文
posted @ 2021-02-05 16:12 节日快乐 阅读(178) 评论(0) 推荐(0) 编辑
摘要:关闭自我保护 保护模式主要在一组客户端和 Eureka Server 之间存在网络分区场景时使用。一旦进入保护模式,Eureka Server 将会尝试保护其服务的注册表中的信息,不再删除服务注册表中的数据。当网络故障恢复后,该 Eureka Server 节点会自动退出保护模式。如果在 Eurek 阅读全文
posted @ 2021-02-05 16:08 节日快乐 阅读(263) 评论(0) 推荐(0) 编辑
摘要:前面我们搭建的注册中心只适合本地开发使用,在生产环境中必须搭建一个集群来保证高可用。Eureka 的集群搭建方法很简单:每一台 Eureka 只需要在配置中指定另外多个 Eureka 的地址就可以实现一个集群的搭建了。 下面我们以 2 个节点为例来说明搭建方式。假设我们有 master 和 slav 阅读全文
posted @ 2021-02-05 15:56 节日快乐 阅读(93) 评论(0) 推荐(0) 编辑
摘要:Eureka 自带了一个 Web 的管理页面,方便我们查询注册到上面的实例信息,但是有一个问题:如果在实际使用中,注册中心地址有公网 IP 的话,必然能直接访问到,这样是不安全的。所以我们需要对 Eureka 进行改造,加上权限认证来保证安全性。 改造我们的 eureka-server,通过集成 S 阅读全文
posted @ 2021-02-05 15:52 节日快乐 阅读(130) 评论(0) 推荐(0) 编辑
摘要:1)创建项目注册到 Eureka 注册中心已经创建并且启动好了,接下来我们实现将一个服务提供者 eureka-client-user-service 注册到 Eureka 中,并提供一个接口给其他服务调用。 首先还是创建一个 Maven 项目,然后在 pom.xml 中增加相关依赖 <!-- Spr 阅读全文
posted @ 2021-02-05 15:46 节日快乐 阅读(69) 评论(0) 推荐(0) 编辑
摘要:1)直接调用接口 创建服务消费者,消费我们刚刚编写的 user/hello 接口,同样需要先创建一个 Maven 项目 eureka-client-article-service,然后添加依赖,依赖和服务提供者的一样,这里就不贴代码了。创建启动类 App,启动代码与前面所讲也是一样的。唯一不同的就是 阅读全文
posted @ 2021-02-05 15:40 节日快乐 阅读(106) 评论(0) 推荐(0) 编辑
摘要:首先创建一个 Maven 项目,取名为 eureka-server,在 pom.xml 中配置 Eureka 的依赖信息 <!-- Spring Boot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spr 阅读全文
posted @ 2021-02-05 15:29 节日快乐 阅读(70) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责实现微服务架构中的服务治理功能。Spring Cloud Eureka 是一个基于 REST 的服务,并且提供了基于 Java 的客户端 阅读全文
posted @ 2021-02-05 15:23 节日快乐 阅读(74) 评论(0) 推荐(0) 编辑
摘要:目前提供的 Spring Boot Starter 包有: spring-boot-starter-web:快速构建基于 Spring MVC 的 Web 项目,使用 Tomcat 做默认嵌入式容器。 spring-boot-starter-data-redis:操作 Redis。 spring-b 阅读全文
posted @ 2021-02-05 14:36 节日快乐 阅读(278) 评论(0) 推荐(0) 编辑
摘要:在 Spring Tools 4 for Eclipse 中依次选择 File->New->Maven Project 完了上述操作之后,在 pom.xml 中添加 Spring Boot 的依赖,代码如下所示。 <parent> <groupId>org.springframework.boot< 阅读全文
posted @ 2021-02-05 13:04 节日快乐 阅读(291) 评论(0) 推荐(0) 编辑
摘要:开发环境的准备主要涉及三个方面:JDK、Maven、Spring Tools 4 for Eclipse。 1. JDK JDK 的版本用 1.8 即可,环境变量大家自行去配置。 2. Maven Maven 是用于项目构建的,教程所用的版本是 3.6。 3. Spring Tools 4 for 阅读全文
posted @ 2021-02-05 11:52 节日快乐 阅读(94) 评论(0) 推荐(0) 编辑
摘要:我们先从 Nginx 说起,了解为什么需要微服务。最初的服务化解决方案是给相同服务提供一个统一的域名,然后服务调用者向这个域发送 HTTP 请求,由 Nginx 负责请求的分发和跳转。这种架构存在很多问题:Nginx 作为中间层,在配置文件中耦合了服务调用的逻辑,这削弱了微服务的完整性,也使得 Ng 阅读全文
posted @ 2021-02-05 11:50 节日快乐 阅读(1088) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud 模块的相关介绍如下: Spring Cloud 模块的相关介绍如下: Eureka:服务注册中心,用于服务管理。 Zuul:API 网关,提供路由转发、请求过滤等功能。 Ribbon:基于客户端的负载均衡组件。 Hystrix:容错框架,能够防止服务的雪崩效应。 Feign 阅读全文
posted @ 2021-02-05 11:43 节日快乐 阅读(90) 评论(0) 推荐(0) 编辑
摘要:微服务架构的优势 使用微服务架构能够为我们带来如下好处: 1)服务的独立部署 每个服务都是一个独立的项目,可以独立部署,不依赖于其他服务,耦合性低。 2)服务的快速启动 拆分之后服务启动的速度必然要比拆分之前快很多,因为依赖的库少了,代码量也少了。 3)更加适合敏捷开发 敏捷开发以用户的需求进化为核 阅读全文
posted @ 2021-02-05 11:16 节日快乐 阅读(135) 评论(0) 推荐(0) 编辑
摘要:https://www.cnblogs.com/theRhyme/p/11057233.html 阅读全文
posted @ 2021-02-05 11:10 节日快乐 阅读(72) 评论(0) 推荐(0) 编辑
摘要:ps.setDate(8, new java.sql.Date(new java.util.Date().getTime())); ps.setDate(9, new java.sql.Date(new java.util.Date().getTime())); //Date parse = (ja 阅读全文
posted @ 2021-02-04 10:04 节日快乐 阅读(56) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示