摘要: 1. JMS的API结构 其实上图中的五个API在第一节中我们都已经使用到了。本节将会讲非持久化和持久化topic的使用。 2. JMS的基本开发步骤 1. 创建一个JMS工厂, ConnectionFactory 2. 通过Connection Factory来创建JMS的Connection 3 阅读全文
posted @ 2019-05-10 16:37 xiaoshen666 阅读(154) 评论(0) 推荐(0) 编辑
摘要: springboot的打包方式有很多种。有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的。这里主要介绍如何打成jar进行部署。不推荐用war,因为springboot适合前后端分离,打成jar进行部署更合适。首先需要在application.properti 阅读全文
posted @ 2019-05-10 15:19 xiaoshen666 阅读(1346) 评论(0) 推荐(0) 编辑
摘要: 1. 消息接收确认 JMS消息只有在被确认之后,才认为已经被成功的消费了,消息成功消费通常包含三个阶段:客户接收消息,客户处理消息和消息被确认。 在事务性会话中,当一个事务被提交的时候,确认自动发生。在非事务性会话中,消息何时被确认取决于创建会话时的应答模式(acknowledge mode)。该参 阅读全文
posted @ 2019-05-10 14:47 xiaoshen666 阅读(197) 评论(0) 推荐(1) 编辑
摘要: 1. JMS 的基本概念 1. JMS是什么? JMS Java Message Service,Java消息服务,是Java EE中的一种技术。 2. JMS规范 JMS定义了Java中访问消息中间件的接口,并没有给予实现,实现JMS接口的消息中间件称为JMS Provider,例如ActiveQ 阅读全文
posted @ 2019-05-10 14:46 xiaoshen666 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是ActiveMQ? ActiveMQ是Apache推出的,一款开源的,完全支持JMS1.1和j2ee1.4规范的JMS Provider实现的消息中间件(Message Oriented Middleware, MOM). 2. ActiveMQ能干什么? 最主要的功能就是:实现JMS 阅读全文
posted @ 2019-05-10 14:43 xiaoshen666 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1. 禁用过滤器 # zuul.<SimpleClassName>.<filterType>.disable=true # 例如禁用 自定义的过滤器 zuul.MyFilter.pre.disable=true 2. 路由的映射 方法1: zuul.routes.spring-cloud-provi 阅读全文
posted @ 2019-05-10 14:32 xiaoshen666 阅读(316) 评论(0) 推荐(0) 编辑
摘要: zuul不仅只是路由,还可以自定义过滤器来实现服务验证。 实现案例:自定义过滤器,检验头部是否带有token,如果token=wangx,则通过校验,若不存在或不为wangx则返回提示token错误。 扩展:一般情况下,可以采用JWT规范来做token的校验。 JWT:https://jwt.io/ 阅读全文
posted @ 2019-05-10 14:31 xiaoshen666 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1. Zuul的工作机制 Zuul提供了一个框架,可以对过滤器进行动态的加载,编译,运行。过滤器之间没有直接的相互通信,他们是通过一个RequestContext的静态类来进行数据传递的。RequetstContext类中的ThreadLocal变量来记录每个request所需要传递的数据。 它包含 阅读全文
posted @ 2019-05-10 14:29 xiaoshen666 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 1. 什么时候Zuul? Zuul是一个基于jvm路由和服务端的负载均衡器,在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。 路由功能:相当于nginx的反向代理 比如: / 可能需要映射到你的web应用,/api/users/映射到用户服务 ,/api/shop映射到商城服务。 2. 使 阅读全文
posted @ 2019-05-10 14:28 xiaoshen666 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 前言: 上一节中,我们使用Hystrix Dashboard,只能看到单个应用内的服务信息。在生产环境中,我们经常是集群状态,所以我们需要用到Turbine这一应用。 作用:汇总系统内的多个服务的数据并显示到Hystrix Dashboard上。 1. 新建Turbine项目 添加依赖,pom文件 阅读全文
posted @ 2019-05-10 14:27 xiaoshen666 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 1. 引入依赖 在前面几节中的消费者中添加pom依赖。 2. 在启动类上添加注解 添加@EnableHystrixDashboard 开启Dashboard。 3. 注册HystrixMetricsStreamServlet 在2.x之前的版本中,会自动注入该Servlet的,但是在2.x之后的版本 阅读全文
posted @ 2019-05-10 14:26 xiaoshen666 阅读(1766) 评论(0) 推荐(0) 编辑
摘要: 1. Hystrix对Feign的支持 添加Feign中IUserBiz的实现类HystrixFallBack: package com.wangx.cloud.springcloud02consumer.configure; import com.wangx.cloud.springcloud02 阅读全文
posted @ 2019-05-10 14:22 xiaoshen666 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 说明 : 1、Hystrix通过舱壁模式来隔离限制依赖的并发量和阻塞扩散 2、 Hystrix提供了两种隔离策略:线程池(THREAD)和信号量隔离SEMAPHORE)。 1. 线程池隔离(默认策略模式) 线程池隔离把执行依赖代码的线程与请求线程(如tomcat线程)分离,请求线程可以自由控制离开时 阅读全文
posted @ 2019-05-10 14:21 xiaoshen666 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 为什么会有断路器? 在微服务架构中,系 是拆分成 一个的服务单元各间通过注册与发现 的方式互相依 赖。每个单元都在不同的进程中运行, 都是通过远程调用的方式进行信 ,这样就有可能因为网络原或 是依赖服务自身问题出现调用延迟或者故障 而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不 阅读全文
posted @ 2019-05-10 14:20 xiaoshen666 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 工作流程(参考:https://github.com/Netflix/Hystrix/wiki/How-it-Works) 1、 创建一个HystrixCommand或HystrixObservableCommand实例 第一步就是构建一个HystrixCommand或HystrixObservab 阅读全文
posted @ 2019-05-10 14:20 xiaoshen666 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 1. Feign的默认配置 Feign 的默认配置 Spring Cloud Netflix 提供的默认实现类:FeignClientsConfiguration 解码器:Decoder feignDecoder: ResponseEntityDecoder (which wraps a Sprin 阅读全文
posted @ 2019-05-10 14:19 xiaoshen666 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是Feign? Feign是一种声明式、模板化的HTTP客户端,在SpringCloud中使用Feign。可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到是一个远程方法,更感知不到这是一个HTTP请求 Feign的灵感来自于Retrofit,JAXRS- 阅读全文
posted @ 2019-05-10 14:18 xiaoshen666 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 一、 内置 负载均衡策略的介绍的 IRule的实现类 2. 通过代码实现负载均衡 在第六节Riddom的使用的工程中,随机策略配置类 package com.wangx.cloud.springcloud02consumer.configure; import com.netflix.loadbal 阅读全文
posted @ 2019-05-10 14:17 xiaoshen666 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 1. 注解@LoadBalanced 作用:识别应用名称,并进行负载均衡。 2. 入口类:LoadBalancerAutoConfiguration 说明:类头上的注解可以知道Ribbon 实现的负载均衡自动化配置需要满足两个条件 1、 RestTemplate 类必须存在于当前工程的环境中 2、 阅读全文
posted @ 2019-05-10 14:16 xiaoshen666 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 1. Eureka服务认证 1. 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <scope>test</scop 阅读全文
posted @ 2019-05-10 14:14 xiaoshen666 阅读(196) 评论(0) 推荐(0) 编辑