一、密码加密与微服务鉴权JWT

1、BCrypt密码加密

Spring Security 提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强 哈希方法来加密密码,每次的密码均不同

匹配方式:encoder.matches(password,admin.getPassword())

2、常见的认证机制

Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供 用户名密码即可

Cookie认证机制就是通过客户端带上来Cookie对象来与服务器端的 session对象匹配来实现状态管理的

OAuth(开放授权)允许用户提供一个令牌,不太适合拥有自有认证权限管理的企业应用

Token Auth:客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里,API可以采用标准化的 JSON Web Token (JWT).

3、基于JWT的Token认证机制实现

JSON Web Token(JWT)在C/S之间进行消息传递,由三部分组成,头部、载荷与签名

使用拦截器验证

二、Spring Cloud微服务

1、简介

Spring Boot专 注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架

Spring Cloud离不开 Spring Boot,属于依赖的关系。

Dubbo只是Spring Cloud Netflix中的一个子集

2、服务发现--注册中心Eureka

服务端注册中心、客户端服务注册

3、Feign实现服务之间的调用

添加@FeignClient("tensquare‐base")表示去哪个服务中调用方法

同时开启多个微服务,会自动实现负载均衡

4、交友微服务开发

好友表和非好友表

粉丝数与关注数的变更

三、SpringCloud之一统天下

1、熔断器Hystrix

基础服务的故障可能会导致级联故障,整个系统不可用,导致服务血崩效应

可以使用Hystrix来实现熔断器

系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务,防 止服务级联失败,同时提供失败回退机制,更优雅地应对失效,并使你的系统能更快地 从异常中恢复

2、微服务网关Zuul

请求不同微服务、跨域请求、

配置文件中配置

3、配置中心SpringCloudConfig

用于集中管理应用程序各个 环境下的配置,默认使用Git存储配置文件内容

微服务在启动时会请求Config Server获取配置文件的内容,请求到后再启动容器

配置中心的微服务配置文件application.yml

客户端删除原来配置文件

4、消息总线SpringCloudBus

想在不重启微服务的情况 下更新配置

修改配置中心服务端的配置文件

测试通过后,完成了配置的集中管理,每个配置文件单独做成配置文件上传到码云

四、微服务容器部署与持续集成

1、Dockerfile

2、Docker私有仓库

镜像上传

docker maven插件自动部署

3、持续集成

从检出代码、编译构建、运行测试、结果 记录、测试统计等都是自动完成的

4、Gogs

自助 Git 服务

5、Jenkins实现持续集成

安装maven插件、git插件

构建项目可以看到执行状态和实时日志输出

五、容器管理与容器监控

1、容器管理工具Rancher

添加主机执行指定脚本

可以管理主机的指定容器

可以添加应用和对应用部署

部署应用相当于docker run命令

注册微服务:Eureka注册中心、配置中心、基础微服务

扩容、缩容(添加接收器),在postman中复制触发地址

2、influxDB

查看采集的数据

3、cAdvisor

通过运行在Docker主机上的容器来监控Docker容器

安装后查看influxdb,许多数据已经被采集进去了

4、Grafana

可视化面板(Dashboard),支持Graphite、zabbix、InfluxDB、Prometheus和 OpenTSDB作为数据源。

添加数据源

添加仪表盘、设置预警通知

【十次方微服务后台开发】Day02:加密与JWT鉴权、微服务注册中心、配置中心、熔断器、网关、消息总线、部署与持续集成、容器管理与监控Rancher、influxDB、grafana的更多相关文章

  1. spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法

    spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法 前言 本篇接着<spring boot / cloud ...

  2. 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  3. spring cloud jwt用户鉴权及服务鉴权

    用户鉴权 客户端请求服务时,根据提交的token获取用户信息,看是否有用户信息及用户信息是否正确 服务鉴权 微服务中,一般有多个服务,服务与服务之间相互调用时,有的服务接口比较敏感,比如资金服务,不允 ...

  4. 容器镜像服务 联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  5. CoSky 高性能 服务注册/发现 & 配置中心

    CoSky 基于 Redis 的服务治理平台(服务注册/发现 & 配置中心) Consul + Sky = CoSky CoSky 是一个轻量级.低成本的服务注册.服务发现. 配置服务 SDK ...

  6. go-zero docker-compose 搭建课件服务(六):完善jwt鉴权和返回结构

    0.转载 go-zero docker-compose 搭建课件服务(六):完善jwt鉴权和返回结构 0.1源码地址 https://github.com/liuyuede123/go-zero-co ...

  7. SpringCloud-Alibaba-Nacos 服务注册中心&配置中心

    Spring Cloud Alibaba 由于 Spring Cloud Netflix 项目进入维护模式(将模块置于维护模式意味着 Spring Cloud 团队将不会再向模块中添加新功能,只会修复 ...

  8. jmeter-性能监控(InfluxDB+Grafana)

    测试结果实时监控:jmeter+influxdb+grafana InfluxDB:存储实时数据的DB Grafana:DB中存储的实时数据可以在浏览器查看 --------------------- ...

  9. kubernetes监控-Heapster+InfluxDB+Grafana(十五)

    cAdvisor+InfluxDB+Grafana cAdvisor:是谷歌开源的一个容器监控工具,采集主机上容器相关的性能指标数据.比如CPU.内存.网络.文件系统等. Heapster是谷歌开源的 ...

  10. 购物平台webApp+服务后台开发

    服务器后台参考:Cloud BaaS 主站地址:http://cloudbaas.sinaapp.com/ 演示地址:http://jeebaas.sinaapp.com/ Mobile UI 框架: ...

随机推荐

  1. k8s控制器和Pod Template的关系

    Pod 本身并不能自愈(self-healing).如果一个 Pod 所在的 Node (节点)出现故障,或者调度程序自身出现故障,Pod 将被删除:同理,当因为节点资源不够或节点维护而驱逐 Pod ...

  2. GitLab 之 PlantUML 的配置及使用

    转载自:https://cloud.tencent.com/developer/article/1010617 1.PlantUML介绍 UML 统一建模语言是一个通用的可视化建模语言,用于对软件进行 ...

  3. 组件化开发1-git命令简洁版

    1-给项目添加git git init 2-查询当前状态,(红色显示的为在工作区,绿色为暂缓区) git status 3-提交到暂缓区 git add . 4-提交到本地仓库('xxxx'里面为注释 ...

  4. overflow 隐藏滚动条样式

    在使用overflow,属性值为auto或者scroll时,很多时候会有多余的滚动条在旁边,这时就非常影响观瞻,所以我们有时需要将滚动条隐藏掉. 今天就说两种我用到的隐藏滚动条的方法,如果有其他解决方 ...

  5. [笔记] 一种快速求 1 ~ n 逆元的方法

    我们现在要求1~n在mod m意义下的逆元(n<m,m为素数). 对于一个[1,n]中的数i,我们令\(k=\lfloor\frac{m}{i}\rfloor,r=m \ mod \ i\) 然 ...

  6. 数据结构与算法【Java】08---树结构的实际应用

    前言 数据 data 结构(structure)是一门 研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码. 要学习好数据结构就要多多考虑如何将生 ...

  7. PHP全栈开发(八):CSS Ⅴ 超链接 style

    CSS里面有专门针对超链接的选择器,也就是他们: a:link - 正常,未访问过的链接 a:visited - 用户已访问过的链接 a:hover - 当用户鼠标放在链接上时 a:active - ...

  8. [CG从零开始] 6. 加载一个柴犬模型学习UV贴图

    在第 5 篇文章中,我们成功加载了 fbx 模型,并且做了 MVP 变换,将立方体按照透视投影渲染了出来.但是当时只是随机给顶点颜色,并且默认 fbx 文件里只有一个 mesh,这次我们来加载一个柴犬 ...

  9. 220722 T4 求和 /P4587 [FJOI2016]神秘数 (主席树)

    好久没打主席树了,都忘了怎么用了...... 假设我们选了一些数能构成[0,x]范围内的所有值,下一个要加的数是k(k<=x+1),那么可以取到[0,x+k]内的所有取值,所以有一种做法: 对于 ...

  10. 手把手教你玩转 Gitea|在 Windows 系统上安装 Gitea

    Gitea 支持在 Windows 系统上安装和使用.Gitea 本身作为一个单体应用程序,即点即用,如需长期驻留作为后台服务并开机运行就要依靠 Windows 服务工具 sc.exe. 通过本文,你 ...