上一页 1 2 3 4 5 6 7 8 9 10 ··· 93 下一页
摘要: 启动eurekaServer和film这两个服务 假设我们就开始做模块测试 创建测试类 创建common包 创建RestUtils 使用restTemplate来访问films电影列表,url我们先写死,后面就是考虑要不要转成对象。 复制common里面utils包的引入 testng项目引入uti 阅读全文
posted @ 2020-05-13 21:05 高山-景行 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 测试报告准备好了这三个文件 首先是依赖包 版本号提取出来 因为我们这里用的是dependencyManagement,它并不会真的加载包,它只是做一个包管理,所以这里我们目标是只是让maven帮我们管理版本,这样在出现版本编程的时候,只需要改一个项目的配置,底下的我们就不需要管。 放到testng的 阅读全文
posted @ 2020-05-13 20:50 高山-景行 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 常见的注解 引入日志,在方法上加@Test方法,里面日志输出一段话 除了第一个,其他的都改成info输出日志。 再来执行 这写错了修正一下 再次运行测试 加一个test02的方法 再来测试 boforeMethod和afterMethod永远在方法之前和之后运行一遍。 boforeClass是在测试 阅读全文
posted @ 2020-05-13 20:21 高山-景行 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 构建演示环境 先复制groupId 创建模块 改模块的名称 都改成下划线的形式 这是改完后的 删除这三个文件,这是没有用的 复制日志的配置文件 配置文件修改为yml格式 日志的配置 父工程引入这个模块 修改父工程为show 清空默认的依赖 引入包,在父工程引入 把版本的依赖放上面去 再复制到show 阅读全文
posted @ 2020-05-13 20:10 高山-景行 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 一处编程,处处测试 结束 阅读全文
posted @ 2020-05-13 12:52 高山-景行 阅读(213) 评论(0) 推荐(0) 编辑
摘要: testEG开发式的自动化编程,和开发息息相关,同时给我们减轻了很多工作压力。 结束 阅读全文
posted @ 2020-05-13 12:47 高山-景行 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 我们要解决的是eurekaServer的安全问题, 这是准备的资料 首先是引入包,然后是配置安全信息 superuser代表的是超级管理员 配置 两项配置,一个是security的配置, 以后再注册eurekaServer的服务就不能再这么去注册了。 用户名+密码+@localhost。这样它在解析 阅读全文
posted @ 2020-05-13 12:44 高山-景行 阅读(406) 评论(0) 推荐(0) 编辑
摘要: eureka server上存了很多的敏感数据 结束 阅读全文
posted @ 2020-05-13 12:28 高山-景行 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 提前准备好的Filter 生产环境我们往往是这么配置。允许某个域名跨域访问, 而不是所有的域名都允许跨域 跨域的时候一定允许Options访问,因为它的跨域请求是首先来探测一下,options请求先来探测一下,访问一下能不能跨域访问,如果可以,真正的请求才会过来,如果你只允许get,代表前面的那一次 阅读全文
posted @ 2020-05-12 23:42 高山-景行 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 我们先来看前三步 首先启动这些服务 首先是登陆 查询影片 先把zuul的fallback注释掉 重启zuul网关,再测试 我们的authorization写的是不对的。但是请求还是查到了数据 jwtFilter没有注入Spring进去管理,所以没有用到。 未登陆一般是返回401 写上争取的jwt。B 阅读全文
posted @ 2020-05-12 23:22 高山-景行 阅读(177) 评论(0) 推荐(0) 编辑
摘要: jwt具体的实现,有点复杂,所以提前准备好了代码。 首先是渲染json对象, 代码复制到JwtFilters最下面。 jwt的工具类和jwt属性类。 JwtProperties里面有一些配置信息。 前置准备 验证token有效性 需要做两步,一是有没有token,二是token的有效。 请求的时候并 阅读全文
posted @ 2020-05-12 23:15 高山-景行 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 在user里面,我们已经做了token的颁发 生成token里面加了两个东西一个userId一个randomKey 这里还加了创建时间和过期时间 jwt的数据签名,假设用的是AES算法, 算法需要元数据+盐 把randomkey返给前端,前端要拿我要传数据的做一次加密,也就是我们常说的签名,把tok 阅读全文
posted @ 2020-05-12 22:59 高山-景行 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 身份认证才是jwt最核心的内容,用户信息放在jwt内,一般不会把整个的用户信息放在jwt里面,大部分放的都是一些非敏感的数据,例如用户名和密码是敏感的,那么我把userid给你,这是非敏感的数据, jwt加密,是需要盐的。有盐的加密更可靠更安全,这个时候盐就类似于我们的密码本。 到了服务端,拿到jw 阅读全文
posted @ 2020-05-12 22:40 高山-景行 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 最小的代码,最大化增加服务的安全。 结束 阅读全文
posted @ 2020-05-12 22:28 高山-景行 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 总结 RequestContext是线程安全的。 面试点 Hystrix整合 fallBack怎么处理。 头信息 结束 阅读全文
posted @ 2020-05-12 22:25 高山-景行 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 这几个模块做整合。cinema是作为作业留给大家的。 user模块 首先先把配置文件做整合。复制eureka的依赖 开启eureka的支持 配置 复制准备好的代码 还有一个Application Name 放到Spring的下面 这样user的微服务就整合完成了。 zuul整合 首先是prefilm 阅读全文
posted @ 2020-05-12 22:22 高山-景行 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 为了做演示,film这里改造一下 复制这里之前写的打印header的代码 改成用error打印 把上一节做的超时时间,改的长一点 重启film服务。Zuul不需要重启,因为它什么也没改。 我们film服务打印的内容 我们访问的时候加上Authorization Zuul收到了。但是film服务没有收 阅读全文
posted @ 2020-05-12 22:08 高山-景行 阅读(328) 评论(0) 推荐(0) 编辑
摘要: Hystrix的降级稍微有点麻烦,所以这里提前准备了类。 创建fallbackas的包 把准备好的类复制进来 可以针对某一类请求,进行统一降级。 可以写returen * 代表所有的路由 我们要自己组装一个ClientHttpResponse 设置返回体,设置header头。和我们自己组装了一个Ht 阅读全文
posted @ 2020-05-12 21:53 高山-景行 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 准备的资料 把配置,配置到我们的Zuul的模块Application.yml 再设置超时时间 故意设置10毫秒,就是为了给大家看超时时间。 重启zuul服务,通过网管访问filmapi也就是film服务, 报错,超时的错误, 这就表示,我们这次的命令发出是由HystrixCommand进行包裹的,因 阅读全文
posted @ 2020-05-11 22:54 高山-景行 阅读(622) 评论(0) 推荐(0) 编辑
摘要: Zuul是典型的servlet+filter的形式。好处是大家对这个模型很熟悉,第二阻塞式线程是对程序最容易控制的线程。对技术员的技术,技术的考验都会差一些,而我们更聚焦于网关的实现。所以zuul业务形态,是非常成熟的业务形态。就是因为它们把所有的内容都聚焦到网关实现上。 缺点:阻塞式线程占用资源非 阅读全文
posted @ 2020-05-11 22:48 高山-景行 阅读(862) 评论(0) 推荐(0) 编辑
摘要: 把关键字复制到IDEA搜索找到对应的类 可以看到它集成了ZuulFilter 它的类型是pre表示前置,他的filterOrder是-3就表示它的级别很高。 shouldFulter:默认启动。 run方法也是比较简单。就是帮我们设置了isDispatchServletRequest这样一个属性, 阅读全文
posted @ 2020-05-11 22:40 高山-景行 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 实现ZuulFilter 连有一些默认实现的方法 这是Filter的类型,比如这里我们类型为pre就是前置 越大执行顺序就会靠后 启用拦截,我们设置为true 具体的业务逻辑 获取当前的Context,它是线程安全的 我们可以把它理解为ThreadLocal 它可以获取Request和Respons 阅读全文
posted @ 2020-05-09 13:02 高山-景行 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 蓝色和粉色是它的后台实现,几乎可以忽略不计,这是它的底层实现。 所以对于我们来说重要的是这一部分 Zuul Servlet会截断我们所有的http请求。 第二步是ZuulFilter Runner。Zuul的核心其实是Filter,Zuul几乎没有任何可供你们实现的表现层、逻辑层、业务层等,几乎很少 阅读全文
posted @ 2020-05-09 12:47 高山-景行 阅读(481) 评论(0) 推荐(0) 编辑
摘要: *和**的区别就是,**可以支持多级目录。 例如后面加个问号,它只能匹配单个字符 因为问号只能匹配一个字符。 那么我们改成* 那么我们配置的时候为什么配置的是**呢?因为后面代表了多级目录。 *无法匹配多级目录。 在我们的接口里面有个filmId 我们现在配置的是*,取后面/filmId的就取不到 阅读全文
posted @ 2020-05-09 00:01 高山-景行 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 还可以用film-service去访问 http://localhost:8080/film-service/films zuul: routes: ## 路由规则 film-service: ## application.name -> 服务名称 path: /film-api/** ## 匹配规 阅读全文
posted @ 2020-05-08 23:52 高山-景行 阅读(441) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 93 下一页