# FPNN 功能介绍

**FPNN一句话总结：**

+ **客户端**：一个API解决所有操作
+ **服务器**：一个类继承解决所有 RPC、同步/异步、编码/解码、TCP/UDP 问题

## 功能列表

### 1. 协议

* 支持 IPv4
* 支持 IPv6
* 支持 TCP 二进制私有协议
* 支持 UDP 二进制私有协议
* 支持可靠 UDP 链接
* 支持可靠/不可靠 UDP 数据混合发送
* 支持 HTTP 1.1 (选择性支持)
* 支持 WebSocket
* 支持 SSL/TLS
* 支持 msgpack 编码
* 支持 Json 格式
* 支持 可选参数
* 支持 不定类型参数
* 支持 不定长度不定类型参数
* 支持 接口灰度兼容
* 支持 TCP 二进制私有协议和 HTTP Json 格式互转

### 2. 系统功能

* 支持 Server Push
* 支持 异步操作
* 支持 同步操作
* 支持 Lambda 函数
* 支持 动态调整系统级参数
* 支持 动态调整框架级参数
* 支持 实时查看服务运行状态
* 支持 实时查看各参数状态
* 支持 failover
* 支持 统一 Log 汇总
* 支持 优雅退出
* 支持 统一处理异常
* 支持 同一端口多种协议(TCP/HTTP/WebSocket)
* 支持 应答提前返回
* 支持 应答异步返回
* 支持 请求响应时间统计
* 支持 QPS 统计
* 支持 慢请求统计
* 支持 优先执行系统内置命令

### 3. 系统安全

* 支持 AES 加密
* 支持 ECDH 秘钥交换
* 支持 128 位或 256 位秘钥
* 支持 SSL/TLS
* 支持 IP 白名单
* 支持 IP 段白名单
* 支持 访问用户自定义接口时的加密限制
* 支持 访问用户自定义接口时的内网限制

### 4. 技术生态

在 FPNN 技术生态中，提供以下功能

* 支持 集群注册
* 支持 集群管理
* 支持 数据协调
* 支持 数据同步
* 支持 大规模分布式测试部署、监控、协调
* 支持 FPNN 集群透明代理
* 支持 MySQL 透明代理
* 支持 数据行级缓存
