视频资源获取失败
你好,我是何小锋。上一讲我们学习了在 RPC 里面该如何提升单机资源的利用率,你要记住的关键点就一个,那就是“异步化”。调用方利用异步化机制实现并行调用多个服务,以缩短整个调用时间;而服务提供方则可以利用异步化把业务逻辑放到自定义线程池里面去执行,以提升单机的 OPS。
回顾完上一讲的重点,我们就切入今天的主题,一起来看看 RPC 里面的安全问题。
说起安全问题,你可能会想到像 SQL 注入、XSS 攻击等恶意攻击行为,还有就是相对更广义的安全,像网络安全、信息安全等,那在 RPC 里面我们说的安全一般指什么呢?
我们知道 RPC 是解决应用间互相通信的框架,而应用之间的远程调用过程一般不会暴露在公网,换句话讲就是说 RPC 一般用于解决内部应用之间的通信,而这个“内部”是指应用都部署在同一个大局域网内。相对于公网环境,局域网的隔离性更好,也就相对更安全,所以在 RPC 里面我们很少考虑像数据包篡改、请求伪造等恶意行为。
那在 RPC 里面我们应该关心什么样的安全问题呢?要搞清楚这个问题,我们可以先看一个完整的 RPC 应用流程。
我们一般是先由服务提供方定义好一个接口,并把这个接口的 Jar 包发布到私服上去,然后在项目中去实现这个接口,最后通过 RPC 提供的 API 把这个接口和其对应的实现类完成对外暴露,如果是 Spring 应用的话直接定义成一个 Bean 就好了。到这儿,服务提供方就完成了一个接口的对外发布了。

作者回复: 是的,认证和授权一般都是同时使用
作者回复: k8s可以看做rpc升级版本,后面我会讲到的
作者回复: 👍
作者回复: 是的
作者回复: 前提就是怎么识别调用方的身份,比如应用id
作者回复: 统一授权平台上获取
作者回复: 公网一般比较少,鉴权只要一次开销,压力还是可控的
作者回复: 这也是一种思路
作者回复: 每个节点都得鉴权一次
作者回复: 这有一个前提就是统一调用方身份的问题,规则里面是按照什么对象来识别身份