微服务的环境下,我的业务逻辑不再是在一个单一的进程里,而是分散了很多的进程里。订单、物流、库存、价格。每一个tomcat都是一个进程。
每一个进程,每一个tomcat都有自己的入口点。那么就导致我防范的攻击面比原来大的多 。那么风险也会高的多。


性能问题,原来的所有业务逻辑都在同一个进程里面。那么我需要的安全信息也都在这里面。比如请求进来以后,我想要验一下用户身份、权限。我都是在这个进程里面就可以完成的。

在微服务的架构下,我需要的关于安全信息很可能在我的这个进程里面是没有的,比如说要访问一个订单的服务的时候,那么用户的信息,权限的信息,在这个进程里面,这个tomcat里面是拿不到的,我可能需要一个远程的调用。调用我的安全中心、认证中心去获取相关的这些信息。那么每一个请求,不管是外部进来,还是服务之间的都要去做安全的校验 。那么在做校验的时候,这个远程的链接导致的延迟可能会导致服务产生性能问题。尤其是对性能极端敏感的服务。可能原来我的服务本身几毫秒就响应了。我现在我要做远程调用来验证安全,又增加了几毫秒。增加的几毫秒对于性能极端的服务来说,他的响应时间就增加了一倍。这种时候,这种性能问题也是微服务面临的挑战。


服务之间的安全,原来的时候只需要考虑外部进来的请求是不是安全的,进来以后,从订单调物流,从订单调库存,这都是在我原来tomcat里面的,不需要考虑任何的安全的问题。

但是在微服务的场景下,当我从订单去调用物流的时候,实际上我是需要跨网络。出我的进程,进入另一个进程。这个时候我就要保证这个通讯是安全的。这也是微服务 面临的挑战

跨多个微服务的请求,难以追踪。对于一个服务可观测性,是一个很重要的指标。可观测性包含了三个 log日志、
分布式里面每一个进程会自己记录自己单独的日志,日志是分散来记的。订单自己记日志,库存自己记日志。这时候我就需要一个机制,把所有的日志都串起来。
把日志聚合起来。最典型的就是流量,控制整个服务的留空,而不是单一的控制某一个服务。
一个请求进入每个服务所花的时间

容器化不可变是一个很重要的原则

多语言架构,每个微服务可以用自己适合的语言去创建。

结束

Spring cloud微服务安全实战-4-2微服务安全的新挑战的更多相关文章

  1. Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

    自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭 ...

  2. 新书上线:《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》,欢迎大家买回去垫椅子垫桌脚

    新书上线 大家好,笔者的新书<Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统>已上线,此书内容充实.材质优良,乃家中必备垫桌脚 ...

  3. Spring Cloud Gateway限流实战

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. Spring Cloud Gateway简单入门,强大的微服务网关

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 见名知义,Spring Cloud Gateway是用于微服务场景的网关组件,它是基于Spring WebFlu ...

  5. Spring Cloud Sleuth超详细实战

    为什么需要Spring Cloud Sleuth 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去 ...

  6. spring cloud 入门系列二:使用Eureka 进行服务治理

    服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Cloud Netflix 微服务套件的一部分 ...

  7. 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务

    在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Ap ...

  8. Spring Cloud Alibaba(一) 如何使用nacos服务注册和发现

    Nacos介绍 Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理. Nacos 帮助您更敏捷和容易地构 ...

  9. spring Cloud Feign作为HTTP客户端调用远程HTTP服务

    在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Ap ...

  10. Spring Cloud Alibaba学习笔记(2) - Nacos服务发现

    1.什么是Nacos Nacos的官网对这一问题进行了详细的介绍,通俗的来说: Nacos是一个服务发现组件,同时也是一个配置服务器,它解决了两个问题: 1.服务A如何发现服务B 2.管理微服务的配置 ...

随机推荐

  1. 容错(Fault-tolerance)

    Spark Streaming的容错包括了三个地方的容错: 1.Executor失败容错:Executor的失败会重新启动一个新的Executor,这个是Spark自身的特性.如果Receiver所在 ...

  2. python爬虫——爬取网页数据和解析数据

    1.网络爬虫的基本概念 网络爬虫(又称网络蜘蛛,机器人),就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序.只要浏览器能够做的事情,原则上,爬虫都能够做到. 2 ...

  3. Nutch2.1+solr3.6.1+mysql5.6问题

    1.Nutch2.1问题 1.1 问题:导入完成后,Nutch2.1里面runtime仍旧不能运行,出现jobfailed等错误. 解决:runtime里的nutch调试过程和导入Eclipse差不多 ...

  4. 【贪心】Moving Tables POJ 1083

    题目链接:http://poj.org/problem?id=1083 题目大意:走廊上的房间如下图设置,现在有n个移动桌子的任务,把桌子从xi移动到yi(整个过程中会占用xi到yi房间之间的走廊), ...

  5. 一般spring配置上下文

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  6. BZOJ 1073: [SCOI2007]kshort

    二次联通门 : BZOJ 1073: [SCOI2007]kshort /* BZOJ 1073: [SCOI2007]kshort A* k短路 但是会爆一个点, 是卡A*的 */ #include ...

  7. C++中unique函数的用法总结

    个人感觉,unique是STL中很实用的函数之一,需要#include,下面来简单介绍一下它的作用. unique的作用是"去掉"容器中相邻元素的重复元素,这里去掉要加一个引号,为 ...

  8. realloc()函数

    原型:extern void *realloc(void *mem_address, unsigned int newsize); 参数: mem_address: 要改变内存大小的指针名 newsi ...

  9. Linux 系统安装下安装 mysql5.7(glibc版)

    转自:https://www.cnblogs.com/mujingyu/p/7689116.html 前言:经过一天半的折腾,终于把 mysql 5.7.17 版本安装上了 centos 7 系统上, ...

  10. Codeforces Round #604 (Div. 1) - 1C - Beautiful Mirrors with queries

    题意 给出排成一列的 \(n\) 个格子,你要从 \(1\) 号格子走到 \(n\) 号格子之后(相当于 \(n+1\) 号格子),一旦你走到 \(i+1\) 号格子,游戏结束. 当你在 \(i\) ...