系统设计
文章平均质量分 86
云栖路
http://www.ityouknow.com/share/2017/10/01/resource-sharing.html
http://www.3xmq.com/article/1520501861192
http://www.3xmq.com/ 架构中国 sxx573626822
展开
-
权限系统与RBAC模型概述[绝对经典]
0. 前言一年前,我负责的一个项目中需要权限管理。当时凭着自己的逻辑设计出了一套权限管理模型,基本原理与RBAC非常相似,只是过于简陋。当时google了一些权限管理的资料,从中了解到早就有了RBAC这个东西。可惜一直没狠下心来学习。更详细的RBAC模型非常复杂。本文只做了一些基础的理论性概述。本文资料完全来自互联网。 1. 权限系统与RBAC模型概述RBAC(Role-Based Access...转载 2018-02-09 11:16:01 · 697 阅读 · 0 评论 -
Spring Security源码解析
现在流行的通用授权框架有apache的shiro和Spring家族的Spring Security,在涉及今天的微服务鉴权时,需要利用我们的授权框架搭建自己的鉴权服务,今天总理了Spring Security,便于在微服务架构体系中拓展.对于shiro之前用过,单体应用使用起来还是很灵活轻便的.##############################################...原创 2018-03-20 16:52:09 · 1755 阅读 · 1 评论 -
Docker 入门教程
2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简单易懂的实例,教你如何将它用于日常开发。一、环境配置的难题软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来?用户必须保证两件事:操作系统的设置,各...转载 2018-03-19 16:10:16 · 154 阅读 · 0 评论 -
Docker 微服务教程
Docker 是一个容器工具,提供虚拟环境。很多人认为,它改变了我们对软件的认识。站在 Docker 的角度,软件就是容器的组合:业务逻辑容器、数据库容器、储存容器、队列容器......Docker 使得软件可以拆分成若干个标准化容器,然后像搭积木一样组合起来。这正是微服务(microservices)的思想:软件把任务外包出去,让各种外部服务完成这些任务,软件本身只是底层服务的调度中心和组装层。...转载 2018-03-19 16:09:13 · 1175 阅读 · 0 评论 -
Nginx 容器教程
春节前,我看到 Nginx 加入了 HTTP/2 的 server push 功能,就很想试一下。正好这些天,我在学习 Docker,就想到可以用 Nginx 容器。万一哪里改乱了,直接删掉,再重启一个容器就可以了。下面就是我搭建 Nginx 容器的过程,以及如何加入 SSL 证书。你会看到 Docker 用来测试软件的新功能,真的很方便,很值得学习。如果你还不会 Docker,可以先看《Dock...转载 2018-03-19 16:07:58 · 338 阅读 · 0 评论 -
理解OAuth 2.0
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。一、应用场景为了理解OAuth的适用场合,让我举一个假设的例子。有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲印"读取自己储存在G...转载 2018-03-19 16:06:37 · 122 阅读 · 0 评论 -
Hystrix 的原理与使用
前言分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况, 这种现象被称为服务雪崩效应. 为了应对服务雪崩, 一种常见的做法是手动服务降级. 而Hystrix的出现,给我们提供了另一种选择.服务雪崩效应的定义服务雪崩效应是一种因 服务提供者 的不可用导致 服务调用者 的不可用,并将不可用 逐渐放大 的过程.如果所示:上图中, A为服务提供者, B为A的服务调用者, C和D是B的服务调用...转载 2018-03-16 17:28:03 · 531 阅读 · 0 评论 -
微服务网关netflix-zuul
1. 网关介绍当使用单体应用程序架构时,客户端(web和移动端)通过向后端应用程序发起一次REST调用来获取数据。负载均衡器将请求路由给N个相同的应用程序实例中的一个。然后应用程序会查询各种数据库表,并将响应返回给客户端。微服务架构下,单体应用被切割成多个微服务,如果将所有的微服务直接对外暴露,势必会出现安全方面的各种问题。客户端可以直接向每个微服务发送请求,其问题主要如下:客户端需求和每个微服务...转载 2018-03-16 17:09:04 · 1094 阅读 · 0 评论 -
springcloud(二):注册中心Eureka
Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。背景介绍服务中心服务中心又称注册中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等,比如dubbo admin后台的各种功能。有了服务中心调用关系会有什么变化,画几个简图来帮忙理解...转载 2018-03-15 14:32:50 · 201 阅读 · 0 评论 -
springcloud(十):服务网关zuul初级篇
前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个微服务框架已经完成了。我们还是少考虑了一个问题,外部的应用如何来访问内部各种各样的微服务呢?在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当...转载 2018-03-15 14:01:18 · 215 阅读 · 0 评论 -
springcloud(十一):服务网关Zuul高级篇
时间过的很快,写springcloud(十):服务网关zuul初级篇还在半年前,现在已经是2018年了,我们继续探讨Zuul更高级的使用方式。上篇文章主要介绍了Zuul网关使用模式,以及自动转发机制,但其实Zuul还有更多的应用场景,比如:鉴权、流量转发、请求统计等等,这些功能都可以使用Zuul来实现。Zuul的核心Filter是Zuul的核心,用来实现对外服务的控制。Filter的生命周期有4个...转载 2018-03-15 14:00:16 · 513 阅读 · 0 评论 -
注解参数解析器,设置参数至请求上下文
很多情况下,需要通过外部方法获取业务特定的公共的实例信息,例如在集成用户信息时,无状态协议下从缓存中获取用户认证信息等等,这里介绍一种自定义注解方式获取用户认证信息,这样在集成用户信息时,只要在web请求上使用一个注解就能获取.示例如下:1:定义一个注解import java.lang.annotation.*;/** * 从token获取用户Java对象注解类. * ...原创 2018-02-01 18:39:39 · 798 阅读 · 0 评论