- capricorn摩羯座是半羊半鱼,符合本工程的C/S架构(强行找借口,其实就是老子喜欢摩羯座,不服你tm来打我啊~)
- 自动监测云机的存活状态,不可用云机定时自动反馈到云机厂商的接口,并且提供了查询不可用云机的接口
- 本工程可以作为学习netty的案例,尤其是心跳、重连等功能
- 其中一些工具类很有价值,尤其是监测netty堆外内存的工具类
- 工作中需要使用服务商提供的几千台adsl机器(和云机比,就是能拨号,因此公网ip是变的),但是这些机器经常就因为访问不了外网等原因无法正常工作
- 因为公网ip不固定,所以需要客户端和服务端通过心跳保持长连接,在服务端统计哪些机器的连接一直是断的,判断机器已死
- 服务商提供的adsl机器保证内网ip唯一,所以使用内网ip作为机器的唯一标识
- 使用netty实现心跳和重连,整个工程使用spring-boot作为基础框架,服务端使用tomcat提供查询接口(其实也可以用netty做减少jar包大小和内存占用,我图方便了)
- netty和spring-boot的搭配使用很优雅
- 安利一波okhttp,比httpclient好用的多,源码也好看
- netty的使用很优雅,有很多优化点
- 其中有很多可以随抄随用的工具类,比如FileWatchdog、DirectMemReporter等(比如FileWatchdog用jdk8的WatchService比之前的轮训检测配置文件变化更好,待开发)
- 因为本工程核心框架是netty,所以只使用了spring-boot的基本功能,spring-boot的很多配置都没配,但是一些基础配置还是挺规范的,比如logback的配置,maven和yml多环境的配合