好一段时间没写记录了。
前段时间做了一个使用elasticsearch的业务,现在记录一下。虽然是第一次接触ES,但是感觉很有意思也颇具挑战性。
业务是在用户权限管理模块做一个用户行为的记录,之前用户行为是记录在mysql中的,现在要把这部分的数据放入到es,因为数量很大。一开始为了熟悉es的使用,是先用原生的java client连接es,方法就是在官网文档中找具体调用什么方法;后来进行重构调用已有的搜索模块api,其实就是封装好的java client. 调用其他微服务也是使用的封装好的方法。
api的具体地址也是配置在nacos上。最重要的一个文件是bootstrap.yml,这个的文件名是不能改的,里面配置了nacos(或者是配置其他.yml文件)所有的配置文件会合到一起。通过@ConfigurationProperties(prefix ="app") 来匹配到app:下的配置项。项目中需要调用其他微服务的方法都放到HttpService中统一。
这个工具方法使用了范型来适配多种情况,范型的使用我还不太熟悉,还需补充学习。
TODO: 近期想到但是不是很明白的
1. socket编程是所有后端框架的底层实现么?以及多路复用
2. 在idea里现在能起电商的docker容器了,而且修改代码网站能实时变动,但是同样的配置服务器就失败,找不到启动类
3. java 注解,反射,动态代理这一块基础很差