一、API基础知识
API(应用程序编程接口)是一组定义了软件组件之间交互的规则和协议。它允许不同的软件系统之间进行通信和交互,使得开发者可以利用现有的软件组件来构建新的应用程序。
1、涉及方面
概念理解:了解什么是API、API的作用和优势,以及API与其他相关概念(如SDK、Web服务等)的区别与联系。
API类型:了解不同类型的API,包括Web API、库API、操作系统API等。了解它们的特点、用途和使用方式。
API协议:熟悉常用的API协议,如HTTP、REST、SOAP等。了解这些协议的工作原理、请求与响应格式、常用的HTTP方法(GET、POST、PUT、DELETE等)等。
API设计:了解API设计的原则和最佳实践,包括良好的命名规范、易于理解和使用的接口设计、版本管理等。
身份认证和授权:了解API身份认证和授权的方式,如基于令牌的身份验证、OAuth等。
错误处理:了解API错误处理的机制和标准,包括错误码、错误消息的格式等。
API文档和测试:熟悉编写和使用API文档,了解如何进行API测试和调试。
安全性:了解API安全性的考虑因素,包括数据加密、访问控制、防止恶意请求等。
API管理和监控:了解API管理平台和API监控工具的使用,包括API注册、订阅、限流、性能监控等。
最佳实践:了解API开发中的最佳实践,如版本管理、性能优化、缓存策略等。
数据格式;
2、API按使用范围分类
内部API
企业定制API
外部API
3、API设计思想/风格
远程过程调用 RPC
表征状态转移 REST
级别0:定义一个 URI,所有操作是对此 URI 发出的 POST 请求
级别1:为各个资源单独创建 URI
级别2:使用 HTTP 方法来定义对资源执行的操作
级别3:使用超媒体(HATEOAS)
GraphQL
描述了如何精确的数据请求
各风格区别
RPC面向过程
Rest面向资源
GraphQL面向查询
每种风格都有优缺点,需要根据需求来选择
4、API标准化协议/具体实现
RPC
XML-RPC
JSON-RPC
二进制数据格式-RPC
gRPC
Protocol Buffer
Thrift
TbinaryProtocol
SOAP
REST
Restful
oData
5、API Gateway
负责将服务以API的形式暴露(给系统外部),以实现业务功能
部署在系统的边缘:一方面暴露在系统之外,对外提供API供外部系统访问;一方面部署在系统内部,以访问内部的各种服务。
API Gateway(API 网关)是一种中间层服务器,用于管理和提供对后端服务的访问。它充当了前端客户端和后端服务之间的代理,为客户端应用程序提供了一个统一的入口点,并处理了与多个后端服务进行通信的细节。
特点如下:
统一入口:API Gateway 提供了一个统一的入口点,客户端只需与 API Gateway 进行通信,无需直接访问后端服务。这样可简化客户端代码,减少耦合性。
路由和转发:API Gateway 可根据请求的路径、参数或标识符将请求路由到相应的后端服务。它可以根据不同的业务需求进行灵活的路由配置,从而实现请求的转发和分发。
协议转换:API Gateway 可以支持多种协议,例如 HTTP、WebSocket、MQTT 等,并在前后端之间进行协议转换,使得客户端和后端服务可以使用不同的协议进行通信。
安全认证和授权:API Gateway 提供了安全认证和授权机制,可以验证客户端的身份并授予相应的权限。它可以集成各种身份验证方式,如基于令牌的身份验证、OAuth、JWT 等,以确保只有授权的客户端可以访问后端服务。
请求转换和数据格式化:API Gateway 可以对请求进行处理,包括请求的改写、参数的过滤和转换、请求的合并等。它还可以对响应进行处理,将后端服务返回的数据进行格式化、裁剪或聚合,以满足客户端的需求。
缓存和性能优化:API Gateway 可以缓存常用的请求和响应,减少对后端服务的访问。它还可以实现一些性能优化技术,如请求的合并、压缩、负载均衡等,提高系统的性能和吞吐量。
监控和分析:API Gateway 提供了监控和分析功能,可以收集和统计请求和响应的数据,如请求频率、响应时间、错误率等。这些数据可以帮助开发者监控系统健康状况,进行故障排查和性能调优。
6、应用程序调用API 的方式
直接调用API
通过SDK间接调用
RESTful API这是一种基于HTTP协议的API调用方式,通常使用HTTP协议的POST、GET、DELETE、PUT等方法进行调用。使用RESTful API的优点是简单易懂、易于扩展和利于缓存。常见的RESTful API有Twitter API、Facebook API等。
RPC(Remote Procedure Call)是一种远程调用服务的协议,它有许多不同的实现方式,例如XML-RPC、JSON-RPC、gRPC等。RPC API提供了一种更加灵活、面向过程的方式来访问服务。
SOAP(Simple Object Access Protocol)是基于XML的Web服务协议,它提供了一种分布式的、基于封装的方法调用方式。使用SOAP API的优点是可扩展性强,使用起来简单。
GraphQL API是一种建立在RESTful API或RPC API之上的API调用方式,它使用了一种声明性的查询语言。GraphQL API具有很好的可控性和高效性,可以对查询的结果进行精确的控制,从而提高了性能和效率。
接口请求的六种常见方式:
1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体)
2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改
3、Put 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容)
4、Head 与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容,用于获取报头)
5、Delete 请求服务器删除request-URL所标示的资源(请求服务器删除页面)
6、opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送测试服务器功能(允许客户端查看服务器性能)
7、API 相关软件生态
API 相关软件生态是指与API开发、管理和使用相关的软件工具、框架和平台的集合。这些软件生态系统提供了丰富的资源和工具,帮助开发者更高效地构建、发布和管理API。
自动化
Swagger
常见的API相关软件生态组件:
API开发框架:包括各种编程语言和平台上的API开发框架,如Express.js、Django REST framework、Spring Boot等。这些框架提供了API开发所需的基础设施和工具。
API网关和管理平台:提供API网关和管理功能的软件平台,如Kong、Apigee、Amazon API Gateway等。它们可以帮助开发者对API进行路由、认证、授权、限流等管理操作,并提供API文档、监控和分析功能。
API文档工具:用于生成和管理API文档的工具,如Swagger、OpenAPI、Postman等。这些工具允许开发者通过注释或配置文件描述API接口,自动生成可交互的API文档。
API测试工具:用于对API进行测试和调试的工具,如Postman、SoapUI、JMeter等。它们可以发送请求到API端点,验证响应的正确性和性能。
API模拟工具:用于模拟后端服务或第三方API的工具,如WireMock、JSON Server等。这些工具可以帮助开发者在开发和测试阶段独立地进行API开发和集成。
API监控和分析工具:用于监控和分析API性能和使用情况的工具,如New Relic、Datadog、ELK Stack等。它们可以收集和分析API请求和响应的数据,提供实时的性能指标和错误报告。
API安全工具:用于保护API安全的工具,如OAuth、JWT、API密钥管理工具等。它们提供了身份验证、授权、加密和令牌管理等功能,确保API的安全性和合规性。
API市场和门户:提供公开和私有API发布和消费的平台,如RapidAPI、IBM API Connect等。它们为开发者提供了发现、购买和使用API的渠道。
8、参考资料
思维导图:https://dsopas.github.io/MindAPI/play/
https://www.servicemesher.com/blog/service-mesh-and-api-gateway/
https://www.infoq.cn/article/ov7prhrtinw6jjhelmh6
https://zhuanlan.zhihu.com/p/56955812
二、API 安全
1、API 接口安全级别
A2类接口
涉及资金交易与个人信息、账户信息的查询、删除、变更的相关的接口,这类接口应实施高等级的安全保护;
A1类接口
涉及相关产品介绍和服务信息查询类接口,这类接口不涉及资金交易和个人信息、账户信息,可采取通用等级的安全保护
2、接口安全设计
认证和鉴权
加密和签名
常规漏洞防护
数据合法性校验
限流
3、API 攻击面
传统Web安全问题
基础通信协议
Rest Api基于HTTP协议,缺少TLS
其他协议标准
gRPC
Dubbo
GraphQL
权限/访问控制相关
Broken Object Level Authorization
Broken User Authentication
Broken Function Level Authorization
敏感数据泄露
Excessive Data Exposure
Improper Assets Management
资源滥用
Lack of Resources & Rate Limiting
拒接服务
配置错误
Security Misconfiguration
注入
参数篡改
中间人攻击 MITM
监控
Insufficient Logging & Monitoring
4、加强安全性的方法
令牌
加密和签名
扫描漏洞
配额和限流
API网关
敏感信息哈希
5、身份认证
Api KEY
HTTP Basic
Oauth
Token
JWT
6、授权
垂直
水平
7、安全规范
OpenApi规范
8、API 安全相关产品/工具
API 管理
API 认证管理
Web应用防火墙
流量监控
DDos防御
9、现有厂商对于API 安全的防护方式
AWS
谷歌
阿里云
腾讯云
常见的API安全防护方式:
身份认证和授权:API厂商提供了各种身份认证和授权机制,如基于令牌的身份验证(Token-based Authentication)、OAuth、JWT等。这些机制可以验证客户端的身份,并授予合适的权限来访问API。
API密钥管理:API厂商通常要求开发者使用API密钥进行请求的身份验证。API密钥充当了开发者与API之间的凭证,可用于跟踪和管理请求的来源和配额限制。
防止恶意攻击:API厂商会采取一系列措施来防止恶意攻击,例如实施DoS/DDoS防护、IP封禁、请求限流等。这些措施旨在确保API的可用性和稳定性。
数据加密:API厂商通过使用SSL/TLS协议对API请求和响应的数据进行加密,确保数据在传输过程中的安全性。
输入验证和过滤:API厂商会对接收到的请求参数进行严格的输入验证和过滤,避免常见的安全漏洞,如SQL注入、跨站点脚本攻击(XSS)等。
访问控制和权限管理:API厂商提供了细粒度的访问控制和权限管理机制,确保只有授权的用户或应用程序可以访问特定的API端点和功能。
日志记录和审计:API厂商会记录和审计API的请求和响应,并保存相关的日志信息。这些日志信息对于问题排查、安全审计和合规要求都非常重要。
漏洞扫描和安全评估:API厂商会进行定期的漏洞扫描和安全评估,以发现和修复潜在的安全漏洞和风险。
安全培训和文档:API厂商提供相应的安全培训和文档,帮助开发者了解和遵循最佳的安全实践,确保他们正确地使用和集成API。
10、API 安全防护产品
Web应用程序防火墙(WAF):WAF可以监视和过滤API的流量,识别和阻止恶意请求、攻击和异常行为,如SQL注入、XSS、DDoS等。
API网关:API网关提供了对API流量的集中管理和控制,包括身份认证、访问控制、数据转换和协议转换等功能,可以增加对API的安全性和可用性的保护。
API安全网关:API安全网关结合了API网关和安全防护功能,可以提供更细粒度的API访问控制、身份认证和鉴权、敏感数据保护等功能。
数据加密和令牌化:使用数据加密和令牌化技术,可以保护API的请求和响应数据的机密性,防止数据泄露和窃取。
恶意行为检测和预防系统:这些系统使用机器学习和行为分析等技术,来检测和预防恶意行为,如机器人攻击、API滥用等,从而提高对API的安全性。
API审计和监控工具:这些工具可以记录和监控API的请求和响应,包括访问日志、报警系统、异常检测等,帮助及时发现和应对潜在的安全问题。
漏洞扫描工具:漏洞扫描工具可用于自动扫描和发现API中的潜在安全漏洞和弱点,并提供修复建议,从而加强对API的安全保护。
安全代码审查和静态分析工具:这些工具用于对API代码进行审查和分析,识别和纠正可能导致安全漏洞的代码问题,提高API的安全性和可靠性。
11、API 安全未来发展方向
12、参考资料
https://application.security/free-application-security-training/owasp-top-10-api-broken-user-authentication
REST API 安全设计指南:http://blog.nsfocus.net/rest-api-design-safety/
REST API 面临的 7 大安全威胁:https://www.infoq.cn/article/caq6kibpaquigfoku0up
应用程序接口(API)数据安全研究报告(2020 年):http://www.caict.ac.cn/kxyj/qwfb/ztbg/202007/P020200727599918681913.pdf
三、API 安全测试
1、测试工具
主动扫描
Ffuf
被动扫描
API安全测试方法和技术:
鉴权和授权测试:测试API的身份认证和授权机制是否正确实现,是否能有效地验证用户身份和授予合适的权限。
输入验证和过滤测试:测试API是否对输入数据进行了合适的验证和过滤,以防止常见的安全漏洞,如SQL注入、跨站点脚本攻击(XSS)等。
敏感信息泄露测试:测试API对敏感信息的处理和保护是否符合安全要求,防止敏感数据泄露、日志过度记录等问题。
访问控制和权限管理测试:测试API的访问控制机制是否有效,是否正确限制了用户和应用程序的权限,并且禁止未经授权的操作。
漏洞扫描和安全评估:使用漏洞扫描工具对API进行扫描,发现可能存在的安全漏洞和风险,并进行相应的安全评估和修复。
DoS/DDoS测试:测试API的抗拒绝服务(Denial of Service,DoS)和分布式拒绝服务(Distributed Denial of Service,DDoS)能力,确保API能够正常运行并抵御恶意攻击。
加密和数据保护测试:测试API是否使用适当的加密算法和方法来保护数据传输和存储的安全性,防止数据泄露和篡改。
异常处理和错误消息测试:测试API在处理异常情况和错误消息时的行为,防止敏感信息被暴露或提供攻击者有利的信息。
安全日志和监控测试:测试API是否正确记录和监控安全事件,确保及时发现和应对潜在的安全问题。
四、SOAP
高度安全的数据传输。SOAP 严格的消息结构,安全性和授权功能使其成为在 API 和客户端之间执行正式软件协议的最合适的选择,同时又符合 API 提供者与 API 使用者之间的法律合同。这就是为什么金融组织和其他企业用户选择适用 SOAP 的原因。
SOAP(Simple Object Access Protocol)是一种基于XML的通信协议,用于在网络上进行应用程序间的通信。它定义了一组规范和标准,使得不同平台、不同编程语言的应用程序可以通过网络进行相互通信和交互。
以下是一些关于SOAP协议的主要特点和概念:
XML格式:SOAP使用XML格式来封装和传输数据,这使得它具有平台无关性和语言无关性。XML提供了一种可扩展的和自描述的数据格式,适合用于表示复杂的数据结构和对象。
消息交换模式:SOAP是一种基于消息的通信模式,即通过发送和接收消息来实现应用程序之间的通信。每个SOAP消息由一个包含操作和参数的XML元素组成。
协议中立性:SOAP协议可以在不同的网络协议上运行,如HTTP、SMTP、FTP等。通常情况下,SOAP被包装在HTTP协议中进行传输,因为HTTP在大多数网络环境下都是可用的。
Web服务支持:SOAP被广泛用于构建Web服务,通过将业务逻辑封装为可调用的方法,提供对远程服务的访问和调用。SOAP消息可以在Web服务之间进行传递,以实现应用程序的集成和协作。
安全性支持:SOAP协议本身并不提供安全性,但可以与其他安全机制(如SSL/TLS)结合使用,以保护SOAP消息的机密性和完整性。
五、gRPC
1、基础知识
Protocol Buffers
语言无关
2、工具链
除了这些工具,gRPC还提供了一些用于跟踪和调试的支持库和插件,如grpc-debug、grpc-health-probe等。
gRPC是一个高性能、开源的远程过程调用(RPC)框架,用于构建分布式应用程序。它使用Protocol Buffers作为接口定义语言(IDL),并支持多种编程语言。
gRPC工具链包括一组工具,用于帮助开发者使用和管理gRPC服务和相关资源。下面是gRPC工具链中的一些重要工具:
protoc:protoc是gRPC的核心工具,用于将.proto文件编译成各种编程语言的源代码。通过定义接口和消息类型,protoc生成对应的客户端和服务端代码,使得开发者可以方便地使用gRPC进行远程调用。
protoc-gen-grpc:这是一个插件,用于在生成的代码中添加gRPC特定的类和方法,以支持基于gRPC的通信和服务调用。
grpc_cli:grpc_cli是一个命令行工具,用于与gRPC服务进行交互。它可以发送请求、调用服务方法,并显示响应结果。
grpcurl:grpcurl是另一个命令行工具,用于与gRPC服务进行交互和测试。它可以发送请求、显示服务的元数据,并支持自定义请求头和认证。
grpcwebproxy:grpcwebproxy是一个反向代理服务器,用于将gRPC请求转换为HTTP/1.1请求,以便在不支持原生gRPC的浏览器中访问gRPC服务。它可以作为一个独立的服务器运行,或者与现有的HTTP服务器集成。
3、调用流程
4、开发流程
编写.proto文件,生成指定语言源代码
编写服务端代码
编写客户端代码
5、参考资料
https://www.liwenzhou.com/posts/Go/gRPC/
六、oData
一种Restful风格Api的标准化协议
OData(Open Data Protocol)是一种基于Web标准的开放协议,用于创建和使用RESTful风格的数据服务。它通过HTTP协议提供了一种统一的方式来对数据进行查询、操作和导航,使得不同平台和技术栈的应用程序可以方便地访问和共享数据。
下面是关于OData的一些重要概念和特点:
RESTful架构:OData遵循RESTful架构原则,将数据和操作封装为资源,并通过HTTP方法(如GET、POST、PUT、DELETE)进行访问和操作。每个资源都有一个唯一的URL地址,可以通过URL进行检索、筛选、排序等操作。
数据模型:OData使用实体模型来描述和表示数据资源。实体模型使用元数据(Metadata)来定义实体类型、属性和关系。元数据可以通过特定的URL获得,包含对数据模型的描述信息和结构。
查询语言:OData提供了一种类似SQL的查询语言,称为OData查询语言(OData Query Language)。它支持丰富的查询操作,如过滤(Filter)、排序(Order by)、分页(Skip、Top)、计数(Count)、扩展(Expand)等。
统一接口:OData定义了一组统一的HTTP方法和URL约定,用于执行CRUD操作(创建、读取、更新、删除)。例如,使用GET方法访问实体集合的URL可以获取实体集合的内容,使用POST方法可以向实体集合添加新的实体。
可扩展性:OData允许开发者自定义和扩展数据服务的行为和功能。通过自定义查询方法、操作方法和函数,可以增加特定领域的业务逻辑和数据处理能力。
格式支持:OData支持多种数据格式,如JSON(默认)、XML和Atom。开发者可以根据需要选择合适的数据格式进行数据的传输和交换。
1、包含部分
模型
定义数据结构
协议
CRUDQ
数据传输格式
客户端库
服务
服务文档
服务元文档
2、参考资料
https://my.oschina.net/u/4273197/blog/4308716
七、GraphQL
1、基本概念
什么是GraphQL
API查询语言
2、属性
操作类型
查询
变更 mutation
订阅 subscription
类型 Type
对象 Object
标量 Scalar
模式 schema
描述数据逻辑
对象合集
查询入口
解析 Resolver
描述接口中每个Query的解析逻辑
3、特性
准确获取数据
只有一个对外接口,单路由
清晰的辅助性错误信息
API演进无需划分版本(为了方便,可能会造成问题)
后段增加字段前端无感
对比Restful
没有过多依赖HTTP协议
自己有一套解析引擎
内省
__schema 查询所有对象
__type 查询指定对象的所有字段
内置接口文档
废弃
4、执行流程
查询
解析
验证
执行
5、攻击面及防御方式
信息泄露
错误配置导致内省可被外部访问
废弃字段利用
指定includeDeprecated参数为true,__type仍然可以将废弃字段暴露出来
身份认证和权限控制不当
越权
防御
业务层做权限控制
中间加权限校验层
嵌套查询拒绝服务
防御
限制嵌套深度
前端安全
CSRF
修改
Clickjacking
注入
sql注入
命令执行
XSS
防御
参数化查询
DEBUG模式
信息泄露
只是个接口,依旧会有传统的安全问题
6、认证方式
RESTful开放认证接口
后续GraphQL查询时带上token
GraphQL认证
Resolver中添加认证逻辑
7、权限控制
在业务层实现权限控制
在GraphQL中实现权限控制
Resolver中实现
8、软件生态
实现
GraphQL软件生态系统提供了各种工具和库,用于开发、测试和管理GraphQL API。从服务器端框架到客户端库,从数据库集成到开发者工具,开发者可以根据需要选择合适的工具来构建和维护GraphQL API。这些工具和库共同促进了GraphQL的普及和广泛应用。
GraphQL是一种用于API开发的查询语言和运行时。它为客户端提供了一种灵活、高效且类型安全的方式来获取所需的数据。GraphQL有一个丰富的软件生态系统,提供了各种工具和库,用于开发、测试和管理GraphQL API。
下面是GraphQL软件生态中的一些重要组成部分:
GraphQL服务器端框架:有很多流行的GraphQL服务器端框架可供选择,如Apollo Server、Graphene、Nexus等。这些框架提供了构建和运行GraphQL API所需的核心功能,包括解析请求、执行查询、类型验证等。
客户端库和框架:为了便捷地使用GraphQL API,开发者可以使用一些客户端库和框架,如Apollo Client、Relay、urql等。这些工具提供了在各种平台(Web、移动等)上与GraphQL API进行交互的功能,包括查询构建、缓存管理、数据预取等。
数据库集成:GraphQL需要与后端数据库进行集成,以实现数据的持久化和查询。一些常见的数据库集成库包括Prisma、PostGraphile、Hasura等。它们提供了将数据库模型映射到GraphQL模式的功能,并自动生成相应的查询和变更操作。
开发者工具:GraphQL提供了一些开发者工具,用于调试、分析和测试GraphQL API。例如,GraphQL Playground是一个流行的可视化IDE,用于在浏览器中与GraphQL API进行交互和调试。还有其他工具如GraphiQL、Altair等。
扩展和插件:GraphQL提供了一种扩展机制,允许开发者根据需要添加自定义指令、类型和操作。一些插件和扩展库,如GraphQL Shield、GraphQL Modules等,为开发者提供了更高级的功能,如权限控制、模块化组织等。
托管服务:对于小型项目或快速原型,可以使用托管服务来部署和管理GraphQL API。一些托管服务提供商,如Apollo Graph Manager、AWS AppSync等,简化了API的部署、监控和性能优化。
工具
GraphiQL
ChromeiQL 插件
9、参考资料
官方文档:https://graphql.cn/learn/
GraphQL 入门看这篇就够了:https://chinese.freecodecamp.org/news/a-detailed-guide-to-graphql/
GraphQL安全指北:https://www.freebuf.com/articles/web/184040.html
比较详细
玩转graphQL:https://mp.weixin.qq.com/s/gp2jGrLPllsh5xn7vn9BwQ
攻击GraphQLPPT:https://xzfile.aliyuncs.com/upload/zcon/2018/7_%E6%94%BB%E5%87%BBGraphQL_phithon.pdf
八、云原生条件下的Api安全
1、安全方面
基础设施层API安全(容器集群、VM底层的组件通信)
应用层API安全(应用代码业务逻辑涉及的API)
SaaS化云产品API(云数据库、中间件、消息服务、云计算平台等)
云平台运维与管控API(云平台管理员的人为操作与机器操作)
2、防护方案
南北向流量防护
东西向流量防护
九、常见RPC框架支持的数据协议
远程过程调用(Remote Procedure Call),它是一种计算机通信协议,允许一个计算机程序调用另一个计算机上的子程序,而无需了解底层网络细节。通过RPC,一个计算机程序可以像调用本地程序一样调用远程程序,使得分布式应用程序的开发更加简单和高效。
在RPC中,调用者发送一个请求消息到远程主机,远程主机收到请求后执行相应的程序,并将结果返回给调用者。RPC通过序列化数据传输协议将数据打包并进行网络传输,常见的序列化协议有JSON、Protobuf、Thrift等。RPC通常使用TCP或UDP作为底层传输协议。
RPC架构设计需要考虑以下几个方面:
接口设计:RPC的基础是远程调用,因此接口设计是关键。接口应该设计清晰、简洁、易于理解,并且具有良好的扩展性和兼容性。
通信协议:RPC的通信协议需要支持高效的数据传输和序列化,同时也需要支持可靠性和安全性等方面的需求。常用的通信协议有HTTP、TCP、UDP等。
数据传输格式:RPC通信的数据需要进行序列化和反序列化。常见的序列化格式有JSON、Protobuf、Thrift等。选用合适的数据传输格式可以提高RPC的性能和扩展性。
负载均衡和容错处理:在分布式系统中,服务的负载均衡和容错处理是必不可少的。RPC架构需要考虑如何实现负载均衡和容错处理,例如使用负载均衡算法、使用备用服务等。
安全性和可靠性:在RPC架构中,数据的安全性和可靠性也是非常重要的。需要考虑如何保证数据传输的安全性和可靠性,例如使用加密协议、数据压缩等。
十、扫描器技术可能遇到的问题
接口怎么获取
api文档
参数怎么获取
api文档
api的通信方式
api的数据协议
Springboot分版本
————————————————