![](https://img-blog.csdnimg.cn/20200130092524488.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
[SpringCloud Netflix]
SpringCloud Netflix
我能在河边钓一整天的鱼
欢迎来到我的酒馆
展开
-
JWT和RSA登录认证与加密技术以及Zuul的鉴权流程
目录为什么把这俩东西一起讲JWT数据格式JWT的交互流程加密技术为什么把这俩东西一起讲他们两个是比较常用的一套用户登录认证与加密技术,JWT服务认证,RSA负责加密JWTJWT,全称是Json Web Token, 是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权数据格式...原创 2020-02-23 09:54:50 · 612 阅读 · 2 评论 -
SpringCloud购物车功能模块开发(下)
目录把登录用户的购物车信息存入到redis中新建购物车实体类新建接口新建controller新建Service效果展示把登录用户的购物车信息存入到redis中解析登录用户信息是第一步,第二步我们把登录用户的购物车信息存入到redis中新建购物车实体类记得生成getset方法package com.leyou.car...原创 2020-02-26 13:51:50 · 652 阅读 · 0 评论 -
SpringCloud购物车功能模块开发(上)
写在前面今天我们来实现购物车功能。这一篇我们先把购物车微服务的基本环境搭建起来,然后完成未登录情况下如何把商品添加到购物车中新建模块leyou-cart编写启动类引入pom依赖 <dependencies> <dependency> <g...原创 2020-02-26 11:10:28 · 873 阅读 · 0 评论 -
SpringCloud搭建授权中心实现用户登录(下)
目录前情提要新增刷新方法给Zuul网关添加过滤器设置白名单前情提要上一篇我们成功拿到了token并且存入到了浏览器的cookie中,这篇我们来收个尾。介绍如何刷新cookie以及给zuul网关添加过滤器。新增刷新方法我们在AuthController中新增方法 /** * 刷新token *...原创 2020-02-24 15:50:50 · 899 阅读 · 0 评论 -
SpringCloud搭建授权中心实现用户登录(中)
目录授权中心业务逻辑抽取配置类配置路由编写Controller新建接口远程调用编写Service测试生成cookie解决cookies无法写入的问题授权中心业务逻辑1.远程调用queryUser方法验证用户名和密码2.判断user是否为null3.通过jwt工具类生成token4.设置到cookie中抽取配...原创 2020-02-24 14:09:58 · 1593 阅读 · 0 评论 -
SpringCloud搭建授权中心实现用户登录功能(上)
目录本文介绍框架搭建引入JWT测试类本文介绍本篇我们先搭建授权中心的基本框架,已经引入JWT认证的测试类框架搭建由于jwt认证我们也有可能在其他微服务项目调用到,所以我们把它抽取成一个微服务放在auth-common里,然后整个授权中心其他业务逻辑我们放在auth-service里,他们共同组成授权中心这个微服务auth。...原创 2020-02-23 13:15:24 · 2319 阅读 · 1 评论 -
如何在springcloud项目中调用阿里短信功能(下)
目录为什么要引入redis1.引入依赖2.修改配置文件3.新增redis测试类4.引入工具类5.编写发送短信方法6.测试为什么要引入redis这篇我们从消费者的角度讲如何调用阿里短信服务。首先我们给用户发送的验证码需要存在一个地方进行核验,像这种价值密度低,持久性若的数据我们保持在redis中最为合适。1.引入依赖...原创 2020-02-22 13:13:42 · 489 阅读 · 1 评论 -
如何在springcloud项目中调用阿里短信功能(上)
前提开通了阿里短信业务, 参见博客搭建短信微服务1.引入pom依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <a...原创 2020-02-21 18:20:51 · 757 阅读 · 0 评论 -
使用Cors解决Spring项目中的跨域问题
目录关于CorsSpringCloud使用Cors解决跨域问题1.在网关服务中新建一个Cors配置文件2.编写配置3.重启服务关于CorsCors需要浏览器和服务器同时支持。目前所有浏览器都支持该功能,IE浏览器不能低于IE10浏览器端:因为绝大多数主流浏览器都支持Cors,浏览器会自动完成Cors通信,所以不需要我们做配置服务器端: 首先...原创 2020-02-07 09:41:33 · 368 阅读 · 0 评论 -
使用springcloud启动服务时报错 Reason: Unable to set value for property driver-class-name
目录问题展示问题剖析解决方案问题展示首先,此问题出现在springcloud某一个微服务启动时, 弹出的错误如下很明显可以看出springboot启动时加载不到我们给他配置的数据源,我第一个反应是yml文件配置写错了。下面是这个微服务的yml文件,我今天反复看了好多次也没发现问题server: port: 8081spring: appl...原创 2020-02-02 23:29:30 · 5854 阅读 · 0 评论 -
SpringCloud Sleuth分布式链路跟踪
为什么使用Sleuth微服务框架中,一个客户端发起的请求在后端系统中可能经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求的最后失败,这时一套监控和展示服务间的调用关系的可视化平台就尤为重要了什么是Sleuthsleuth是一套完整的服务跟踪解决方案,在分布式系统中提供追踪解决方案并支持zipkin,或者说依赖于zipkin...原创 2020-06-16 16:10:47 · 211 阅读 · 0 评论 -
SpringCloud Stream消息驱动
目录什么是消息驱动消息驱动的设计思想消息驱动的工作流程常用注解Stream流的分组消费与持久化什么是消息驱动屏蔽底层消息中间件的差异,降低中间件切换成本,统一消息的编程模型消息驱动的设计思想标准的MQ在生产者-消费者之间通过特定的消息媒介传递信息。但一个足够大的项目可能会用到多个消息中间件,Stream通过binder屏蔽底层差异解决了跨消息队列中间件传递消息的问题。消息驱动的工作流程Binder:很方便的连...原创 2020-06-16 14:59:48 · 193 阅读 · 0 评论 -
SpringCloud Bus消息总线
目录为什么要用Spring Cloud Bus什么是Spring Cloud Busbus动态刷新全局广播bus动态刷新定点通知为什么要用Spring Cloud Bus前面我们聊过了Spring Cloud Config,当我们在github上更新配置文件后,需要手动的刷新或者利用webhook机制每次提交代码发送请求来刷新客户端,客户端越来越多时,需要每个客户端都执行一遍,这就不太妙了。Bus和Config搭配起来,用来解决这一问题什么是Spri...原创 2020-06-15 17:33:49 · 242 阅读 · 0 评论 -
SpringCloud config分布式配置
目录什么是SpringCloud config分布式系统面临的配置文件问题SpringCloud config如何使用远程SpringCloud config配置新建远程配置文件server端连接远程configclient端连接远程config什么是SpringCloud config分布式系统面临的配置文件问题每个微服务都需要必要的配置信息才能运行,所以一套集中式的,动态的配置管理设施是必不可少的。SpringCloud提供了ConfigSe...原创 2020-05-21 20:00:04 · 172 阅读 · 0 评论 -
SpringCloud之Zuul组件
目录什么是Zuul启用Zuul网关什么是ZuulZuul最主要的两个功能是请求路由和过滤路由负责将外部请求转发到具体的微服务实例上,是实现外部访问统一的入口。过滤功能负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,每个对其他微服务的请求都是通过Zuul跳转后获得。启用Zuul网关导入依赖 ...原创 2020-05-21 15:02:39 · 160 阅读 · 0 评论 -
SpringCloud之Hystrix组件
分布式系统面临雪崩问题多个微服务之间调用的时候,假设微服务A调用微服务B和C,微服务B和微服务C又调用其他的微服务,这就是所谓的扇出、如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。什么是HystrixHystrix是一个用于处理分布式系统的延迟和容错开源库,在分布式系统中许多依赖不可避免的会调用失败,比如超时、异常等。Hystrix能够保证在一个依赖出问题时,不会...原创 2020-05-21 11:19:35 · 658 阅读 · 0 评论 -
SpringCloud之Feign组件
目录什么是FeignFeign的使用什么是FeignFeign也是一款负载均衡的组件。之前我们使用ribbon是通过微服务的名字调用,而在开发中大家都习惯面向接口编程,因此通过接口和注解调用的feign组件应用也非常广泛Feign的实现下,我们只需要创建一个接口并使用注解的方式来配置,类似于之前Dao接口上的Mapper注解,现在的微服务接口上标注一个Feign注解即可。这种方式简化了Ribbon的同时,自动封装了服务调用客户端的代码量注意,Feign是在Ribbo...原创 2020-05-20 11:46:29 · 287 阅读 · 0 评论 -
SpringCloud之Ribbon组件
目录Ribbon是什么负载均衡的简单分类Ribbon工作原理如何更改Ribbon默认算法Ribbon是什么Ribbon是一套客户端负载均衡工具其实现原理是在配置文件中列出LoadBalancer(负载均衡)的所有机器,Ribbon会自动帮你基于某种规则(简单轮询,随机连接)等去连接这些机器,我们也可以很容易的自定义Ribbon的负载均衡算法负载均衡的简单分类负载均衡通过将用户的请求平摊分配到多个服务上,达到系统的HA(高可用)...原创 2020-05-20 10:49:25 · 188 阅读 · 1 评论 -
如何搭建Eureka集群
目录配置本机域名映射新建3个eureka注册中心每个微服务注册三个eureka测试配置本机域名映射为了测试时访问方便,我们先借助SwitchHost工具映射三个本地域名新建3个eureka注册中心端口分别是7001,7002,7003。然后我们分别在三个配置文件中修改hostname域名修改完了,我们需要通过挂载defaultZone把三个服务的地址关联起来,配置文件变成这样,三个eureka的配置文件做相应修改即可。...原创 2020-05-19 20:33:37 · 1497 阅读 · 1 评论 -
SpringCloud之Eureka组件
什么是EurekaEureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现与故障转移。它提供的服务发现与注册功能,只需要使用服务的标识符就可以访问到服务,而不需要修改服务调用的配置文件,功能类似于Dubbo使用的ZookeeperEureka运行原理Eureka采用C-S架构,EurekaServer作为服务注册功能的服务器,即服务中心。各个微服务模块使用Eureka的客户端连接到EurekaServer并维持心跳连接。这样系统的维护人员就...原创 2020-05-19 19:46:22 · 253 阅读 · 0 评论 -
比较Dubbo(RPC)和Springcloud(Rest风格的HTTP)两种远程服务调用方式
目录回顾RPC和HTTP消费者RPC调用生产者消费者HTTP调用生产者回顾RPC和HTTPRPC自定义数据格式,基于网络七层中的传输层,速度快效率高,dubbo是其代表Http规定了数据传输的格式。基于网络七层中的应用层,浏览器与服务器较普遍采用,灵活性高但消息封装臃肿springcloud是其代表消费者RPC调用生产者消费者的service项目结构要和生产者service结构保持一致,生产者把产品放到注册中心中,消费者通过@...原创 2020-05-19 15:58:33 · 1712 阅读 · 2 评论 -
什么是SpringCloud
目录常见的远程服务调用方式SpringCloud的主要组件Springcloud配置思路Eureka组件的三个核心角色如何配置EurekaRibbonRibbon的使用HystrixHystrix服务降级和服务熔断FeignFeign的使用ZuulZuul的路由配置和过滤器常见的远程服务调用方式RPC自定义数据格式,基于网络...原创 2020-01-30 22:28:08 · 1526 阅读 · 2 评论