nacos和apollo实现对比
nacos
架构
- client -> server <- admin。
- 服务端持久化可简化为内置的Derby内存数据库。
配置更新
- HTTP从server长轮询拉配置。请求延时阻塞在服务端队列中。
- 服务端task扫到key的更新,变更后的配置写入响应对象,返回结果。
- 没有变更阻塞29.5s后(客户端超时30s)检查配置,检查结果写入响应对象,返回结果。
- 客户端检查配置的md5,不一致调用listener通知变更事件。
概念
- nacos配置层级和项目对应关系:
apollo
架构
- 最简部署架构。
- 分布式架构。
配置更新
- 服务端定期扫更新配置
- releaseMessage实现方式:
- admin server写mysql表。
- config server的task扫更新记录。
- releaseMessage实现方式:
- 客户端缓冲配置(内存+文件)。
- 推送实现方式:同nacos http长轮询。
对比
apollo | nacos | |
---|---|---|
推送方式 | HTTP长轮询 | HTTP长轮询 |
客户端存储 | 内存+文件 | 内存+文件 |
最小部署 | config+admin+portal+mysql | sever+内嵌db或mysql |
权限管理 | 复杂 | 简单 |