大型 Java 业务系统在不同部署环境中同时使用 Elasticsearch 6.8.23 与 7.10.2,原有业务模块直接依赖高级客户端,升级成本高、认证方式不统一。本项目旨在提供统一访问层,降低多版本兼容和批量迁移成本。
点击空白处退出提示
大型 Java 业务系统在不同部署环境中同时使用 Elasticsearch 6.8.23 与 7.10.2,原有业务模块直接依赖高级客户端,升级成本高、认证方式不统一。本项目旨在提供统一访问层,降低多版本兼容和批量迁移成本。
项目提供统一的搜索、聚合、写入、删除、批量与滚动查询接口;支持兼容旧 DSL 的便捷入口和结构化请求、响应接口;通过 Spring Boot 自动装配接入业务模块,从 Nacos 读取集群地址、版本、认证、超时及 SSL 配置,并按 ES6、ES7 自动路由适配器;同时兼容普通 HTTP/HTTPS 与 Kerberos、SPNEGO、JAAS 认证。
我负责现状扫描、接口抽象、ES6/ES7 差异封装、认证冲突排查、业务模块批量迁移以及 Maven 编译验收。技术栈包括 Java、Spring Boot、Elasticsearch Low Level REST Client、Nacos、Kerberos、SPNEGO、JAAS。通过 Gateway 与版本适配器模式隔离端点、类型和响应差异,保留旧查询 DSL 的使用方式,减少迁移改造量并避免业务层继续直接依赖高级客户端。



评论