Fork me on GitHub

随笔分类 -  Spring Cloud

摘要:微服务体系中,避免不了服务之间链式调用,一般使用 Feign ,由于使用 Spring Security OAuth2 全局做了安全认证,简单的一种实现方式就是在服务提供方获得 Token 再次通过 HTTP 协议传递调用相应的服务。 @Configuration public class FeignConfig implements RequestInterceptor { @Overr... 阅读全文
posted @ 2019-03-11 17:32 花儿笑弯了腰 阅读(6330) 评论(2) 推荐(0) 编辑
摘要:原文:http://www.beyondlinux.com/2011/06/02/%E9%80%9A%E4%BF%A1%E5%8D%8F%E8%AE%AE%E4%B8%8E%E5%BA%8F%E5%88%97%E5%8C%96%E6%96%B9%E6%A1%88%E7%9A%84%E7%BA%A0% 阅读全文
posted @ 2018-11-07 20:09 花儿笑弯了腰 阅读(1236) 评论(0) 推荐(0) 编辑
摘要:CORS 是一个 W3C 标准,全称是”跨域资源共享”(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了 AJAX 只能同源使用的限制(跨域资源共享 CORS 详解)。 解决 CORS 跨域方法大致有如下几类: 阅读全文
posted @ 2018-09-27 12:32 花儿笑弯了腰 阅读(20119) 评论(2) 推荐(3) 编辑
摘要:账户密码存储的安全性是一个很老的话题,但还是会频频发生,一般的做法是 SHA256(userInputpwd+globalsalt+usersalt) 并设置密码时时要求长度与大小写组合,一般这样设计可以满足绝大部分的安全性需求。更复杂一些的方案有组合算法签名(比如:SHA256 + BCRYPT 组合 ) , 两步认证,Password Hash 等。 在之前集成 spring-securi... 阅读全文
posted @ 2018-09-03 16:02 花儿笑弯了腰 阅读(5943) 评论(0) 推荐(1) 编辑
摘要:Zipkin 是一个开放源代码分布式的跟踪系统,由 Twitter 公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。它的理论模型来自于 Google Dapper 论文。 每个微服务向 Zipkin 报告计时数据,Zipkin 会根据调用关系通过 Zipkin UI 生成依赖关系图,显示了多少跟踪请求通过每个服务,该系统让开发者可通过一个 We... 阅读全文
posted @ 2018-08-13 10:54 花儿笑弯了腰 阅读(484) 评论(0) 推荐(0) 编辑
摘要:关于 Jwt Token 的签名与安全性前面已经做了几篇介绍,在 IdentityServer4 中定义了 Jwt Token 与 Reference Token 两种验证方式(https://www.cnblogs.com/Irving/p/9357539.html),理论上 Spring Sec 阅读全文
posted @ 2018-08-06 15:27 花儿笑弯了腰 阅读(31487) 评论(0) 推荐(1) 编辑
摘要:在使用 Spring Cloud 体系来构建微服务的过程中,用户请求是通过网关(ZUUL 或 Spring APIGateway)以 HTTP 协议来传输信息,API 网关将自己注册为 Eureka 服务治理下的应用,同时也从 Eureka 服务中获取所有其他微服务的实例信息。搭建 OAuth2 认 阅读全文
posted @ 2018-07-20 20:12 花儿笑弯了腰 阅读(43893) 评论(4) 推荐(8) 编辑
摘要:API 网关的出现的原因是微服务架构的出现,不同的微服务一般会有不同的服务地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题: 客户端会多次请求不同的微服务,增加了客户端的复杂性。 存在跨域请求,在一定场景下处理相对复杂。 认证复杂,每个服务都需要独立认证。 难以重构,随着项目的迭代,可能需要重新划分微服务。例如,可能将多个... 阅读全文
posted @ 2018-07-13 16:58 花儿笑弯了腰 阅读(36205) 评论(2) 推荐(1) 编辑
摘要:软件是有生命的,你做出来的架构决定了这个软件它这一生是坎坷还是幸福。 本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义。 1 背景 2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档 阅读全文
posted @ 2018-07-11 17:19 花儿笑弯了腰 阅读(467) 评论(0) 推荐(1) 编辑
摘要:服务提供者向 Eureka 注册中心注册,默认以 hostname 的形式显示,Eureka 服务页面显示的服务是机器名:端口,并不是IP+端口的形式 ,可以通过修改服务提供者配置自己的 IP 地址,并显示在 Eureka 的注册列表中。 默认eureka.instance.instance-id 阅读全文
posted @ 2018-07-02 20:24 花儿笑弯了腰 阅读(1512) 评论(0) 推荐(0) 编辑
摘要:微服务 是一种架构模式,跟具体的语言实现无关,微服务架构将业务逻辑分散到了各个服务当中,服务间通过网络层进行通信共同协作;这样一个应用就可以划分为多个服务单独来维护发布。构建一个可靠微服务系统是需要具体看场景去衡量的,网络通信必然会带来过多的网络延迟,设计的时候就要尽量减少服务与服务间的通信,采用什么通信协议等。和单应用架构不同,微服务架构是由一系列职责单一的细粒度服务构成的分布式网状结构,服务之... 阅读全文
posted @ 2017-09-26 21:00 花儿笑弯了腰 阅读(1457) 评论(0) 推荐(1) 编辑