Spring cloud微服务安全实战-4-2微服务安全的新挑战


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

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

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

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

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

跨多个微服务的请求,难以追踪。对于一个服务可观测性,是一个很重要的指标。可观测性包含了三个 log日志、
分布式里面每一个进程会自己记录自己单独的日志,日志是分散来记的。订单自己记日志,库存自己记日志。这时候我就需要一个机制,把所有的日志都串起来。
把日志聚合起来。最典型的就是流量,控制整个服务的留空,而不是单一的控制某一个服务。
一个请求进入每个服务所花的时间
容器化不可变是一个很重要的原则
多语言架构,每个微服务可以用自己适合的语言去创建。
结束
Spring cloud微服务安全实战-4-2微服务安全的新挑战的更多相关文章
- Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭 ...
- 新书上线:《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》,欢迎大家买回去垫椅子垫桌脚
新书上线 大家好,笔者的新书<Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统>已上线,此书内容充实.材质优良,乃家中必备垫桌脚 ...
- Spring Cloud Gateway限流实战
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Spring Cloud Gateway简单入门,强大的微服务网关
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 见名知义,Spring Cloud Gateway是用于微服务场景的网关组件,它是基于Spring WebFlu ...
- Spring Cloud Sleuth超详细实战
为什么需要Spring Cloud Sleuth 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去 ...
- spring cloud 入门系列二:使用Eureka 进行服务治理
服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Cloud Netflix 微服务套件的一部分 ...
- 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务
在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Ap ...
- Spring Cloud Alibaba(一) 如何使用nacos服务注册和发现
Nacos介绍 Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理. Nacos 帮助您更敏捷和容易地构 ...
- spring Cloud Feign作为HTTP客户端调用远程HTTP服务
在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Ap ...
- Spring Cloud Alibaba学习笔记(2) - Nacos服务发现
1.什么是Nacos Nacos的官网对这一问题进行了详细的介绍,通俗的来说: Nacos是一个服务发现组件,同时也是一个配置服务器,它解决了两个问题: 1.服务A如何发现服务B 2.管理微服务的配置 ...
随机推荐
- “挂起”bug处理执行方案
目的:避免bug状态改为挂起后,就无人问津,导致一直未得到解决.因而影响用户的使用与产品质量较差.
- 十四.Protobuf3扩展
在您发布使用Protocol Buffer区的代码后,您迟早会因为业务需求变更想要“改进”Protocol Buffer的定义.如果你想让你的新Protocol Buffer向后兼容,让你的旧Prot ...
- css 为什么给span加vertical-align: middle不起作用?
vertical-align是什么意思?先举个例子! 这句html元素中的文本为什么不能垂直居中. <style> span{ height:60px;vertical-align: mi ...
- goto语句——慎用,但是可以用
最近使用了goto语句,是因为if嵌套太深了,因此把错误处理同意了,直接使用goto语句. 举例: #include <stdio.h> int main () { /* local va ...
- Mysql 的使用方法
一 .Mysql 优势: 1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务. 2.数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致 ...
- grpc提供http服务
package main import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials&qu ...
- stos指令
mov ecx,30mov eax,0cccccccchrep stos dword prt es:[edi]stos指令,它的功能是将eax中的数据放入的edi所指的地址中,同时,edi会增加4个字 ...
- 洛谷P2324 [SCOI2005] 骑士精神
题目 方法很多,最经典的是用搜索的算法,也就是\(IDA*\)算法搜索. \(IDA*\)算法是每次规定一个搜索深度,并在搜索的时候限制该搜索深度,从而达到把深搜的优点和广搜的优点结合起来优化时间的一 ...
- OpenStack RPC框架解析
1 消息队列Rabbitmq介绍 Rabbitmq的整体架构图 (1)Rabbitmq Server:中间那部分就是Rabbitmq Server,也叫broken server,主要是负责消息的传 ...
- [java][JEECG] Maven settings.xml JEECG项目初始化 RouYi settings.xml配置
好吧一下是经验之谈,原本这些坑不应该躺的,从头看手册完全可以避免这些. 懒得整理了,看懂了就看,看不懂自己琢磨JEECG的帮助文档去,不过嘛我喜欢用Intelij IDEA,他里面都是别的IDE,不喜 ...